]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
Merge branch 'master' of git://git.denx.de/u-boot-arm
authorStefano Babic <sbabic@denx.de>
Mon, 11 Aug 2014 08:21:03 +0000 (10:21 +0200)
committerStefano Babic <sbabic@denx.de>
Mon, 11 Aug 2014 08:21:03 +0000 (10:21 +0200)
Conflicts:
boards.cfg

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

index 0ace33bd616e1bb70b0df30370eb7b32ad09931d..a40c277105ea65efe81a70c53715099adf6d2548 100644 (file)
@@ -34,6 +34,7 @@
 /SPL
 /System.map
 /u-boot*
+/boards.cfg
 
 #
 # git files that we don't want to ignore even it they are dot-files
@@ -53,8 +54,6 @@
 #
 /include/config/
 /include/generated/
-/include/spl-autoconf.mk
-/include/tpl-autoconf.mk
 
 # stgit generated dirs
 patches-*
diff --git a/Kconfig b/Kconfig
new file mode 100644 (file)
index 0000000..9e77a6e
--- /dev/null
+++ b/Kconfig
@@ -0,0 +1,65 @@
+#
+# 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"
+
+config DEFCONFIG_LIST
+       string
+       depends on !SPL_BUILD
+       option defconfig_list
+       default "configs/sandbox_defconfig"
+
+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 "Enable SPL" if !SPL_BUILD
+       default y if SPL_BUILD
+       help
+         If you want to build SPL as well as the normal image, say Y.
+
+config TPL
+       bool
+       depends on SPL
+       prompt "Enable TPL" if !SPL_BUILD
+       default y if TPL_BUILD
+       default n
+       help
+         If you want to build TPL as well as the normal image and SPL, say Y.
+
+config SYS_EXTRA_OPTIONS
+       string "Extra Options (DEPRECATED)"
+       depends on !SPL_BUILD
+       help
+         The old configuration infrastructure (= mkconfig + boards.cfg)
+         provided the extra options field. It you have something like
+         "HAS_BAR,BAZ=64", the optional options
+           #define CONFIG_HAS
+           #define CONFIG_BAZ  64
+         will be defined in include/config.h.
+         This option was prepared for the smooth migration from the old
+         configuration to Kconfig. Since this option will be removed sometime,
+         new boards should not use this option.
+
+endmenu                # General setup
+
+source "arch/Kconfig"
diff --git a/MAKEALL b/MAKEALL
index 020e65fdc8fc5432624b3ee6449d56a6ac36cb07..929fe884c54d73b2f7ca2badb807c75fca9d42fc 100755 (executable)
--- a/MAKEALL
+++ b/MAKEALL
@@ -162,9 +162,23 @@ while true ; do
                echo "Internal error!" >&2 ; exit 1 ;;
        esac
 done
+
+GNU_MAKE=$(scripts/show-gnu-make) || {
+       echo "GNU Make not found" >&2
+       exit 1
+}
+
 # echo "Remaining arguments:"
 # for arg do echo '--> '"\`$arg'" ; done
 
+if [ ! -r boards.cfg ]; then
+       echo "Could not find boards.cfg"
+       tools/genboardscfg.py || {
+               echo "Failed to generate boards.cfg" >&2
+               exit 1
+       }
+fi
+
 FILTER="\$1 !~ /^#/"
 [ "$opt_a" ] && FILTER="${FILTER} && $opt_a"
 [ "$opt_c" ] && FILTER="${FILTER} && $opt_c"
@@ -506,9 +520,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
@@ -633,11 +647,11 @@ build_target() {
        target_arch=$(get_target_arch ${target})
        eval cross_toolchain=\$CROSS_COMPILE_`echo $target_arch | tr '[:lower:]' '[:upper:]'`
        if [ "${cross_toolchain}" ] ; then
-           MAKE="make CROSS_COMPILE=${cross_toolchain}"
+           MAKE="$GNU_MAKE CROSS_COMPILE=${cross_toolchain}"
        elif [ "${CROSS_COMPILE}" ] ; then
-           MAKE="make CROSS_COMPILE=${CROSS_COMPILE}"
+           MAKE="$GNU_MAKE CROSS_COMPILE=${CROSS_COMPILE}"
        else
-           MAKE=make
+           MAKE=$GNU_MAKE
        fi
 
        if [  "${output_dir}" != "." ] ; then
@@ -645,7 +659,9 @@ build_target() {
        fi
 
        ${MAKE} distclean >/dev/null
-       ${MAKE} -s ${target}_config
+
+       echo "Building ${target} board..."
+       ${MAKE} -s ${target}_defconfig >/dev/null
 
        ${MAKE} ${JOBS} ${CHECK} all \
                >${LOG_DIR}/$target.MAKELOG 2> ${LOG_DIR}/$target.ERR
index 80eb239d93929be40b638d4bd4c81c68deb18f0e..666d291137c6f7e4950ffee9ce875845ab283f84 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -6,9 +6,9 @@
 #
 
 VERSION = 2014
-PATCHLEVEL = 07
+PATCHLEVEL = 10
 SUBLEVEL =
-EXTRAVERSION =
+EXTRAVERSION = -rc1
 NAME =
 
 # *DOCUMENTATION*
@@ -166,9 +166,6 @@ 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
 
@@ -189,9 +186,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 +193,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; \
@@ -341,6 +338,7 @@ OBJCOPY             = $(CROSS_COMPILE)objcopy
 OBJDUMP                = $(CROSS_COMPILE)objdump
 AWK            = awk
 PERL           = perl
+PYTHON         = python
 DTC            = dtc
 CHECK          = sparse
 
@@ -362,7 +360,7 @@ export VERSION PATCHLEVEL SUBLEVEL UBOOTRELEASE UBOOTVERSION
 export ARCH 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
+export MAKE AWK PERL PYTHON
 export HOSTCXX HOSTCXXFLAGS DTC CHECK CHECKFLAGS
 
 export KBUILD_CPPFLAGS NOSTDINC_FLAGS UBOOTINCLUDE OBJCOPYFLAGS LDFLAGS
@@ -460,31 +458,49 @@ ifeq ($(config-targets),1)
 # *config targets only - make sure prerequisites are updated, and descend
 # in scripts/kconfig to make the *config target
 
-# Read arch specific Makefile to set KBUILD_DEFCONFIG as needed.
-# KBUILD_DEFCONFIG may point out an alternative default configuration
-# used for 'make defconfig'
+KBUILD_DEFCONFIG := sandbox_defconfig
+export KBUILD_DEFCONFIG KBUILD_KCONFIG
 
-%_config:: outputmakefile
-       @$(MKCONFIG) -A $(@:_config=)
+config: scripts_basic outputmakefile FORCE
+       +$(Q)$(PYTHON) $(srctree)/scripts/multiconfig.py $@
+
+%config: scripts_basic outputmakefile FORCE
+       +$(Q)$(PYTHON) $(srctree)/scripts/multiconfig.py $@
 
 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)$(MAKE) -f $(srctree)/Makefile silentoldconfig
+
 -include include/autoconf.mk
 -include include/autoconf.mk.dep
 
-# load other configuration
+# We want to include arch/$(ARCH)/config.mk 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 config.mk would be included leading nasty warnings/errors.
+autoconf_is_current := $(if $(wildcard $(KCONFIG_CONFIG)),$(shell find . \
+               -path ./include/config/auto.conf -newer $(KCONFIG_CONFIG)))
+ifneq ($(autoconf_is_current),)
 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
@@ -513,8 +529,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
@@ -563,7 +579,8 @@ KBUILD_CFLAGS += $(KCFLAGS)
 UBOOTINCLUDE    := \
                -Iinclude \
                $(if $(KBUILD_SRC), -I$(srctree)/include) \
-               -I$(srctree)/arch/$(ARCH)/include
+               -I$(srctree)/arch/$(ARCH)/include \
+               -include $(srctree)/include/linux/kconfig.h
 
 NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
 CHECKFLAGS     += $(NOSTDINC_FLAGS)
@@ -1024,7 +1041,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)
 
 
@@ -1042,8 +1059,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; \
@@ -1053,7 +1070,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."
@@ -1095,29 +1113,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
@@ -1141,7 +1136,7 @@ spl/sunxi-spl.bin: spl/u-boot-spl
        @:
 
 tpl/u-boot-tpl.bin: tools prepare
-       $(Q)$(MAKE) obj=tpl -f $(srctree)/scripts/Makefile.spl all CONFIG_TPL_BUILD=y
+       $(Q)$(MAKE) obj=tpl -f $(srctree)/scripts/Makefile.spl all
 
 TAG_SUBDIRS := $(patsubst %,$(srctree)/%,$(u-boot-dirs) include)
 
@@ -1216,20 +1211,18 @@ 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  += spl tpl
+CLOBBER_DIRS  += $(foreach d, spl tpl, $(patsubst %,$d/%, \
+                       $(filter-out include, $(shell ls -1 $d 2>/dev/null))))
 CLOBBER_FILES += u-boot* MLO* SPL System.map
 
 # Directories & files removed with 'make mrproper'
-MRPROPER_DIRS  += include/config include/generated          \
+MRPROPER_DIRS  += include/config include/generated spl tpl \
                  .tmp_objdiff
-MRPROPER_FILES += .config .config.old \
-                 ctags etags cscope* GPATH GTAGS GRTAGS GSYMS \
-                 include/config.h include/config.mk
+MRPROPER_FILES += .config .config.old include/autoconf.mk* include/config.h \
+                 ctags etags TAGS cscope* GPATH GTAGS GRTAGS GSYMS
 
 # clean - Delete most, but leave enough to build external modules
 #
@@ -1306,10 +1299,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/README b/README
index cdccae995392afdd649f5dee338a1a23358f478c..5928495d188a1fa550552b06c17a2d5a896e4f74 100644 (file)
--- a/README
+++ b/README
@@ -252,15 +252,15 @@ Selection of Processor Architecture and Board Type:
 ---------------------------------------------------
 
 For all supported boards there are ready-to-use default
-configurations available; just type "make <board_name>_config".
+configurations available; just type "make <board_name>_defconfig".
 
 Example: For a TQM823L module type:
 
        cd u-boot
-       make TQM823L_config
+       make TQM823L_defconfig
 
 For the Cogent platform, you need to specify the CPU type as well;
-e.g. "make cogent_mpc8xx_config". And also configure the cogent
+e.g. "make cogent_mpc8xx_defconfig". And also configure the cogent
 directory according to the instructions in cogent/README.
 
 
@@ -2601,6 +2601,10 @@ CBFS (Coreboot Filesystem) support
                Enables the driver for the SPI controllers on i.MX and MXC
                SoCs. Currently i.MX31/35/51 are supported.
 
+               CONFIG_SYS_SPI_MXC_WAIT
+               Timeout for waiting until spi transfer completed.
+               default: (CONFIG_SYS_HZ/100)     /* 10 ms */
+
 - FPGA Support: CONFIG_FPGA
 
                Enables FPGA subsystem.
@@ -3767,6 +3771,9 @@ Configuration Settings:
                Pre-relocation malloc() is only supported on sandbox
                at present but is fairly easy to enable for other archs.
 
+               Pre-relocation malloc() is only supported on ARM at present
+               but is fairly easy to enable for other archs.
+
 - CONFIG_SYS_BOOTM_LEN:
                Normally compressed uImages are limited to an
                uncompressed size of 8 MBytes. If this is not enough,
@@ -4855,9 +4862,9 @@ U-Boot is intended to be simple to build. After installing the
 sources you must configure U-Boot for one specific board type. This
 is done by typing:
 
-       make NAME_config
+       make NAME_defconfig
 
-where "NAME_config" is the name of one of the existing configu-
+where "NAME_defconfig" is the name of one of the existing configu-
 rations; see boards.cfg for supported names.
 
 Note: for some board special configuration names may exist; check if
@@ -4866,10 +4873,10 @@ Note: for some board special configuration names may exist; check if
       or with LCD support. You can select such additional "features"
       when choosing the configuration, i. e.
 
-      make TQM823L_config
+      make TQM823L_defconfig
        - will configure for a plain TQM823L, i. e. no LCD support
 
-      make TQM823L_LCD_config
+      make TQM823L_LCD_defconfig
        - will configure for a TQM823L with U-Boot console on LCD
 
       etc.
@@ -4889,14 +4896,14 @@ this behavior and build U-Boot to some external directory:
 1. Add O= to the make command line invocations:
 
        make O=/tmp/build distclean
-       make O=/tmp/build NAME_config
+       make O=/tmp/build NAME_defconfig
        make O=/tmp/build all
 
 2. Set environment variable BUILD_DIR to point to the desired location:
 
        export BUILD_DIR=/tmp/build
        make distclean
-       make NAME_config
+       make NAME_defconfig
        make all
 
 Note that the command line "O=" setting overrides the BUILD_DIR environment
@@ -4922,7 +4929,7 @@ steps:
     your board
 3.  If you're porting U-Boot to a new CPU, then also create a new
     directory to hold your CPU specific code. Add any files you need.
-4.  Run "make <board>_config" with your new name.
+4.  Run "make <board>_defconfig" with your new name.
 5.  Type "make", and you should get a working "u-boot.srec" file
     to be installed on your target system.
 6.  Debug and solve any problems that might arise.
@@ -5502,7 +5509,7 @@ which was introduced for our predecessor project PPCBoot and uses a
 
 Example:
 
-       make TQM850L_config
+       make TQM850L_defconfig
        make oldconfig
        make dep
        make uImage
diff --git a/arch/Kconfig b/arch/Kconfig
new file mode 100644 (file)
index 0000000..8620a4f
--- /dev/null
@@ -0,0 +1,66 @@
+choice
+       prompt "Architecture select"
+       default SANDBOX
+
+config ARC
+       bool "ARC architecture"
+
+config ARM
+       bool "ARM architecture"
+
+config AVR32
+       bool "AVR32 architecture"
+
+config BLACKFIN
+       bool "Blackfin architecture"
+
+config M68K
+       bool "M68000 architecture"
+
+config MICROBLAZE
+       bool "MicroBlaze architecture"
+
+config MIPS
+       bool "MIPS architecture"
+
+config NDS32
+       bool "NDS32 architecture"
+
+config NIOS2
+       bool "Nios II architecture"
+
+config OPENRISC
+       bool "OpenRISC architecture"
+
+config PPC
+       bool "PowerPC architecture"
+
+config SANDBOX
+       bool "Sandbox"
+
+config SH
+       bool "SuperH architecture"
+
+config SPARC
+       bool "SPARC architecture"
+
+config X86
+       bool "x86 architecture"
+
+endchoice
+
+source "arch/arc/Kconfig"
+source "arch/arm/Kconfig"
+source "arch/avr32/Kconfig"
+source "arch/blackfin/Kconfig"
+source "arch/m68k/Kconfig"
+source "arch/microblaze/Kconfig"
+source "arch/mips/Kconfig"
+source "arch/nds32/Kconfig"
+source "arch/nios2/Kconfig"
+source "arch/openrisc/Kconfig"
+source "arch/powerpc/Kconfig"
+source "arch/sandbox/Kconfig"
+source "arch/sh/Kconfig"
+source "arch/sparc/Kconfig"
+source "arch/x86/Kconfig"
diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig
new file mode 100644 (file)
index 0000000..51d5aff
--- /dev/null
@@ -0,0 +1,29 @@
+menu "ARC architecture"
+       depends on ARC
+
+config SYS_ARCH
+       string
+       default "arc"
+
+choice
+       prompt "Target select"
+
+config TARGET_TB100
+       bool "Support tb100"
+
+config TARGET_ARCANGEL4
+       bool "Support arcangel4"
+
+config TARGET_ARCANGEL4_BE
+       bool "Support arcangel4-be"
+
+config TARGET_AXS101
+       bool "Support axs101"
+
+endchoice
+
+source "board/abilis/tb100/Kconfig"
+source "board/synopsys/Kconfig"
+source "board/synopsys/axs101/Kconfig"
+
+endmenu
index a3b8df779e98fad2d433c9bbf511a3386642d668..e408800a919b36bc4bd64252c6b4b4602bf62118 100644 (file)
@@ -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/Kconfig b/arch/arm/Kconfig
new file mode 100644 (file)
index 0000000..e385eda
--- /dev/null
@@ -0,0 +1,1002 @@
+menu "ARM architecture"
+       depends on ARM
+
+config SYS_ARCH
+       string
+       default "arm"
+
+choice
+       prompt "Target select"
+
+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_EB_CPUX9K2
+       bool "Support eb_cpux9k2"
+
+config TARGET_CPUAT91
+       bool "Support cpuat91"
+
+config TARGET_EDB93XX
+       bool "Support edb93xx"
+
+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
+       bool "Support at91sam9260ek"
+
+config TARGET_AT91SAM9261EK
+       bool "Support at91sam9261ek"
+
+config TARGET_AT91SAM9263EK
+       bool "Support at91sam9263ek"
+
+config TARGET_AT91SAM9M10G45EK
+       bool "Support at91sam9m10g45ek"
+
+config TARGET_AT91SAM9N12EK
+       bool "Support at91sam9n12ek"
+
+config TARGET_AT91SAM9RLEK
+       bool "Support at91sam9rlek"
+
+config TARGET_AT91SAM9X5EK
+       bool "Support at91sam9x5ek"
+
+config TARGET_SNAPPER9260
+       bool "Support snapper9260"
+
+config TARGET_VL_MA2SC
+       bool "Support vl_ma2sc"
+
+config TARGET_SBC35_A9G20
+       bool "Support sbc35_a9g20"
+
+config TARGET_TNY_A9260
+       bool "Support tny_a9260"
+
+config TARGET_USB_A9263
+       bool "Support usb_a9263"
+
+config TARGET_ETHERNUT5
+       bool "Support ethernut5"
+
+config TARGET_TOP9000
+       bool "Support top9000"
+
+config TARGET_MEESC
+       bool "Support meesc"
+
+config TARGET_OTC570
+       bool "Support otc570"
+
+config TARGET_CPU9260
+       bool "Support cpu9260"
+
+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_TAURUS
+       bool "Support taurus"
+
+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_DA850EVM
+       bool "Support da850evm"
+
+config TARGET_HAWKBOARD
+       bool "Support hawkboard"
+
+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_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_LSXL
+       bool "Support lsxl"
+
+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_NET2BIG_V2
+       bool "Support net2big_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_OPENRD
+       bool "Support openrd"
+
+config TARGET_RD6281A
+       bool "Support rd6281a"
+
+config TARGET_SHEEVAPLUG
+       bool "Support sheevaplug"
+
+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_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_OMAP5912OSK
+       bool "Support omap5912osk"
+
+config TARGET_EDMINIV2
+       bool "Support edminiv2"
+
+config TARGET_DKB
+       bool "Support dkb"
+
+config TARGET_SPEAR300
+       bool "Support spear300"
+
+config TARGET_SPEAR310
+       bool "Support spear310"
+
+config TARGET_SPEAR320
+       bool "Support spear320"
+
+config TARGET_SPEAR600
+       bool "Support spear600"
+
+config TARGET_X600
+       bool "Support x600"
+
+config TARGET_VERSATILEAB
+       bool "Support versatileab"
+
+config TARGET_VERSATILEPB
+       bool "Support versatilepb"
+
+config TARGET_VERSATILEQEMU
+       bool "Support versatileqemu"
+
+config TARGET_INTEGRATORCP_CM1136
+       bool "Support integratorcp_cm1136"
+
+config TARGET_IMX31_PHYCORE
+       bool "Support imx31_phycore"
+
+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_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
+       bool "Support tseries"
+
+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
+       bool "Support pcm051"
+
+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_EVM
+       bool "Support am335x_evm"
+
+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
+       bool "Support sama5d3_xplained"
+
+config TARGET_SAMA5D3XEK
+       bool "Support sama5d3xek"
+
+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_PEACH_PIT
+       bool "Support peach-pit"
+
+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_K2E_EVM
+       bool "Support k2e_evm"
+
+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_VISION2
+       bool "Support vision2"
+
+config TARGET_UDOO
+       bool "Support udoo"
+
+config TARGET_WANDBOARD
+       bool "Support wandboard"
+
+config TARGET_TITANIUM
+       bool "Support titanium"
+
+config TARGET_NITROGEN6X
+       bool "Support nitrogen6x"
+
+config TARGET_CGTQMX6EVAL
+       bool "Support cgtqmx6eval"
+
+config TARGET_EMBESTMX6BOARDS
+       bool "Support embestmx6boards"
+
+config TARGET_MX6QARM2
+       bool "Support mx6qarm2"
+
+config TARGET_MX6QSABREAUTO
+       bool "Support mx6qsabreauto"
+
+config TARGET_MX6SABRESD
+       bool "Support mx6sabresd"
+
+config TARGET_MX6SLEVK
+       bool "Support mx6slevk"
+
+config TARGET_GW_VENTANA
+       bool "Support gw_ventana"
+
+config TARGET_HUMMINGBOARD
+       bool "Support hummingboard"
+
+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_MCX
+       bool "Support mcx"
+
+config TARGET_OMAP3_IGEP00X0
+       bool "Support omap3_igep00x0"
+
+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_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_OMAP5_UEVM
+       bool "Support omap5_uevm"
+
+config TARGET_ARMADILLO_800EVA
+       bool "Support armadillo-800eva"
+
+config TARGET_KZM9G
+       bool "Support kzm9g"
+
+config TARGET_ALT
+       bool "Support alt"
+
+config TARGET_KOELSCH
+       bool "Support koelsch"
+
+config TARGET_LAGER
+       bool "Support lager"
+
+config TARGET_S5P_GONI
+       bool "Support s5p_goni"
+
+config TARGET_SMDKC100
+       bool "Support smdkc100"
+
+config TARGET_SOCFPGA_CYCLONE5
+       bool "Support socfpga_cyclone5"
+
+config TARGET_SUN4I
+       bool "Support sun4i"
+
+config TARGET_SUN5I
+       bool "Support sun5i"
+
+config TARGET_SUN7I
+       bool "Support sun7i"
+
+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
+       bool "Support zynq_zc770"
+
+config TARGET_ZYNQ_ZED
+       bool "Support zynq_zed"
+
+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_DALMORE
+       bool "Support dalmore"
+
+config TARGET_JETSON_TK1
+       bool "Support jetson-tk1"
+
+config TARGET_VENICE2
+       bool "Support venice2"
+
+config TARGET_VEXPRESS_AEMV8A
+       bool "Support vexpress_aemv8a"
+
+config TARGET_VEXPRESS_AEMV8A_SEMI
+       bool "Support vexpress_aemv8a_semi"
+
+config TARGET_LS2085A_EMU
+       bool "Support ls2085a_emu"
+
+config TARGET_LS2085A_SIMU
+       bool "Support ls2085a_simu"
+
+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_VPAC270
+       bool "Support vpac270"
+
+config TARGET_XAENIAX
+       bool "Support xaeniax"
+
+config TARGET_ZIPITZ2
+       bool "Support zipitz2"
+
+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/cirrus/edb93xx/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/ls2085a/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/alt/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/sunxi/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/ks2_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"
+
+endmenu
index c3b8289dcf06be3ffa1d07c2fa6b6e5c4a5d42d2..c339e6dc8cfbd683b6dfcef59935048e9282920c 100644 (file)
@@ -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)
index da80240052616bf29904f2005d500663b853ad7e..881e2de81b328ca71d106a0bdd8630202537268d 100644 (file)
@@ -13,6 +13,7 @@
 #include <asm/io.h>
 #include <asm/arch/cpu.h>
 #include <asm/arch/kirkwood.h>
+#include <mvebu_mmc.h>
 
 #define BUFLEN 16
 
@@ -377,3 +378,11 @@ int cpu_eth_init(bd_t *bis)
        return 0;
 }
 #endif
+
+#ifdef CONFIG_MVEBU_MMC
+int board_mmc_init(bd_t *bis)
+{
+       mvebu_mmc_init(bis);
+       return 0;
+}
+#endif /* CONFIG_MVEBU_MMC */
index 6c706393d39005d8fc8f82e8e30b17dc97c4eca5..e9721b27b64595d27918a396954329ae68acc44c 100644 (file)
@@ -17,6 +17,9 @@ obj-$(CONFIG_SUN7I)   += clock_sun4i.o
 
 ifndef CONFIG_SPL_BUILD
 obj-y  += cpu_info.o
+ifdef CONFIG_ARMV7_PSCI
+obj-y  += psci.o
+endif
 endif
 
 ifdef CONFIG_SPL_BUILD
index 8f2cef332f4f90d1329957216d0f3f9e20a4c43e..f2cedbb1568a8eaf5dd7c8a3c6ef4acc085286a1 100644 (file)
@@ -129,6 +129,11 @@ int cpu_eth_init(bd_t *bis)
 {
        __maybe_unused int rc;
 
+#ifdef CONFIG_MACPWR
+       gpio_direction_output(CONFIG_MACPWR, 1);
+       mdelay(200);
+#endif
+
 #ifdef CONFIG_SUNXI_EMAC
        rc = sunxi_emac_initialize(bis);
        if (rc < 0) {
index b8b16cff951aee8a8ac1d65d27a0aeda3bbd1310..ecbdb0162b2efcd17f6c6ee2a357543e2a71cab2 100644 (file)
@@ -39,6 +39,10 @@ void clock_init_safe(void)
        setbits_le32(&ccm->ahb_gate0, 0x1 << AHB_GATE_OFFSET_DMA);
 #endif
        writel(PLL6_CFG_DEFAULT, &ccm->pll6_cfg);
+#ifdef CONFIG_SUNXI_AHCI
+       setbits_le32(&ccm->ahb_gate0, 0x1 << AHB_GATE_OFFSET_SATA);
+       setbits_le32(&ccm->pll6_cfg, 0x1 << CCM_PLL6_CTRL_SATA_EN_SHIFT);
+#endif
 }
 #endif
 
diff --git a/arch/arm/cpu/armv7/sunxi/psci.S b/arch/arm/cpu/armv7/sunxi/psci.S
new file mode 100644 (file)
index 0000000..0084c81
--- /dev/null
@@ -0,0 +1,162 @@
+/*
+ * Copyright (C) 2013 - ARM Ltd
+ * Author: Marc Zyngier <marc.zyngier@arm.com>
+ *
+ * Based on code by Carl van Schaik <carl@ok-labs.com>.
+ *
+ * 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.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <config.h>
+#include <asm/psci.h>
+#include <asm/arch/cpu.h>
+
+/*
+ * Memory layout:
+ *
+ * SECURE_RAM to text_end :
+ *     ._secure_text section
+ * text_end to ALIGN_PAGE(text_end):
+ *     nothing
+ * ALIGN_PAGE(text_end) to ALIGN_PAGE(text_end) + 0x1000)
+ *     1kB of stack per CPU (4 CPUs max).
+ */
+
+       .pushsection ._secure.text, "ax"
+
+       .arch_extension sec
+
+#define        ONE_MS                  (CONFIG_SYS_CLK_FREQ / 1000)
+#define        TEN_MS                  (10 * ONE_MS)
+
+.macro timer_wait      reg, ticks
+       @ Program CNTP_TVAL
+       movw    \reg, #(\ticks & 0xffff)
+       movt    \reg, #(\ticks >> 16)
+       mcr     p15, 0, \reg, c14, c2, 0
+       isb
+       @ Enable physical timer, mask interrupt
+       mov     \reg, #3
+       mcr     p15, 0, \reg, c14, c2, 1
+       @ Poll physical timer until ISTATUS is on
+1:     isb
+       mrc     p15, 0, \reg, c14, c2, 1
+       ands    \reg, \reg, #4
+       bne     1b
+       @ Disable timer
+       mov     \reg, #0
+       mcr     p15, 0, \reg, c14, c2, 1
+       isb
+.endm
+
+.globl psci_arch_init
+psci_arch_init:
+       mrc     p15, 0, r5, c1, c1, 0   @ Read SCR
+       bic     r5, r5, #1              @ Secure mode
+       mcr     p15, 0, r5, c1, c1, 0   @ Write SCR
+       isb
+
+       mrc     p15, 0, r4, c0, c0, 5   @ MPIDR
+       and     r4, r4, #3              @ cpu number in cluster
+       mov     r5, #400                @ 1kB of stack per CPU
+       mul     r4, r4, r5
+
+       adr     r5, text_end            @ end of text
+       add     r5, r5, #0x2000         @ Skip two pages
+       lsr     r5, r5, #12             @ Align to start of page
+       lsl     r5, r5, #12
+       sub     sp, r5, r4              @ here's our stack!
+
+       bx      lr
+
+       @ r1 = target CPU
+       @ r2 = target PC
+.globl psci_cpu_on
+psci_cpu_on:
+       adr     r0, _target_pc
+       str     r2, [r0]
+       dsb
+
+       movw    r0, #(SUNXI_CPUCFG_BASE & 0xffff)
+       movt    r0, #(SUNXI_CPUCFG_BASE >> 16)
+
+       @ CPU mask
+       and     r1, r1, #3      @ only care about first cluster
+       mov     r4, #1
+       lsl     r4, r4, r1
+
+       adr     r6, _sunxi_cpu_entry
+       str     r6, [r0, #0x1a4] @ PRIVATE_REG (boot vector)
+
+       @ Assert reset on target CPU
+       mov     r6, #0
+       lsl     r5, r1, #6      @ 64 bytes per CPU
+       add     r5, r5, #0x40   @ Offset from base
+       add     r5, r5, r0      @ CPU control block
+       str     r6, [r5]        @ Reset CPU
+
+       @ l1 invalidate
+       ldr     r6, [r0, #0x184]
+       bic     r6, r6, r4
+       str     r6, [r0, #0x184]
+
+       @ Lock CPU
+       ldr     r6, [r0, #0x1e4]
+       bic     r6, r6, r4
+       str     r6, [r0, #0x1e4]
+
+       @ Release power clamp
+       movw    r6, #0x1ff
+       movt    r6, #0
+1:     lsrs    r6, r6, #1
+       str     r6, [r0, #0x1b0]
+       bne     1b
+
+       timer_wait r1, TEN_MS
+
+       @ Clear power gating
+       ldr     r6, [r0, #0x1b4]
+       bic     r6, r6, #1
+       str     r6, [r0, #0x1b4]
+
+       @ Deassert reset on target CPU
+       mov     r6, #3
+       str     r6, [r5]
+
+       @ Unlock CPU
+       ldr     r6, [r0, #0x1e4]
+       orr     r6, r6, r4
+       str     r6, [r0, #0x1e4]
+
+       mov     r0, #ARM_PSCI_RET_SUCCESS       @ Return PSCI_RET_SUCCESS
+       mov     pc, lr
+
+_target_pc:
+       .word   0
+
+_sunxi_cpu_entry:
+       @ Set SMP bit
+       mrc     p15, 0, r0, c1, c0, 1
+       orr     r0, r0, #0x40
+       mcr     p15, 0, r0, c1, c0, 1
+       isb
+
+       bl      _nonsec_init
+       bl      psci_arch_init
+
+       adr     r0, _target_pc
+       ldr     r0, [r0]
+       b       _do_nonsec_entry
+
+text_end:
+       .popsection
index c1c718ecd4b59c4c916f7cd5ad6fca8d4ea65a6d..b17410a58a76da526ab47d59e60ca7ea7a17d2d4 100644 (file)
 /* DDR */
 #define CONFIG_SYS_FSL_DDR_LE
 #define CONFIG_VERY_BIG_RAM
+#ifdef CONFIG_SYS_FSL_DDR4
+#define CONFIG_SYS_FSL_DDRC_GEN4
+#else
 #define CONFIG_SYS_FSL_DDRC_ARM_GEN3   /* Enable Freescale ARM DDR3 driver */
+#endif
 #define CONFIG_SYS_FSL_DDR             /* Freescale DDR driver */
 #define CONFIG_SYS_LS2_DDR_BLOCK1_SIZE ((phys_size_t)2 << 30)
 #define CONFIG_MAX_MEM_MAPPED          CONFIG_SYS_LS2_DDR_BLOCK1_SIZE
index bc207f536ca7f6999dfa38f7ece8fb339023911b..3ea51d7848c5f21bd93baef774b22e692f4eb2c0 100644 (file)
@@ -39,6 +39,7 @@
 #define KW_EGIGA0_BASE                 (KW_REGISTER(0x72000))
 #define KW_EGIGA1_BASE                 (KW_REGISTER(0x76000))
 #define KW_SATA_BASE                   (KW_REGISTER(0x80000))
+#define KW_SDIO_BASE                   (KW_REGISTER(0x90000))
 
 /* Kirkwood Sata controller has two ports */
 #define KW_SATA_PORT0_OFFSET           0x2000
index 01fe0f27ef67f217f7f3b746c299a59da6ea612f..ce4186fed043d448c411b10d531e87ad2a1e7e97 100644 (file)
@@ -139,9 +139,9 @@ static inline struct s3c24x0_spi *s3c24x0_get_base_spi(void)
        return (struct s3c24x0_spi *)S3C24X0_SPI_BASE;
 }
 
-static inline struct s3c2410_sdi *s3c2410_get_base_sdi(void)
+static inline struct s3c24x0_sdi *s3c24x0_get_base_sdi(void)
 {
-       return (struct s3c2410_sdi *)S3C2410_SDI_BASE;
+       return (struct s3c24x0_sdi *)S3C2410_SDI_BASE;
 }
 
 #endif /*__S3C2410_H__*/
index 15a7cb43d5afc93c4a98b3859d52a15085e1cab3..3f44bdc306b5eb29690e88a441fc80496e6d69ff 100644 (file)
@@ -137,9 +137,9 @@ static inline struct s3c24x0_spi *s3c24x0_get_base_spi(void)
        return (struct s3c24x0_spi *)S3C24X0_SPI_BASE;
 }
 
-static inline struct s3c2440_sdi *s3c2440_get_base_sdi(void)
+static inline struct s3c24x0_sdi *s3c24x0_get_base_sdi(void)
 {
-       return (struct s3c2440_sdi *)S3C2440_SDI_BASE;
+       return (struct s3c24x0_sdi *)S3C2440_SDI_BASE;
 }
 
 #endif /*__S3C2440_H__*/
index 86d720c06e9cb8c5d8cbd8f8a83a27f3ec989f32..ed9df34c69082113abaf13ddef8b5027322ac2fe 100644 (file)
@@ -675,7 +675,7 @@ struct s3c2400_mmc {
 
 
 /* SD INTERFACE (see S3C2410 manual chapter 19) */
-struct s3c2410_sdi {
+struct s3c24x0_sdi {
        u32     sdicon;
        u32     sdipre;
        u32     sdicarg;
@@ -691,14 +691,19 @@ struct s3c2410_sdi {
        u32     sdidcnt;
        u32     sdidsta;
        u32     sdifsta;
-#ifdef __BIG_ENDIAN
-       u8      res[3];
-       u8      sdidat;
+#ifdef CONFIG_S3C2410
+       u32     sdidat;
+       u32     sdiimsk;
 #else
-       u8      sdidat;
-       u8      res[3];
-#endif
        u32     sdiimsk;
+       u32     sdidat;
+#endif
 };
 
+#ifdef CONFIG_CMD_MMC
+#include <mmc.h>
+int s3cmmc_initialize(bd_t *bis, int (*getcd)(struct mmc *),
+                     int (*getwp)(struct mmc *));
+#endif
+
 #endif /*__S3C24X0_H__*/
index 928f3f2670997285bdeb34aaa749e00d44a9d9fb..1ba997adf9f8b4bf1f2b71c71bc5f1816e308794 100644 (file)
@@ -218,10 +218,13 @@ struct sunxi_ccm_reg {
 #define CCM_PLL5_CTRL_BYPASS (0x1 << 30)
 #define CCM_PLL5_CTRL_EN (0x1 << 31)
 
-#define CCM_PLL6_CTRL_N_SHIFT  8
-#define CCM_PLL6_CTRL_N_MASK   (0x1f << CCM_PLL6_CTRL_N_SHIFT)
-#define CCM_PLL6_CTRL_K_SHIFT  4
-#define CCM_PLL6_CTRL_K_MASK   (0x3 << CCM_PLL6_CTRL_K_SHIFT)
+#define CCM_PLL6_CTRL_EN               31
+#define CCM_PLL6_CTRL_BYPASS_EN                30
+#define CCM_PLL6_CTRL_SATA_EN_SHIFT    14
+#define CCM_PLL6_CTRL_N_SHIFT          8
+#define CCM_PLL6_CTRL_N_MASK           (0x1f << CCM_PLL6_CTRL_N_SHIFT)
+#define CCM_PLL6_CTRL_K_SHIFT          4
+#define CCM_PLL6_CTRL_K_MASK           (0x3 << CCM_PLL6_CTRL_K_SHIFT)
 
 #define CCM_GPS_CTRL_RESET (0x1 << 0)
 #define CCM_GPS_CTRL_GATE (0x1 << 1)
@@ -253,4 +256,8 @@ struct sunxi_ccm_reg {
 #define CCM_GMAC_CTRL_GPIT_MII (0x0 << 2)
 #define CCM_GMAC_CTRL_GPIT_RGMII (0x1 << 2)
 
+#define CCM_USB_CTRL_PHY1_RST (0x1 << 1)
+#define CCM_USB_CTRL_PHY2_RST (0x1 << 2)
+#define CCM_USB_CTRL_PHYGATE (0x1 << 8)
+
 #endif /* _SUNXI_CLOCK_SUN4I_H */
index d3433dafd9f900e45dcf9445cf86f2de35749289..5f2a5f4ea9f0905cffb340d75eb9e01aa25d8162 100644 (file)
@@ -7,7 +7,9 @@
 #ifndef _ASM_CONFIG_H_
 #define _ASM_CONFIG_H_
 
+#ifdef __aarch64__
 #define CONFIG_SYS_GENERIC_GLOBAL_DATA
+#endif
 
 #define CONFIG_LMB
 #define CONFIG_SYS_BOOT_RAMDISK_HIGH
index 214f3ea51f4ef88443bc5f965e114b278c3bfbd5..6d18eb330a927769528d0a8c4611924939a11d78 100644 (file)
@@ -136,6 +136,7 @@ extern inline void __raw_readsl(unsigned long addr, void *data, int longlen)
  * TODO: The kernel offers some more advanced versions of barriers, it might
  * have some advantages to use them instead of the simple one here.
  */
+#define mb()           asm volatile("dsb sy" : : : "memory")
 #define dmb()          __asm__ __volatile__ ("" : : : "memory")
 #define __iormb()      dmb()
 #define __iowmb()      dmb()
index dfc2de9a618830e4c06a6a85705c142334ae9d30..29cdad0f70716a85e260a124b73f63746b484b80 100644 (file)
@@ -67,10 +67,22 @@ ENTRY(_main)
        ldr     sp, =(CONFIG_SYS_INIT_SP_ADDR)
 #endif
        bic     sp, sp, #7      /* 8-byte alignment for ABI compliance */
+       mov     r2, sp
        sub     sp, sp, #GD_SIZE        /* allocate one GD above SP */
        bic     sp, sp, #7      /* 8-byte alignment for ABI compliance */
        mov     r9, sp          /* GD is above SP */
+       mov     r1, sp
        mov     r0, #0
+clr_gd:
+       cmp     r1, r2                  /* while not at end of GD */
+       strlo   r0, [r1]                /* clear 32-bit GD word */
+       addlo   r1, r1, #4              /* move to next */
+       blo     clr_gd
+#if defined(CONFIG_SYS_MALLOC_F_LEN) && !defined(CONFIG_SPL_BUILD)
+       sub     sp, sp, #CONFIG_SYS_MALLOC_F_LEN
+       str     sp, [r9, #GD_MALLOC_BASE]
+#endif
+       /* mov r0, #0 not needed due to above code */
        bl      board_init_f
 
 #if ! defined(CONFIG_SPL_BUILD)
diff --git a/arch/avr32/Kconfig b/arch/avr32/Kconfig
new file mode 100644 (file)
index 0000000..46337ae
--- /dev/null
@@ -0,0 +1,51 @@
+menu "AVR32 architecture"
+       depends on AVR32
+
+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"
+
+endmenu
index 28a371c806449afc9da1c035ac098ce82ddc2920..469185e8b44bcef8cc23e77e5a620f8feae8cbfb 100644 (file)
@@ -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/Kconfig b/arch/blackfin/Kconfig
new file mode 100644 (file)
index 0000000..bb8a133
--- /dev/null
@@ -0,0 +1,150 @@
+menu "Blackfin architecture"
+       depends on BLACKFIN
+
+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"
+
+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"
+
+endmenu
index fcaa44f1d6f3f9c9b7930cccf41e130cba1e89e3..7b17b757438fa14cc04f44e5d1ecf450bb8eeddd 100644 (file)
@@ -21,7 +21,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/Kconfig b/arch/m68k/Kconfig
new file mode 100644 (file)
index 0000000..6cda7db
--- /dev/null
@@ -0,0 +1,98 @@
+menu "M68000 architecture"
+       depends on M68K
+
+config SYS_ARCH
+       string
+       default "m68k"
+
+choice
+       prompt "Target select"
+
+config TARGET_M52277EVB
+       bool "Support M52277EVB"
+
+config TARGET_M5235EVB
+       bool "Support M5235EVB"
+
+config TARGET_COBRA5272
+       bool "Support cobra5272"
+
+config TARGET_EB_CPU5282
+       bool "Support eb_cpu5282"
+
+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_M5329EVB
+       bool "Support M5329EVB"
+
+config TARGET_M5373EVB
+       bool "Support M5373EVB"
+
+config TARGET_M54418TWR
+       bool "Support M54418TWR"
+
+config TARGET_M54451EVB
+       bool "Support M54451EVB"
+
+config TARGET_M54455EVB
+       bool "Support M54455EVB"
+
+config TARGET_M5475EVB
+       bool "Support M5475EVB"
+
+config TARGET_M5485EVB
+       bool "Support M5485EVB"
+
+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"
+
+endmenu
index 33b3d51af06ccf8d892554b275185782251f662f..3b3a7e88ab6077eb9de13dcbc4e0073b1787194b 100644 (file)
@@ -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
index 34ad99e92c0fff107be60d1a8c6b106d28275ed1..f66000b33124ca04c9ce81f838867cf6338c7709 100644 (file)
@@ -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
index af943543a256a23cd21f1c7a3523bf2755f48aff..2efb60f04ad0c351f686daf26422e9fda2730173 100644 (file)
@@ -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
index 5fd0d4d0e21a97fcfb7bbef6b0a2ca4530261692..13f8a9f57b600f312d9eceffdc91dc6e693da109 100644 (file)
@@ -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/microblaze/Kconfig b/arch/microblaze/Kconfig
new file mode 100644 (file)
index 0000000..ddaa45f
--- /dev/null
@@ -0,0 +1,18 @@
+menu "MicroBlaze architecture"
+       depends on MICROBLAZE
+
+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"
+
+endmenu
diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig
new file mode 100644 (file)
index 0000000..5bf0df4
--- /dev/null
@@ -0,0 +1,37 @@
+menu "MIPS architecture"
+       depends on MIPS
+
+config SYS_ARCH
+       string
+       default "mips"
+
+choice
+       prompt "Target select"
+
+config TARGET_QEMU_MIPS
+       bool "Support qemu-mips"
+
+config TARGET_MALTA
+       bool "Support malta"
+
+config TARGET_VCT
+       bool "Support vct"
+
+config TARGET_DBAU1X00
+       bool "Support dbau1x00"
+
+config TARGET_PB1X00
+       bool "Support pb1x00"
+
+config TARGET_QEMU_MIPS64
+       bool "Support qemu-mips64"
+
+endchoice
+
+source "board/dbau1x00/Kconfig"
+source "board/imgtec/malta/Kconfig"
+source "board/micronas/vct/Kconfig"
+source "board/pb1x00/Kconfig"
+source "board/qemu-mips/Kconfig"
+
+endmenu
index f4a234adbc1b8b610ed423bab2178640bdb74c30..a2d07aff1b1d5209fbb925b4a4399ee707e365e2 100644 (file)
@@ -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/Kconfig b/arch/nds32/Kconfig
new file mode 100644 (file)
index 0000000..743a8fe
--- /dev/null
@@ -0,0 +1,26 @@
+menu "NDS32 architecture"
+       depends on NDS32
+
+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"
+
+endmenu
index 10248524d1f4656d86aa7cdc0edbd1bba1a114be..5ac9f90402c2ad15e432796c39e446c263adb8e0 100644 (file)
@@ -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/Kconfig b/arch/nios2/Kconfig
new file mode 100644 (file)
index 0000000..b703646
--- /dev/null
@@ -0,0 +1,26 @@
+menu "Nios II architecture"
+       depends on NIOS2
+
+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"
+
+endmenu
index 65a5a40b6d480020109fe43845411b47d9468b01..82bd887961b65b5848b7e30e66cb11221eb38632 100644 (file)
@@ -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/Kconfig b/arch/openrisc/Kconfig
new file mode 100644 (file)
index 0000000..cc54a2e
--- /dev/null
@@ -0,0 +1,18 @@
+menu "OpenRISC architecture"
+       depends on OPENRISC
+
+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"
+
+endmenu
index 9902b9adba8dafff17e1da0a332ad5a3b510c57b..cd95f24b1fbfb46a5ed9c8612614175d9dd9976e 100644 (file)
@@ -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/Kconfig b/arch/powerpc/Kconfig
new file mode 100644 (file)
index 0000000..3325af3
--- /dev/null
@@ -0,0 +1,58 @@
+menu "PowerPC architecture"
+       depends on PPC
+
+config SYS_ARCH
+       string
+       default "powerpc"
+
+choice
+       prompt "CPU select"
+
+config 74xx_7xx
+       bool "74xx"
+
+config MPC512X
+       bool "MPC512X"
+
+config 5xx
+       bool "MPC5xx"
+
+config MPC5xxx
+       bool "MPC5xxx"
+
+config MPC824X
+       bool "MPC824X"
+
+config MPC8260
+       bool "MPC8260"
+
+config MPC83xx
+       bool "MPC83xx"
+
+config MPC85xx
+       bool "MPC85xx"
+
+config MPC86xx
+       bool "MPC86xx"
+
+config 8xx
+       bool "MPC8xx"
+
+config 4xx
+       bool "PPC4xx"
+
+endchoice
+
+source "arch/powerpc/cpu/74xx_7xx/Kconfig"
+source "arch/powerpc/cpu/mpc512x/Kconfig"
+source "arch/powerpc/cpu/mpc5xx/Kconfig"
+source "arch/powerpc/cpu/mpc5xxx/Kconfig"
+source "arch/powerpc/cpu/mpc824x/Kconfig"
+source "arch/powerpc/cpu/mpc8260/Kconfig"
+source "arch/powerpc/cpu/mpc83xx/Kconfig"
+source "arch/powerpc/cpu/mpc85xx/Kconfig"
+source "arch/powerpc/cpu/mpc86xx/Kconfig"
+source "arch/powerpc/cpu/mpc8xx/Kconfig"
+source "arch/powerpc/cpu/ppc4xx/Kconfig"
+
+endmenu
index fb7096e7b5e2bd8bfc55d648cb680024790fa6a0..6329b6c74f57fccc898affe617dcb507d79c590e 100644 (file)
@@ -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/powerpc/cpu/74xx_7xx/Kconfig b/arch/powerpc/cpu/74xx_7xx/Kconfig
new file mode 100644 (file)
index 0000000..6ce464d
--- /dev/null
@@ -0,0 +1,49 @@
+menu "74xx_7xx CPU"
+       depends on 74xx_7xx
+
+config SYS_CPU
+       string
+       default "74xx_7xx"
+
+choice
+       prompt "Target select"
+
+config TARGET_P3G4
+       bool "Support P3G4"
+
+config TARGET_ZUMA
+       bool "Support ZUMA"
+
+config TARGET_PPMC7XX
+       bool "Support ppmc7xx"
+
+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_P3MX
+       bool "Support p3mx"
+
+endchoice
+
+source "board/Marvell/db64360/Kconfig"
+source "board/Marvell/db64460/Kconfig"
+source "board/eltec/elppc/Kconfig"
+source "board/esd/cpci750/Kconfig"
+source "board/evb64260/Kconfig"
+source "board/freescale/mpc7448hpc2/Kconfig"
+source "board/ppmc7xx/Kconfig"
+source "board/prodrive/p3mx/Kconfig"
+
+endmenu
index 96812a02d824fe2b781255a3fb6d4d1c1ff45d1f..4cd1a26293df20028549be8b1d95ebce27aa918f 100644 (file)
@@ -5,4 +5,4 @@
 # SPDX-License-Identifier:     GPL-2.0+
 #
 
-PLATFORM_CPPFLAGS += -DCONFIG_74xx_7xx -mstring
+PLATFORM_CPPFLAGS += -mstring
diff --git a/arch/powerpc/cpu/mpc512x/Kconfig b/arch/powerpc/cpu/mpc512x/Kconfig
new file mode 100644 (file)
index 0000000..bfc4eae
--- /dev/null
@@ -0,0 +1,34 @@
+menu "mpc512x CPU"
+       depends on MPC512X
+
+config SYS_CPU
+       string
+       default "mpc512x"
+
+choice
+       prompt "Target select"
+
+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_AC14XX
+       bool "Support ac14xx"
+
+endchoice
+
+source "board/davedenx/aria/Kconfig"
+source "board/esd/mecp5123/Kconfig"
+source "board/freescale/mpc5121ads/Kconfig"
+source "board/ifm/ac14xx/Kconfig"
+source "board/pdm360ng/Kconfig"
+
+endmenu
index 03759e662505dd35f6246acdcc39c1b98ff175fc..5bf1b2a3b9e7281bb955062725d9b8bcb4ba804f 100644 (file)
@@ -4,4 +4,4 @@
 # SPDX-License-Identifier:     GPL-2.0+
 #
 
-PLATFORM_CPPFLAGS += -DCONFIG_MPC512X -DCONFIG_E300 -msoft-float -mcpu=603e
+PLATFORM_CPPFLAGS += -DCONFIG_E300 -msoft-float -mcpu=603e
diff --git a/arch/powerpc/cpu/mpc5xx/Kconfig b/arch/powerpc/cpu/mpc5xx/Kconfig
new file mode 100644 (file)
index 0000000..79579d7
--- /dev/null
@@ -0,0 +1,22 @@
+menu "mpc5xx CPU"
+       depends on 5xx
+
+config SYS_CPU
+       string
+       default "mpc5xx"
+
+choice
+       prompt "Target select"
+
+config TARGET_CMI_MPC5XX
+       bool "Support cmi_mpc5xx"
+
+config TARGET_PATI
+       bool "Support PATI"
+
+endchoice
+
+source "board/cmi/Kconfig"
+source "board/mpl/pati/Kconfig"
+
+endmenu
index 31e2dc98731f2235c51e0ec71466b542317cc2e6..dd2ec376c95e24e45cb68f35ced802eaef5c6bf3 100644 (file)
@@ -5,4 +5,4 @@
 # SPDX-License-Identifier:     GPL-2.0+
 #
 
-PLATFORM_CPPFLAGS += -DCONFIG_5xx -mpowerpc -msoft-float
+PLATFORM_CPPFLAGS += -mpowerpc -msoft-float
diff --git a/arch/powerpc/cpu/mpc5xxx/Kconfig b/arch/powerpc/cpu/mpc5xxx/Kconfig
new file mode 100644 (file)
index 0000000..b2f0bad
--- /dev/null
@@ -0,0 +1,154 @@
+menu "mpc5xxx CPU"
+       depends on MPC5xxx
+
+config SYS_CPU
+       string
+       default "mpc5xxx"
+
+choice
+       prompt "Target select"
+
+config TARGET_A3M071
+       bool "Support a3m071"
+
+config TARGET_A4M072
+       bool "Support a4m072"
+
+config TARGET_BC3450
+       bool "Support BC3450"
+
+config TARGET_CANMB
+       bool "Support canmb"
+
+config TARGET_CM5200
+       bool "Support cm5200"
+
+config TARGET_GALAXY5200
+       bool "Support galaxy5200"
+
+config TARGET_ICECUBE
+       bool "Support IceCube"
+
+config TARGET_INKA4X0
+       bool "Support inka4x0"
+
+config TARGET_IPEK01
+       bool "Support ipek01"
+
+config TARGET_JUPITER
+       bool "Support jupiter"
+
+config TARGET_MCC200
+       bool "Support mcc200"
+
+config TARGET_MOTIONPRO
+       bool "Support motionpro"
+
+config TARGET_MUNICES
+       bool "Support munices"
+
+config TARGET_PM520
+       bool "Support PM520"
+
+config TARGET_TOTAL5200
+       bool "Support Total5200"
+
+config TARGET_V38B
+       bool "Support v38b"
+
+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_O2I
+       bool "Support O2I"
+
+config TARGET_O2MNT
+       bool "Support O2MNT"
+
+config TARGET_O3DNT
+       bool "Support O3DNT"
+
+config TARGET_DIGSY_MTC
+       bool "Support digsy_mtc"
+
+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_AEV
+       bool "Support aev"
+
+config TARGET_CHARON
+       bool "Support charon"
+
+config TARGET_TB5200
+       bool "Support TB5200"
+
+config TARGET_TQM5200
+       bool "Support TQM5200"
+
+endchoice
+
+source "board/a3m071/Kconfig"
+source "board/a4m072/Kconfig"
+source "board/bc3450/Kconfig"
+source "board/canmb/Kconfig"
+source "board/cm5200/Kconfig"
+source "board/emk/top5200/Kconfig"
+source "board/esd/cpci5200/Kconfig"
+source "board/esd/mecp5200/Kconfig"
+source "board/esd/pf5200/Kconfig"
+source "board/galaxy5200/Kconfig"
+source "board/icecube/Kconfig"
+source "board/ifm/o2dnt2/Kconfig"
+source "board/inka4x0/Kconfig"
+source "board/intercontrol/digsy_mtc/Kconfig"
+source "board/ipek01/Kconfig"
+source "board/jupiter/Kconfig"
+source "board/manroland/hmi1001/Kconfig"
+source "board/manroland/mucmc52/Kconfig"
+source "board/manroland/uc101/Kconfig"
+source "board/matrix_vision/mvbc_p/Kconfig"
+source "board/matrix_vision/mvsmr/Kconfig"
+source "board/mcc200/Kconfig"
+source "board/motionpro/Kconfig"
+source "board/munices/Kconfig"
+source "board/phytec/pcm030/Kconfig"
+source "board/pm520/Kconfig"
+source "board/total5200/Kconfig"
+source "board/tqc/tqm5200/Kconfig"
+source "board/v38b/Kconfig"
+
+endmenu
index 3384f6ffccc55fbbd04ca89239e6d7c19e8249d0..bcff2144a10fb3a61341983260c8c803a0cd5bf7 100644 (file)
@@ -5,5 +5,4 @@
 # SPDX-License-Identifier:     GPL-2.0+
 #
 
-PLATFORM_CPPFLAGS += -DCONFIG_MPC5xxx \
-                    -mstring -mcpu=603e -mmultiple
+PLATFORM_CPPFLAGS += -mstring -mcpu=603e -mmultiple
diff --git a/arch/powerpc/cpu/mpc824x/Kconfig b/arch/powerpc/cpu/mpc824x/Kconfig
new file mode 100644 (file)
index 0000000..309833f
--- /dev/null
@@ -0,0 +1,49 @@
+menu "mpc824x CPU"
+       depends on MPC824X
+
+config SYS_CPU
+       string
+       default "mpc824x"
+
+choice
+       prompt "Target select"
+
+config TARGET_A3000
+       bool "Support A3000"
+
+config TARGET_CPC45
+       bool "Support CPC45"
+
+config TARGET_CU824
+       bool "Support CU824"
+
+config TARGET_EXALION
+       bool "Support eXalion"
+
+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_UTX8245
+       bool "Support utx8245"
+
+endchoice
+
+source "board/a3000/Kconfig"
+source "board/cpc45/Kconfig"
+source "board/cu824/Kconfig"
+source "board/eXalion/Kconfig"
+source "board/musenki/Kconfig"
+source "board/mvblue/Kconfig"
+source "board/sandpoint/Kconfig"
+source "board/utx8245/Kconfig"
+
+endmenu
index a224bc8e73e451a966cec97d073efff9f33149f7..ecfb07ea3dfa6770f22bb6c4bcee1d3a87e66f47 100644 (file)
@@ -5,4 +5,4 @@
 # SPDX-License-Identifier:     GPL-2.0+
 #
 
-PLATFORM_CPPFLAGS += -DCONFIG_MPC824X -mstring -mcpu=603e -msoft-float
+PLATFORM_CPPFLAGS += -mstring -mcpu=603e -msoft-float
diff --git a/arch/powerpc/cpu/mpc8260/Kconfig b/arch/powerpc/cpu/mpc8260/Kconfig
new file mode 100644 (file)
index 0000000..1a8707d
--- /dev/null
@@ -0,0 +1,94 @@
+menu "mpc8260 CPU"
+       depends on MPC8260
+
+config SYS_CPU
+       string
+       default "mpc8260"
+
+choice
+       prompt "Target select"
+
+config TARGET_ATC
+       bool "Support atc"
+
+config TARGET_COGENT_MPC8260
+       bool "Support cogent_mpc8260"
+
+config TARGET_CPU86
+       bool "Support CPU86"
+
+config TARGET_CPU87
+       bool "Support CPU87"
+
+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_IPHASE4539
+       bool "Support IPHASE4539"
+
+config TARGET_MUAS3001
+       bool "Support muas3001"
+
+config TARGET_PM826
+       bool "Support PM826"
+
+config TARGET_PM828
+       bool "Support PM828"
+
+config TARGET_PPMC8260
+       bool "Support ppmc8260"
+
+config TARGET_SACSNG
+       bool "Support sacsng"
+
+config TARGET_MPC8266ADS
+       bool "Support MPC8266ADS"
+
+config TARGET_VOVPN_GW
+       bool "Support VoVPN-GW"
+
+config TARGET_IDS8247
+       bool "Support IDS8247"
+
+config TARGET_KM82XX
+       bool "Support km82xx"
+
+config TARGET_TQM8260
+       bool "Support TQM8260"
+
+config TARGET_TQM8272
+       bool "Support TQM8272"
+
+endchoice
+
+source "board/atc/Kconfig"
+source "board/cogent/Kconfig"
+source "board/cpu86/Kconfig"
+source "board/cpu87/Kconfig"
+source "board/ep8260/Kconfig"
+source "board/ep82xxm/Kconfig"
+source "board/freescale/mpc8266ads/Kconfig"
+source "board/funkwerk/vovpn-gw/Kconfig"
+source "board/gw8260/Kconfig"
+source "board/hymod/Kconfig"
+source "board/ids/ids8247/Kconfig"
+source "board/iphase4539/Kconfig"
+source "board/keymile/km82xx/Kconfig"
+source "board/muas3001/Kconfig"
+source "board/pm826/Kconfig"
+source "board/pm828/Kconfig"
+source "board/ppmc8260/Kconfig"
+source "board/sacsng/Kconfig"
+source "board/tqc/tqm8260/Kconfig"
+source "board/tqc/tqm8272/Kconfig"
+
+endmenu
index 59f152df74543ac93af479cf87f83662a5fd9e48..6a1b6e3eb4c310a91e57006a92cecf5663982c94 100644 (file)
@@ -5,5 +5,5 @@
 # SPDX-License-Identifier:     GPL-2.0+
 #
 
-PLATFORM_CPPFLAGS += -DCONFIG_MPC8260 -DCONFIG_CPM2 \
+PLATFORM_CPPFLAGS += -DCONFIG_CPM2 \
                     -mstring -mcpu=603e -mmultiple
diff --git a/arch/powerpc/cpu/mpc83xx/Kconfig b/arch/powerpc/cpu/mpc83xx/Kconfig
new file mode 100644 (file)
index 0000000..5fd3393
--- /dev/null
@@ -0,0 +1,100 @@
+menu "mpc83xx CPU"
+       depends on MPC83xx
+
+config SYS_CPU
+       string
+       default "mpc83xx"
+
+choice
+       prompt "Target select"
+
+config TARGET_MPC8308_P1M
+       bool "Support mpc8308_p1m"
+
+config TARGET_SBC8349
+       bool "Support sbc8349"
+
+config TARGET_VE8313
+       bool "Support ve8313"
+
+config TARGET_VME8349
+       bool "Support vme8349"
+
+config TARGET_MPC8308RDB
+       bool "Support MPC8308RDB"
+
+config TARGET_MPC8313ERDB
+       bool "Support MPC8313ERDB"
+
+config TARGET_MPC8315ERDB
+       bool "Support MPC8315ERDB"
+
+config TARGET_MPC8323ERDB
+       bool "Support MPC8323ERDB"
+
+config TARGET_MPC832XEMDS
+       bool "Support MPC832XEMDS"
+
+config TARGET_MPC8349EMDS
+       bool "Support MPC8349EMDS"
+
+config TARGET_MPC8349ITX
+       bool "Support MPC8349ITX"
+
+config TARGET_MPC8360EMDS
+       bool "Support MPC8360EMDS"
+
+config TARGET_MPC8360ERDK
+       bool "Support MPC8360ERDK"
+
+config TARGET_MPC837XEMDS
+       bool "Support MPC837XEMDS"
+
+config TARGET_MPC837XERDB
+       bool "Support MPC837XERDB"
+
+config TARGET_IDS8313
+       bool "Support ids8313"
+
+config TARGET_KM8360
+       bool "Support km8360"
+
+config TARGET_SUVD3
+       bool "Support suvd3"
+
+config TARGET_TUXX1
+       bool "Support tuxx1"
+
+config TARGET_MERGERBOX
+       bool "Support MERGERBOX"
+
+config TARGET_MVBLM7
+       bool "Support MVBLM7"
+
+config TARGET_TQM834X
+       bool "Support TQM834x"
+
+endchoice
+
+source "board/esd/vme8349/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/ids/ids8313/Kconfig"
+source "board/keymile/km83xx/Kconfig"
+source "board/matrix_vision/mergerbox/Kconfig"
+source "board/matrix_vision/mvblm7/Kconfig"
+source "board/mpc8308_p1m/Kconfig"
+source "board/sbc8349/Kconfig"
+source "board/tqc/tqm834x/Kconfig"
+source "board/ve8313/Kconfig"
+
+endmenu
index dfce4d53b4aed861f1401bc4158839fee00960af..0c083504edfaff6da92219818ba3b28bf18491a6 100644 (file)
@@ -4,4 +4,4 @@
 # SPDX-License-Identifier:     GPL-2.0+
 #
 
-PLATFORM_CPPFLAGS += -DCONFIG_MPC83xx -DCONFIG_E300 -msoft-float
+PLATFORM_CPPFLAGS += -DCONFIG_E300 -msoft-float
index e41988d5fadabde58418bb9514acb5ac59ed2207..38093097e47984b52df44c8fb9e47c4f5b8bb25c 100644 (file)
@@ -20,7 +20,7 @@
 #include <netdev.h>
 #include <fsl_esdhc.h>
 #if defined(CONFIG_BOOTCOUNT_LIMIT) && !defined(CONFIG_MPC831x)
-#include <asm/immap_qe.h>
+#include <linux/immap_qe.h>
 #include <asm/io.h>
 #endif
 
index 450a9704e5be684e1c07cc802fbdf4b085b16957..f249a585edf140a02278621a84a1519df91f49e0 100644 (file)
@@ -18,7 +18,7 @@ DECLARE_GLOBAL_DATA_PTR;
 
 #if defined(CONFIG_BOOTCOUNT_LIMIT) && \
        (defined(CONFIG_QE) && !defined(CONFIG_MPC831x))
-#include <asm/immap_qe.h>
+#include <linux/immap_qe.h>
 
 void fdt_fixup_muram (void *blob)
 {
diff --git a/arch/powerpc/cpu/mpc85xx/Kconfig b/arch/powerpc/cpu/mpc85xx/Kconfig
new file mode 100644 (file)
index 0000000..0f70380
--- /dev/null
@@ -0,0 +1,190 @@
+menu "mpc85xx CPU"
+       depends on MPC85xx
+
+config SYS_CPU
+       string
+       default "mpc85xx"
+
+choice
+       prompt "Target select"
+
+config TARGET_SBC8548
+       bool "Support sbc8548"
+
+config TARGET_SOCRATES
+       bool "Support socrates"
+
+config TARGET_HWW1U1A
+       bool "Support HWW1U1A"
+
+config TARGET_B4860QDS
+       bool "Support B4860QDS"
+
+config TARGET_BSC9131RDB
+       bool "Support BSC9131RDB"
+
+config TARGET_BSC9132QDS
+       bool "Support BSC9132QDS"
+
+config TARGET_C29XPCIE
+       bool "Support C29XPCIE"
+
+config TARGET_P3041DS
+       bool "Support P3041DS"
+
+config TARGET_P4080DS
+       bool "Support P4080DS"
+
+config TARGET_P5020DS
+       bool "Support P5020DS"
+
+config TARGET_P5040DS
+       bool "Support P5040DS"
+
+config TARGET_MPC8536DS
+       bool "Support MPC8536DS"
+
+config TARGET_MPC8540ADS
+       bool "Support MPC8540ADS"
+
+config TARGET_MPC8541CDS
+       bool "Support MPC8541CDS"
+
+config TARGET_MPC8544DS
+       bool "Support MPC8544DS"
+
+config TARGET_MPC8548CDS
+       bool "Support MPC8548CDS"
+
+config TARGET_MPC8555CDS
+       bool "Support MPC8555CDS"
+
+config TARGET_MPC8560ADS
+       bool "Support MPC8560ADS"
+
+config TARGET_MPC8568MDS
+       bool "Support MPC8568MDS"
+
+config TARGET_MPC8569MDS
+       bool "Support MPC8569MDS"
+
+config TARGET_MPC8572DS
+       bool "Support MPC8572DS"
+
+config TARGET_P1010RDB
+       bool "Support P1010RDB"
+
+config TARGET_P1022DS
+       bool "Support P1022DS"
+
+config TARGET_P1023RDB
+       bool "Support P1023RDB"
+
+config TARGET_P1_P2_RDB
+       bool "Support P1_P2_RDB"
+
+config TARGET_P1_P2_RDB_PC
+       bool "Support p1_p2_rdb_pc"
+
+config TARGET_P1_TWR
+       bool "Support p1_twr"
+
+config TARGET_P2020COME
+       bool "Support P2020COME"
+
+config TARGET_P2020DS
+       bool "Support P2020DS"
+
+config TARGET_P2041RDB
+       bool "Support P2041RDB"
+
+config TARGET_QEMU_PPCE500
+       bool "Support qemu-ppce500"
+
+config TARGET_T1040QDS
+       bool "Support T1040QDS"
+
+config TARGET_T104XRDB
+       bool "Support T104xRDB"
+
+config TARGET_T208XQDS
+       bool "Support T208xQDS"
+
+config TARGET_T208XRDB
+       bool "Support T208xRDB"
+
+config TARGET_T4240EMU
+       bool "Support T4240EMU"
+
+config TARGET_T4240QDS
+       bool "Support T4240QDS"
+
+config TARGET_T4240RDB
+       bool "Support T4240RDB"
+
+config TARGET_CONTROLCENTERD
+       bool "Support controlcenterd"
+
+config TARGET_KMP204X
+       bool "Support kmp204x"
+
+config TARGET_STXGP3
+       bool "Support stxgp3"
+
+config TARGET_STXSSA
+       bool "Support stxssa"
+
+config TARGET_XPEDITE520X
+       bool "Support xpedite520x"
+
+config TARGET_XPEDITE537X
+       bool "Support xpedite537x"
+
+config TARGET_XPEDITE550X
+       bool "Support xpedite550x"
+
+endchoice
+
+source "board/exmeritus/hww1u1a/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/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/p1010rdb/Kconfig"
+source "board/freescale/p1022ds/Kconfig"
+source "board/freescale/p1023rdb/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/gdsys/p1022/Kconfig"
+source "board/keymile/kmp204x/Kconfig"
+source "board/sbc8548/Kconfig"
+source "board/socrates/Kconfig"
+source "board/stx/stxgp3/Kconfig"
+source "board/stx/stxssa/Kconfig"
+source "board/xes/xpedite520x/Kconfig"
+source "board/xes/xpedite537x/Kconfig"
+source "board/xes/xpedite550x/Kconfig"
+
+endmenu
index 1470f95ff1f5d7c252c42a73de0d6134201ae241..72c964cd151c89eab2ed5fcaec2011ac975df687 100644 (file)
@@ -5,7 +5,7 @@
 # SPDX-License-Identifier:     GPL-2.0+
 #
 
-PLATFORM_CPPFLAGS += -DCONFIG_MPC85xx -Wa,-me500 -msoft-float -mno-string
+PLATFORM_CPPFLAGS += -Wa,-me500 -msoft-float -mno-string
 
 # -mspe=yes is needed to have -mno-spe accepted by a buggy GCC;
 # see "[PATCH,rs6000] make -mno-spe work as expected" on
index 684d4007e48a9f9be845c12f533fc9a0d0b873ef..6274f929dd0fa3d035052187f4f7e9a9f889f78a 100644 (file)
@@ -310,6 +310,14 @@ __weak unsigned long get_tbclk (void)
 
 
 #if defined(CONFIG_WATCHDOG)
+#define WATCHDOG_MASK (TCR_WP(63) | TCR_WRC(3) | TCR_WIE)
+void
+init_85xx_watchdog(void)
+{
+       mtspr(SPRN_TCR, (mfspr(SPRN_TCR) & ~WATCHDOG_MASK) |
+             TCR_WP(CONFIG_WATCHDOG_PRESC) | TCR_WRC(CONFIG_WATCHDOG_RC));
+}
+
 void
 reset_85xx_watchdog(void)
 {
index 78316a681593dd630cd5ef2c402b5ca9dc078ecb..b237505d3e6092fb6d67395ceca0946e94abfae0 100644 (file)
@@ -200,7 +200,7 @@ void config_8560_ioports (volatile ccsr_cpm_t * cpm)
 
 #ifdef CONFIG_SYS_FSL_CPC
 #if defined(CONFIG_RAMBOOT_PBL) || defined(CONFIG_SYS_CPC_REINIT_F)
-static void disable_cpc_sram(void)
+void disable_cpc_sram(void)
 {
        int i;
 
@@ -251,7 +251,7 @@ static void enable_tdm_law(void)
 }
 #endif
 
-static void enable_cpc(void)
+void enable_cpc(void)
 {
        int i;
        u32 size = 0;
@@ -306,6 +306,7 @@ static void invalidate_cpc(void)
 #else
 #define enable_cpc()
 #define invalidate_cpc()
+#define disable_cpc_sram()
 #endif /* CONFIG_SYS_FSL_CPC */
 
 /*
@@ -520,7 +521,8 @@ int enable_cluster_l2(void)
                        u32 idx = (cluster >> (j*8)) & TP_CLUSTER_INIT_MASK;
                        u32 type = in_be32(&gur->tp_ityp[idx]);
 
-                       if (type & TP_ITYP_AV)
+                       if ((type & TP_ITYP_AV) &&
+                           TP_ITYP_TYPE(type) == TP_ITYP_TYPE_PPC)
                                cluster_valid = 1;
                }
 
@@ -545,88 +547,15 @@ int enable_cluster_l2(void)
 
 /*
  * Initialize L2 as cache.
- *
- * The newer 8548, etc, parts have twice as much cache, but
- * use the same bit-encoding as the older 8555, etc, parts.
- *
  */
-int cpu_init_r(void)
+int l2cache_init(void)
 {
        __maybe_unused u32 svr = get_svr();
-#ifdef CONFIG_SYS_LBC_LCRR
-       fsl_lbc_t *lbc = (void __iomem *)LBC_BASE_ADDR;
-#endif
 #ifdef CONFIG_L2_CACHE
        ccsr_l2cache_t *l2cache = (void __iomem *)CONFIG_SYS_MPC85xx_L2_ADDR;
 #elif defined(CONFIG_SYS_FSL_QORIQ_CHASSIS2) && defined(CONFIG_E6500)
        struct ccsr_cluster_l2 * l2cache = (void __iomem *)CONFIG_SYS_FSL_CLUSTER_1_L2;
 #endif
-#if defined(CONFIG_PPC_SPINTABLE_COMPATIBLE) && defined(CONFIG_MP)
-       extern int spin_table_compat;
-       const char *spin;
-#endif
-#ifdef CONFIG_SYS_FSL_ERRATUM_SEC_A003571
-       ccsr_sec_t __iomem *sec = (void *)CONFIG_SYS_FSL_SEC_ADDR;
-#endif
-#if defined(CONFIG_SYS_P4080_ERRATUM_CPU22) || \
-       defined(CONFIG_SYS_FSL_ERRATUM_NMG_CPU_A011)
-       /*
-        * CPU22 and NMG_CPU_A011 share the same workaround.
-        * CPU22 applies to P4080 rev 1.0, 2.0, fixed in 3.0
-        * NMG_CPU_A011 applies to P4080 rev 1.0, 2.0, fixed in 3.0
-        * also applies to P3041 rev 1.0, 1.1, P2041 rev 1.0, 1.1, both
-        * fixed in 2.0. NMG_CPU_A011 is activated by default and can
-        * be disabled by hwconfig with syntax:
-        *
-        * fsl_cpu_a011:disable
-        */
-       extern int enable_cpu_a011_workaround;
-#ifdef CONFIG_SYS_P4080_ERRATUM_CPU22
-       enable_cpu_a011_workaround = (SVR_MAJ(svr) < 3);
-#else
-       char buffer[HWCONFIG_BUFFER_SIZE];
-       char *buf = NULL;
-       int n, res;
-
-       n = getenv_f("hwconfig", buffer, sizeof(buffer));
-       if (n > 0)
-               buf = buffer;
-
-       res = hwconfig_arg_cmp_f("fsl_cpu_a011", "disable", buf);
-       if (res > 0)
-               enable_cpu_a011_workaround = 0;
-       else {
-               if (n >= HWCONFIG_BUFFER_SIZE) {
-                       printf("fsl_cpu_a011 was not found. hwconfig variable "
-                               "may be too long\n");
-               }
-               enable_cpu_a011_workaround =
-                       (SVR_SOC_VER(svr) == SVR_P4080 && SVR_MAJ(svr) < 3) ||
-                       (SVR_SOC_VER(svr) != SVR_P4080 && SVR_MAJ(svr) < 2);
-       }
-#endif
-       if (enable_cpu_a011_workaround) {
-               flush_dcache();
-               mtspr(L1CSR2, (mfspr(L1CSR2) | L1CSR2_DCWS));
-               sync();
-       }
-#endif
-#ifdef CONFIG_SYS_FSL_ERRATUM_A005812
-       /*
-        * A-005812 workaround sets bit 32 of SPR 976 for SoCs running
-        * in write shadow mode. Checking DCWS before setting SPR 976.
-        */
-       if (mfspr(L1CSR2) & L1CSR2_DCWS)
-               mtspr(SPRN_HDBCR0, (mfspr(SPRN_HDBCR0) | 0x80000000));
-#endif
-
-#if defined(CONFIG_PPC_SPINTABLE_COMPATIBLE) && defined(CONFIG_MP)
-       spin = getenv("spin_table_compat");
-       if (spin && (*spin == 'n'))
-               spin_table_compat = 0;
-       else
-               spin_table_compat = 1;
-#endif
 
        puts ("L2:    ");
 
@@ -751,6 +680,89 @@ skip_l2:
        puts("disabled\n");
 #endif
 
+       return 0;
+}
+
+/*
+ *
+ * The newer 8548, etc, parts have twice as much cache, but
+ * use the same bit-encoding as the older 8555, etc, parts.
+ *
+ */
+int cpu_init_r(void)
+{
+       __maybe_unused u32 svr = get_svr();
+#ifdef CONFIG_SYS_LBC_LCRR
+       fsl_lbc_t *lbc = (void __iomem *)LBC_BASE_ADDR;
+#endif
+#if defined(CONFIG_PPC_SPINTABLE_COMPATIBLE) && defined(CONFIG_MP)
+       extern int spin_table_compat;
+       const char *spin;
+#endif
+#ifdef CONFIG_SYS_FSL_ERRATUM_SEC_A003571
+       ccsr_sec_t __iomem *sec = (void *)CONFIG_SYS_FSL_SEC_ADDR;
+#endif
+#if defined(CONFIG_SYS_P4080_ERRATUM_CPU22) || \
+       defined(CONFIG_SYS_FSL_ERRATUM_NMG_CPU_A011)
+       /*
+        * CPU22 and NMG_CPU_A011 share the same workaround.
+        * CPU22 applies to P4080 rev 1.0, 2.0, fixed in 3.0
+        * NMG_CPU_A011 applies to P4080 rev 1.0, 2.0, fixed in 3.0
+        * also applies to P3041 rev 1.0, 1.1, P2041 rev 1.0, 1.1, both
+        * fixed in 2.0. NMG_CPU_A011 is activated by default and can
+        * be disabled by hwconfig with syntax:
+        *
+        * fsl_cpu_a011:disable
+        */
+       extern int enable_cpu_a011_workaround;
+#ifdef CONFIG_SYS_P4080_ERRATUM_CPU22
+       enable_cpu_a011_workaround = (SVR_MAJ(svr) < 3);
+#else
+       char buffer[HWCONFIG_BUFFER_SIZE];
+       char *buf = NULL;
+       int n, res;
+
+       n = getenv_f("hwconfig", buffer, sizeof(buffer));
+       if (n > 0)
+               buf = buffer;
+
+       res = hwconfig_arg_cmp_f("fsl_cpu_a011", "disable", buf);
+       if (res > 0) {
+               enable_cpu_a011_workaround = 0;
+       } else {
+               if (n >= HWCONFIG_BUFFER_SIZE) {
+                       printf("fsl_cpu_a011 was not found. hwconfig variable "
+                               "may be too long\n");
+               }
+               enable_cpu_a011_workaround =
+                       (SVR_SOC_VER(svr) == SVR_P4080 && SVR_MAJ(svr) < 3) ||
+                       (SVR_SOC_VER(svr) != SVR_P4080 && SVR_MAJ(svr) < 2);
+       }
+#endif
+       if (enable_cpu_a011_workaround) {
+               flush_dcache();
+               mtspr(L1CSR2, (mfspr(L1CSR2) | L1CSR2_DCWS));
+               sync();
+       }
+#endif
+#ifdef CONFIG_SYS_FSL_ERRATUM_A005812
+       /*
+        * A-005812 workaround sets bit 32 of SPR 976 for SoCs running
+        * in write shadow mode. Checking DCWS before setting SPR 976.
+        */
+       if (mfspr(L1CSR2) & L1CSR2_DCWS)
+               mtspr(SPRN_HDBCR0, (mfspr(SPRN_HDBCR0) | 0x80000000));
+#endif
+
+#if defined(CONFIG_PPC_SPINTABLE_COMPATIBLE) && defined(CONFIG_MP)
+       spin = getenv("spin_table_compat");
+       if (spin && (*spin == 'n'))
+               spin_table_compat = 0;
+       else
+               spin_table_compat = 1;
+#endif
+
+       l2cache_init();
 #if defined(CONFIG_RAMBOOT_PBL)
        disable_cpc_sram();
 #endif
index 85dfa5bc01e592d502ae27d9afe66bfc0f2cb73f..3665ec6b6c8fb7a93f804ec808d3075c3db6c231 100644 (file)
@@ -612,6 +612,51 @@ static void fdt_fixup_usb(void *fdt)
 #define fdt_fixup_usb(x)
 #endif
 
+#if defined(CONFIG_PPC_T2080) || defined(CONFIG_PPC_T4240) || \
+       defined(CONFIG_PPC_T4160) || defined(CONFIG_PPC_T4080)
+void fdt_fixup_dma3(void *blob)
+{
+       /* the 3rd DMA is not functional if SRIO2 is chosen */
+       int nodeoff;
+       ccsr_gur_t __iomem *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
+
+#define CONFIG_SYS_ELO3_DMA3 (0xffe000000 + 0x102300)
+#if defined(CONFIG_PPC_T2080)
+       u32 srds_prtcl_s2 = in_be32(&gur->rcwsr[4]) &
+                                   FSL_CORENET2_RCWSR4_SRDS2_PRTCL;
+       srds_prtcl_s2 >>= FSL_CORENET2_RCWSR4_SRDS2_PRTCL_SHIFT;
+
+       switch (srds_prtcl_s2) {
+       case 0x29:
+       case 0x2d:
+       case 0x2e:
+#elif defined(CONFIG_PPC_T4240) || defined(CONFIG_PPC_T4160) || \
+       defined(CONFIG_PPC_T4080)
+       u32 srds_prtcl_s4 = in_be32(&gur->rcwsr[4]) &
+                                   FSL_CORENET2_RCWSR4_SRDS4_PRTCL;
+       srds_prtcl_s4 >>= FSL_CORENET2_RCWSR4_SRDS4_PRTCL_SHIFT;
+
+       switch (srds_prtcl_s4) {
+       case 6:
+       case 8:
+       case 14:
+       case 16:
+#endif
+               nodeoff = fdt_node_offset_by_compat_reg(blob, "fsl,elo3-dma",
+                                                       CONFIG_SYS_ELO3_DMA3);
+               if (nodeoff > 0)
+                       fdt_status_disabled(blob, nodeoff);
+               else
+                       printf("WARNING: unable to disable dma3\n");
+               break;
+       default:
+               break;
+       }
+}
+#else
+#define fdt_fixup_dma3(x)
+#endif
+
 #if defined(CONFIG_PPC_T1040)
 static void fdt_fixup_l2_switch(void *blob)
 {
@@ -778,6 +823,8 @@ void ft_cpu_setup(void *blob, bd_t *bd)
        fdt_fixup_usb(blob);
 
        fdt_fixup_l2_switch(blob);
+
+       fdt_fixup_dma3(blob);
 }
 
 /*
index a36a4af9daa84d7819d5aa804f2f15595f20100d..daf46a9ba86d83279a3654e6cef28f0e9f6e98d4 100644 (file)
@@ -42,7 +42,7 @@ int interrupt_init_cpu(unsigned int *decrementer_count)
        *decrementer_count = get_tbclk() / CONFIG_SYS_HZ;
 
        /* PIE is same as DIE, dec interrupt enable */
-       mtspr(SPRN_TCR, TCR_PIE);
+       mtspr(SPRN_TCR, mfspr(SPRN_TCR) | TCR_PIE);
 
 #ifdef CONFIG_INTERRUPTS
        pic->iivpr1 = 0x810001; /* 50220 enable ecm interrupts */
diff --git a/arch/powerpc/cpu/mpc86xx/Kconfig b/arch/powerpc/cpu/mpc86xx/Kconfig
new file mode 100644 (file)
index 0000000..f0ff441
--- /dev/null
@@ -0,0 +1,30 @@
+menu "mpc86xx CPU"
+       depends on MPC86xx
+
+config SYS_CPU
+       string
+       default "mpc86xx"
+
+choice
+       prompt "Target select"
+
+config TARGET_SBC8641D
+       bool "Support sbc8641d"
+
+config TARGET_MPC8610HPCD
+       bool "Support MPC8610HPCD"
+
+config TARGET_MPC8641HPCN
+       bool "Support MPC8641HPCN"
+
+config TARGET_XPEDITE517X
+       bool "Support xpedite517x"
+
+endchoice
+
+source "board/freescale/mpc8610hpcd/Kconfig"
+source "board/freescale/mpc8641hpcn/Kconfig"
+source "board/sbc8641d/Kconfig"
+source "board/xes/xpedite517x/Kconfig"
+
+endmenu
index 4c7235fcdef5bb71e263b5a4586770164a18ef88..69a0b96eadb742918daa651a0c210eca612f474a 100644 (file)
@@ -5,4 +5,4 @@
 # SPDX-License-Identifier:     GPL-2.0+
 #
 
-PLATFORM_CPPFLAGS += -DCONFIG_MPC86xx -mstring -maltivec -mabi=altivec -msoft-float
+PLATFORM_CPPFLAGS += -mstring -maltivec -mabi=altivec -msoft-float
diff --git a/arch/powerpc/cpu/mpc8xx/Kconfig b/arch/powerpc/cpu/mpc8xx/Kconfig
new file mode 100644 (file)
index 0000000..35608a6
--- /dev/null
@@ -0,0 +1,160 @@
+menu "mpc8xx CPU"
+       depends on 8xx
+
+config SYS_CPU
+       string
+       default "mpc8xx"
+
+choice
+       prompt "Target select"
+
+config TARGET_COGENT_MPC8XX
+       bool "Support cogent_mpc8xx"
+
+config TARGET_ESTEEM192E
+       bool "Support ESTEEM192E"
+
+config TARGET_FLAGADM
+       bool "Support FLAGADM"
+
+config TARGET_GEN860T
+       bool "Support GEN860T"
+
+config TARGET_HERMES
+       bool "Support hermes"
+
+config TARGET_ICU862
+       bool "Support ICU862"
+
+config TARGET_IP860
+       bool "Support IP860"
+
+config TARGET_IVML24
+       bool "Support IVML24"
+
+config TARGET_IVMS8
+       bool "Support IVMS8"
+
+config TARGET_LWMON
+       bool "Support lwmon"
+
+config TARGET_NETVIA
+       bool "Support NETVIA"
+
+config TARGET_R360MPI
+       bool "Support R360MPI"
+
+config TARGET_RRVISION
+       bool "Support RRvision"
+
+config TARGET_SXNI855T
+       bool "Support SXNI855T"
+
+config TARGET_SPD823TS
+       bool "Support SPD823TS"
+
+config TARGET_SVM_SC8XX
+       bool "Support svm_sc8xx"
+
+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_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_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_VIRTLAB2
+       bool "Support virtlab2"
+
+endchoice
+
+source "board/LEOX/elpt860/Kconfig"
+source "board/RRvision/Kconfig"
+source "board/cogent/Kconfig"
+source "board/eltec/mhpc/Kconfig"
+source "board/emk/top860/Kconfig"
+source "board/esteem192e/Kconfig"
+source "board/flagadm/Kconfig"
+source "board/gen860t/Kconfig"
+source "board/hermes/Kconfig"
+source "board/icu862/Kconfig"
+source "board/ip860/Kconfig"
+source "board/ivm/Kconfig"
+source "board/kup/kup4k/Kconfig"
+source "board/kup/kup4x/Kconfig"
+source "board/lwmon/Kconfig"
+source "board/manroland/uc100/Kconfig"
+source "board/netvia/Kconfig"
+source "board/r360mpi/Kconfig"
+source "board/sixnet/Kconfig"
+source "board/spd8xx/Kconfig"
+source "board/stx/stxxtc/Kconfig"
+source "board/svm_sc8xx/Kconfig"
+source "board/tqc/tqm8xx/Kconfig"
+
+endmenu
index ee2c883665cb2e0b08594a8dfb2837dcc9553f71..485e43d2de3cf95ac846ab3f9c73d84cd0217be8 100644 (file)
@@ -5,4 +5,4 @@
 # SPDX-License-Identifier:     GPL-2.0+
 #
 
-PLATFORM_CPPFLAGS += -DCONFIG_8xx -mstring -mcpu=860 -msoft-float
+PLATFORM_CPPFLAGS += -mstring -mcpu=860 -msoft-float
index 15561a15331d5c341125107bef2dc9d2bf1c5a04..84fec5ed289b03f5574d2fb71f2e147398d3025f 100644 (file)
@@ -65,7 +65,6 @@ static struct cpu_type cpu_type_list[] = {
        CPU_TYPE_ENTRY(T4080, T4080, 4),
        CPU_TYPE_ENTRY(B4860, B4860, 0),
        CPU_TYPE_ENTRY(G4860, G4860, 0),
-       CPU_TYPE_ENTRY(G4060, G4060, 0),
        CPU_TYPE_ENTRY(B4440, B4440, 0),
        CPU_TYPE_ENTRY(B4460, B4460, 0),
        CPU_TYPE_ENTRY(G4440, G4440, 0),
diff --git a/arch/powerpc/cpu/ppc4xx/Kconfig b/arch/powerpc/cpu/ppc4xx/Kconfig
new file mode 100644 (file)
index 0000000..2d15dd1
--- /dev/null
@@ -0,0 +1,322 @@
+menu "ppc4xx CPU"
+       depends on 4xx
+
+config SYS_CPU
+       string
+       default "ppc4xx"
+
+choice
+       prompt "Target select"
+
+config TARGET_CSB272
+       bool "Support csb272"
+
+config TARGET_CSB472
+       bool "Support csb472"
+
+config TARGET_G2000
+       bool "Support G2000"
+
+config TARGET_JSE
+       bool "Support JSE"
+
+config TARGET_KORAT
+       bool "Support korat"
+
+config TARGET_LWMON5
+       bool "Support lwmon5"
+
+config TARGET_PCS440EP
+       bool "Support pcs440ep"
+
+config TARGET_SBC405
+       bool "Support sbc405"
+
+config TARGET_SC3
+       bool "Support sc3"
+
+config TARGET_T3CORP
+       bool "Support t3corp"
+
+config TARGET_W7OLMC
+       bool "Support W7OLMC"
+
+config TARGET_W7OLMG
+       bool "Support W7OLMG"
+
+config TARGET_ZEUS
+       bool "Support zeus"
+
+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_CANYONLANDS
+       bool "Support canyonlands"
+
+config TARGET_EBONY
+       bool "Support ebony"
+
+config TARGET_KATMAI
+       bool "Support katmai"
+
+config TARGET_KILAUEA
+       bool "Support kilauea"
+
+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_SEQUOIA
+       bool "Support sequoia"
+
+config TARGET_TAIHU
+       bool "Support taihu"
+
+config TARGET_TAISHAN
+       bool "Support taishan"
+
+config TARGET_WALNUT
+       bool "Support walnut"
+
+config TARGET_YOSEMITE
+       bool "Support yosemite"
+
+config TARGET_YUCCA
+       bool "Support yucca"
+
+config TARGET_FX12MM
+       bool "Support fx12mm"
+
+config TARGET_V5FX30TEVAL
+       bool "Support v5fx30teval"
+
+config TARGET_CRAYL1
+       bool "Support CRAYL1"
+
+config TARGET_CATCENTER
+       bool "Support CATcenter"
+
+config TARGET_PPCHAMELEONEVB
+       bool "Support PPChameleonEVB"
+
+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_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_DLVISION
+       bool "Support dlvision"
+
+config TARGET_GDPPC440ETX
+       bool "Support gdppc440etx"
+
+config TARGET_INTIP
+       bool "Support intip"
+
+config TARGET_ICON
+       bool "Support icon"
+
+config TARGET_MIP405
+       bool "Support MIP405"
+
+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_XILINX_PPC405_GENERIC
+       bool "Support xilinx-ppc405-generic"
+
+config TARGET_XILINX_PPC440_GENERIC
+       bool "Support xilinx-ppc440-generic"
+
+endchoice
+
+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/avnet/fx12mm/Kconfig"
+source "board/avnet/v5fx30teval/Kconfig"
+source "board/cray/L1/Kconfig"
+source "board/csb272/Kconfig"
+source "board/csb472/Kconfig"
+source "board/dave/PPChameleonEVB/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/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/ocrtc/Kconfig"
+source "board/esd/pci405/Kconfig"
+source "board/esd/plu405/Kconfig"
+source "board/esd/pmc405/Kconfig"
+source "board/esd/pmc405de/Kconfig"
+source "board/esd/pmc440/Kconfig"
+source "board/esd/voh405/Kconfig"
+source "board/esd/vom405/Kconfig"
+source "board/esd/wuh405/Kconfig"
+source "board/g2000/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/jse/Kconfig"
+source "board/korat/Kconfig"
+source "board/lwmon5/Kconfig"
+source "board/mosaixtech/icon/Kconfig"
+source "board/mpl/mip405/Kconfig"
+source "board/mpl/pip405/Kconfig"
+source "board/pcs440ep/Kconfig"
+source "board/prodrive/alpr/Kconfig"
+source "board/prodrive/p3p440/Kconfig"
+source "board/sandburst/karef/Kconfig"
+source "board/sandburst/metrobox/Kconfig"
+source "board/sbc405/Kconfig"
+source "board/sc3/Kconfig"
+source "board/t3corp/Kconfig"
+source "board/w7o/Kconfig"
+source "board/xes/xpedite1000/Kconfig"
+source "board/xilinx/ml507/Kconfig"
+source "board/xilinx/ppc405-generic/Kconfig"
+source "board/xilinx/ppc440-generic/Kconfig"
+source "board/zeus/Kconfig"
+
+endmenu
index 102f069f9e9f5d9fc392dca3428256843b09ec9a..f87c9dc49be181f7f38eae492d362a09163b1d95 100644 (file)
@@ -5,10 +5,10 @@
 # SPDX-License-Identifier:     GPL-2.0+
 #
 
-PLATFORM_CPPFLAGS += -DCONFIG_4xx -mstring -msoft-float
+PLATFORM_CPPFLAGS += -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
index d465dcda8b123ae563fadafcccaf77059815f54c..0b27d2912d1ac44789e87b8bd96495840a08d18a 100644 (file)
@@ -12,9 +12,7 @@
 #include <asm/ppc4xx-gpio.h>
 #include <asm/ppc4xx.h>
 
-#if defined(CONFIG_405GP)  || defined(CONFIG_405EP)
 DECLARE_GLOBAL_DATA_PTR;
-#endif
 
 #ifndef CONFIG_SYS_PLL_RECONFIG
 #define CONFIG_SYS_PLL_RECONFIG        0
@@ -451,6 +449,8 @@ cpu_init_f (void)
        mtdcr(PLB4A1_ACR, (mfdcr(PLB4A1_ACR) & ~PLB4Ax_ACR_RDP_MASK) |
              PLB4Ax_ACR_RDP_4DEEP);
 #endif /* CONFIG_440SP/SPE || CONFIG_460EX/GT || CONFIG_405EX */
+
+       gd = (gd_t *)(CONFIG_SYS_INIT_RAM_ADDR + CONFIG_SYS_GBL_DATA_OFFSET);
 }
 
 /*
index cdc1f108728be352a2ad473b202ac9a216131d7e..d3a83910b6fce2c6449d30fa040f4b7c596686b2 100644 (file)
@@ -57,6 +57,12 @@ extern void unlock_ram_in_cache(void);
 #endif /* CONFIG_SYS_INIT_RAM_LOCK */
 #endif /* __ASSEMBLY__ */
 
+#if defined(__KERNEL__) && !defined(__ASSEMBLY__)
+int l2cache_init(void);
+void enable_cpc(void);
+void disable_cpc_sram(void);
+#endif
+
 /* prep registers for L2 */
 #define CACHECRBA       0x80000823      /* Cache configuration register address */
 #define L2CACHE_MASK   0x03    /* Mask for 2 L2 Cache bits */
index 8258ab3805009cd148dd9607a78f5acd556ddef4..dfb370e051b295d64226f203b4be23ed297e9e53 100644 (file)
@@ -2905,6 +2905,8 @@ struct ccsr_sfp_regs {
 #endif
 #define CONFIG_SYS_FSL_CORENET_SERDES_OFFSET   0xEA000
 #define CONFIG_SYS_FSL_CORENET_SERDES2_OFFSET  0xEB000
+#define CONFIG_SYS_FSL_CORENET_SERDES3_OFFSET  0xEC000
+#define CONFIG_SYS_FSL_CORENET_SERDES4_OFFSET  0xED000
 #define CONFIG_SYS_FSL_CPC_OFFSET              0x10000
 #define CONFIG_SYS_FSL_SCFG_OFFSET             0xFC000
 #define CONFIG_SYS_MPC85xx_DMA1_OFFSET         0x100000
@@ -3090,6 +3092,10 @@ struct ccsr_sfp_regs {
        (CONFIG_SYS_IMMR + CONFIG_SYS_FSL_CORENET_SERDES_OFFSET)
 #define CONFIG_SYS_FSL_CORENET_SERDES2_ADDR \
        (CONFIG_SYS_IMMR + CONFIG_SYS_FSL_CORENET_SERDES2_OFFSET)
+#define CONFIG_SYS_FSL_CORENET_SERDES3_ADDR \
+       (CONFIG_SYS_IMMR + CONFIG_SYS_FSL_CORENET_SERDES3_OFFSET)
+#define CONFIG_SYS_FSL_CORENET_SERDES4_ADDR \
+       (CONFIG_SYS_IMMR + CONFIG_SYS_FSL_CORENET_SERDES4_OFFSET)
 #define CONFIG_SYS_MPC85xx_USB1_ADDR \
        (CONFIG_SYS_IMMR + CONFIG_SYS_MPC85xx_USB1_OFFSET)
 #define CONFIG_SYS_MPC85xx_USB2_ADDR \
index d8b7b974d417b678626a07381fc7ca7393b6267a..a5257e9b6242956b7131c31f0f54510e734e879a 100644 (file)
@@ -123,6 +123,9 @@ static inline void isync(void)
 #define iobarrier_r()  eieio()
 #define iobarrier_w()  eieio()
 
+#define mb()   sync()
+#define isb()  isync()
+
 /*
  * Non ordered and non-swapping "raw" accessors
  */
index a5e7a612bfd136b718af6cf83e4b28918ef47abe..1b98e0f8a991f0b329592b0aa7b259988a09115d 100644 (file)
 #else
 #define SPRN_TCR       0x154   /* Book E Timer Control Register */
 #endif /* CONFIG_BOOKE */
+#ifdef CONFIG_E500MC
+#define  TCR_WP(x)             (((64-x)&0x3)<<30)| \
+                               (((64-x)&0x3c)<<15) /* WDT Period 2^x clocks*/
+#else
 #define   TCR_WP(x)            (((x)&0x3)<<30) /* WDT Period */
 #define     WP_2_17            0               /* 2^17 clocks */
 #define     WP_2_21            1               /* 2^21 clocks */
 #define     WP_2_25            2               /* 2^25 clocks */
 #define     WP_2_29            3               /* 2^29 clocks */
+#endif /* CONFIG_E500 */
 #define   TCR_WRC(x)           (((x)&0x3)<<28) /* WDT Reset Control */
 #define     WRC_NONE           0               /* No reset will occur */
 #define     WRC_CORE           1               /* Core reset will occur */
 #define SVR_B4860      0X868000
 #define SVR_G4860      0x868001
 #define SVR_B4460      0x868003
-#define SVR_G4060      0x868003
 #define SVR_B4440      0x868100
 #define SVR_G4440      0x868101
 #define SVR_B4420      0x868102
index 300ab12a3b593fd5704e6fab59a33595e411df7c..02962054f69edb9afc384a52522efb4c4d2d01da 100644 (file)
@@ -226,6 +226,9 @@ static int init_func_spi(void)
 #if defined(CONFIG_WATCHDOG)
 int init_func_watchdog_init(void)
 {
+#if defined(CONFIG_MPC85xx)
+       init_85xx_watchdog();
+#endif
        puts("       Watchdog enabled\n");
        WATCHDOG_RESET();
        return 0;
@@ -370,6 +373,11 @@ void board_init_f(ulong bootflag)
 #ifdef CONFIG_DEEP_SLEEP
        /* Jump to kernel in deep sleep case */
        if (in_be32(&gur->scrtsr[0]) & (1 << 3)) {
+               l2cache_init();
+#if defined(CONFIG_RAMBOOT_PBL)
+               disable_cpc_sram();
+#endif
+               enable_cpc();
                start_addr = in_be32(&scfg->sparecr[1]);
                kernel_resume = (func_t)start_addr;
                kernel_resume();
diff --git a/arch/sandbox/Kconfig b/arch/sandbox/Kconfig
new file mode 100644 (file)
index 0000000..c393550
--- /dev/null
@@ -0,0 +1,16 @@
+menu "Sandbox architecture"
+       depends on SANDBOX
+
+config SYS_ARCH
+       string
+       default "sandbox"
+
+config SYS_BOARD
+       string
+       default "sandbox"
+
+config SYS_CONFIG_NAME
+       string
+       default "sandbox"
+
+endmenu
index c3f889fb1cb1fcc1e6d8df22bd9ab652c46b9a7c..e38a44bd11011b68e6a7ba4bb64ab3cbabc811bd 100644 (file)
@@ -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/sh/Kconfig b/arch/sh/Kconfig
new file mode 100644 (file)
index 0000000..e6ded16
--- /dev/null
@@ -0,0 +1,98 @@
+menu "SuperH architecture"
+       depends on SH
+
+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"
+
+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"
+
+endmenu
diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig
new file mode 100644 (file)
index 0000000..fc92910
--- /dev/null
@@ -0,0 +1,34 @@
+menu "SPARC architecture"
+       depends on SPARC
+
+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"
+
+endmenu
index be59f5819009f7a87a25d948e0f3c2bf5a4516de..196d28af84eddc41dbb08431595bb748079597c3 100644 (file)
@@ -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/Kconfig b/arch/x86/Kconfig
new file mode 100644 (file)
index 0000000..8fc619a
--- /dev/null
@@ -0,0 +1,18 @@
+menu "x86 architecture"
+       depends on X86
+
+config SYS_ARCH
+       string
+       default "x86"
+
+choice
+       prompt "Target select"
+
+config TARGET_COREBOOT
+       bool "Support coreboot"
+
+endchoice
+
+source "board/chromebook-x86/coreboot/Kconfig"
+
+endmenu
index 4b2c873b0efce6bde6e1ea2d6a194e2ff1ea6083..f7b01d36e03c958d860d1a0692b9faf59be252dc 100644 (file)
@@ -7,7 +7,7 @@
 
 CROSS_COMPILE ?= i386-linux-
 
-PLATFORM_CPPFLAGS += -DCONFIG_X86 -D__I386__ -Werror
+PLATFORM_CPPFLAGS += -D__I386__ -Werror
 
 # DO NOT MODIFY THE FOLLOWING UNLESS YOU REALLY KNOW WHAT YOU ARE DOING!
 LDPPFLAGS += -DRESET_SEG_START=0xffff0000
diff --git a/board/8dtech/eco5pk/Kconfig b/board/8dtech/eco5pk/Kconfig
new file mode 100644 (file)
index 0000000..fb1b308
--- /dev/null
@@ -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/8dtech/eco5pk/MAINTAINERS b/board/8dtech/eco5pk/MAINTAINERS
new file mode 100644 (file)
index 0000000..20c1c8c
--- /dev/null
@@ -0,0 +1,6 @@
+ECO5PK BOARD
+M:     Raphael Assenat <raph@8d.com>
+S:     Maintained
+F:     board/8dtech/eco5pk/
+F:     include/configs/eco5pk.h
+F:     configs/eco5pk_defconfig
diff --git a/board/AndesTech/adp-ag101/Kconfig b/board/AndesTech/adp-ag101/Kconfig
new file mode 100644 (file)
index 0000000..3567543
--- /dev/null
@@ -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-ag101/MAINTAINERS b/board/AndesTech/adp-ag101/MAINTAINERS
new file mode 100644 (file)
index 0000000..1f0169b
--- /dev/null
@@ -0,0 +1,6 @@
+ADP-AG101 BOARD
+M:     Andes <uboot@andestech.com>
+S:     Maintained
+F:     board/AndesTech/adp-ag101/
+F:     include/configs/adp-ag101.h
+F:     configs/adp-ag101_defconfig
diff --git a/board/AndesTech/adp-ag101p/Kconfig b/board/AndesTech/adp-ag101p/Kconfig
new file mode 100644 (file)
index 0000000..ee551a6
--- /dev/null
@@ -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-ag101p/MAINTAINERS b/board/AndesTech/adp-ag101p/MAINTAINERS
new file mode 100644 (file)
index 0000000..9a2c7a3
--- /dev/null
@@ -0,0 +1,6 @@
+ADP-AG101P BOARD
+M:     Andes <uboot@andestech.com>
+S:     Maintained
+F:     board/AndesTech/adp-ag101p/
+F:     include/configs/adp-ag101p.h
+F:     configs/adp-ag101p_defconfig
diff --git a/board/AndesTech/adp-ag102/Kconfig b/board/AndesTech/adp-ag102/Kconfig
new file mode 100644 (file)
index 0000000..34566bd
--- /dev/null
@@ -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/AndesTech/adp-ag102/MAINTAINERS b/board/AndesTech/adp-ag102/MAINTAINERS
new file mode 100644 (file)
index 0000000..94b87c7
--- /dev/null
@@ -0,0 +1,6 @@
+ADP-AG102 BOARD
+M:     Andes <uboot@andestech.com>
+S:     Maintained
+F:     board/AndesTech/adp-ag102/
+F:     include/configs/adp-ag102.h
+F:     configs/adp-ag102_defconfig
diff --git a/board/Barix/ipam390/Kconfig b/board/Barix/ipam390/Kconfig
new file mode 100644 (file)
index 0000000..a813447
--- /dev/null
@@ -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/Barix/ipam390/MAINTAINERS b/board/Barix/ipam390/MAINTAINERS
new file mode 100644 (file)
index 0000000..640e34f
--- /dev/null
@@ -0,0 +1,6 @@
+IPAM390 BOARD
+M:     Heiko Schocher <hs@denx.de>
+S:     Maintained
+F:     board/Barix/ipam390/
+F:     include/configs/ipam390.h
+F:     configs/ipam390_defconfig
diff --git a/board/BuR/kwb/Kconfig b/board/BuR/kwb/Kconfig
new file mode 100644 (file)
index 0000000..5676c4f
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/BuR/kwb/MAINTAINERS b/board/BuR/kwb/MAINTAINERS
new file mode 100644 (file)
index 0000000..c28fb49
--- /dev/null
@@ -0,0 +1,6 @@
+KWB BOARD
+M:     Hannes Petermaier <hannes.petermaier@br-automation.com>
+S:     Maintained
+F:     board/BuR/kwb/
+F:     include/configs/kwb.h
+F:     configs/kwb_defconfig
diff --git a/board/BuR/tseries/Kconfig b/board/BuR/tseries/Kconfig
new file mode 100644 (file)
index 0000000..f452023
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_TSERIES
+
+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"
+
+endif
diff --git a/board/BuR/tseries/MAINTAINERS b/board/BuR/tseries/MAINTAINERS
new file mode 100644 (file)
index 0000000..e57326a
--- /dev/null
@@ -0,0 +1,8 @@
+TSERIES BOARD
+M:     Hannes Petermaier <hannes.petermaier@br-automation.com>
+S:     Maintained
+F:     board/BuR/tseries/
+F:     include/configs/tseries.h
+F:     configs/tseries_mmc_defconfig
+F:     configs/tseries_nand_defconfig
+F:     configs/tseries_spi_defconfig
diff --git a/board/BuS/eb_cpu5282/Kconfig b/board/BuS/eb_cpu5282/Kconfig
new file mode 100644 (file)
index 0000000..f53f295
--- /dev/null
@@ -0,0 +1,19 @@
+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"
+
+endif
diff --git a/board/BuS/eb_cpu5282/MAINTAINERS b/board/BuS/eb_cpu5282/MAINTAINERS
new file mode 100644 (file)
index 0000000..87298ad
--- /dev/null
@@ -0,0 +1,7 @@
+EB_CPU5282 BOARD
+M:     Jens Scharsig <esw@bus-elektronik.de>
+S:     Maintained
+F:     board/BuS/eb_cpu5282/
+F:     include/configs/eb_cpu5282.h
+F:     configs/eb_cpu5282_defconfig
+F:     configs/eb_cpu5282_internal_defconfig
diff --git a/board/BuS/eb_cpux9k2/Kconfig b/board/BuS/eb_cpux9k2/Kconfig
new file mode 100644 (file)
index 0000000..3a36cf3
--- /dev/null
@@ -0,0 +1,23 @@
+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
diff --git a/board/BuS/eb_cpux9k2/MAINTAINERS b/board/BuS/eb_cpux9k2/MAINTAINERS
new file mode 100644 (file)
index 0000000..81c4349
--- /dev/null
@@ -0,0 +1,7 @@
+EB_CPUX9K2 BOARD
+M:     Jens Scharsig <esw@bus-elektronik.de>
+S:     Maintained
+F:     board/BuS/eb_cpux9k2/
+F:     include/configs/eb_cpux9k2.h
+F:     configs/eb_cpux9k2_defconfig
+F:     configs/eb_cpux9k2_ram_defconfig
diff --git a/board/BuS/vl_ma2sc/Kconfig b/board/BuS/vl_ma2sc/Kconfig
new file mode 100644 (file)
index 0000000..d4a6e52
--- /dev/null
@@ -0,0 +1,23 @@
+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
diff --git a/board/BuS/vl_ma2sc/MAINTAINERS b/board/BuS/vl_ma2sc/MAINTAINERS
new file mode 100644 (file)
index 0000000..b70104d
--- /dev/null
@@ -0,0 +1,7 @@
+VL_MA2SC BOARD
+M:     Jens Scharsig <esw@bus-elektronik.de>
+S:     Maintained
+F:     board/BuS/vl_ma2sc/
+F:     include/configs/vl_ma2sc.h
+F:     configs/vl_ma2sc_defconfig
+F:     configs/vl_ma2sc_ram_defconfig
diff --git a/board/CarMediaLab/flea3/Kconfig b/board/CarMediaLab/flea3/Kconfig
new file mode 100644 (file)
index 0000000..cbc004a
--- /dev/null
@@ -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/CarMediaLab/flea3/MAINTAINERS b/board/CarMediaLab/flea3/MAINTAINERS
new file mode 100644 (file)
index 0000000..c7b0df7
--- /dev/null
@@ -0,0 +1,6 @@
+FLEA3 BOARD
+M:     Stefano Babic <sbabic@denx.de>
+S:     Maintained
+F:     board/CarMediaLab/flea3/
+F:     include/configs/flea3.h
+F:     configs/flea3_defconfig
diff --git a/board/LEOX/elpt860/Kconfig b/board/LEOX/elpt860/Kconfig
new file mode 100644 (file)
index 0000000..2cfa5bc
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_ELPT860
+
+config SYS_BOARD
+       string
+       default "elpt860"
+
+config SYS_VENDOR
+       string
+       default "LEOX"
+
+config SYS_CONFIG_NAME
+       string
+       default "ELPT860"
+
+endif
diff --git a/board/LEOX/elpt860/MAINTAINERS b/board/LEOX/elpt860/MAINTAINERS
new file mode 100644 (file)
index 0000000..8f8a199
--- /dev/null
@@ -0,0 +1,6 @@
+ELPT860 BOARD
+M:     The LEOX team <team@leox.org>
+S:     Maintained
+F:     board/LEOX/elpt860/
+F:     include/configs/ELPT860.h
+F:     configs/ELPT860_defconfig
diff --git a/board/LaCie/edminiv2/Kconfig b/board/LaCie/edminiv2/Kconfig
new file mode 100644 (file)
index 0000000..f1151d1
--- /dev/null
@@ -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/edminiv2/MAINTAINERS b/board/LaCie/edminiv2/MAINTAINERS
new file mode 100644 (file)
index 0000000..e0591f4
--- /dev/null
@@ -0,0 +1,6 @@
+EDMINIV2 BOARD
+M:     Albert ARIBAUD <albert.u.boot@aribaud.net>
+S:     Maintained
+F:     board/LaCie/edminiv2/
+F:     include/configs/edminiv2.h
+F:     configs/edminiv2_defconfig
diff --git a/board/LaCie/net2big_v2/Kconfig b/board/LaCie/net2big_v2/Kconfig
new file mode 100644 (file)
index 0000000..867d0d3
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/LaCie/net2big_v2/MAINTAINERS b/board/LaCie/net2big_v2/MAINTAINERS
new file mode 100644 (file)
index 0000000..1afaa5c
--- /dev/null
@@ -0,0 +1,11 @@
+NET2BIG_V2 BOARD
+M:     -
+S:     Maintained
+F:     board/LaCie/net2big_v2/
+F:     include/configs/lacie_kw.h
+F:     configs/d2net_v2_defconfig
+
+NET2BIG_V2 BOARD
+M:     Simon Guinot <simon.guinot@sequanux.org>
+S:     Maintained
+F:     configs/net2big_v2_defconfig
diff --git a/board/LaCie/netspace_v2/Kconfig b/board/LaCie/netspace_v2/Kconfig
new file mode 100644 (file)
index 0000000..fb6fbef
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/LaCie/netspace_v2/MAINTAINERS b/board/LaCie/netspace_v2/MAINTAINERS
new file mode 100644 (file)
index 0000000..ad3dfa1
--- /dev/null
@@ -0,0 +1,14 @@
+NETSPACE_V2 BOARD
+M:     Simon Guinot <simon.guinot@sequanux.org>
+S:     Maintained
+F:     board/LaCie/netspace_v2/
+F:     include/configs/lacie_kw.h
+F:     configs/inetspace_v2_defconfig
+F:     configs/netspace_max_v2_defconfig
+F:     configs/netspace_v2_defconfig
+
+NETSPACE_LITE_V2 BOARD
+M:     -
+S:     Maintained
+F:     configs/netspace_lite_v2_defconfig
+F:     configs/netspace_mini_v2_defconfig
diff --git a/board/LaCie/wireless_space/Kconfig b/board/LaCie/wireless_space/Kconfig
new file mode 100644 (file)
index 0000000..4815cde
--- /dev/null
@@ -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/LaCie/wireless_space/MAINTAINERS b/board/LaCie/wireless_space/MAINTAINERS
new file mode 100644 (file)
index 0000000..8b36bff
--- /dev/null
@@ -0,0 +1,6 @@
+WIRELESS_SPACE BOARD
+M:     -
+S:     Maintained
+F:     board/LaCie/wireless_space/
+F:     include/configs/wireless_space.h
+F:     configs/wireless_space_defconfig
diff --git a/board/Marvell/aspenite/Kconfig b/board/Marvell/aspenite/Kconfig
new file mode 100644 (file)
index 0000000..7edcd81
--- /dev/null
@@ -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/aspenite/MAINTAINERS b/board/Marvell/aspenite/MAINTAINERS
new file mode 100644 (file)
index 0000000..a77d30e
--- /dev/null
@@ -0,0 +1,6 @@
+ASPENITE BOARD
+M:     Prafulla Wadaskar <prafulla@marvell.com>
+S:     Maintained
+F:     board/Marvell/aspenite/
+F:     include/configs/aspenite.h
+F:     configs/aspenite_defconfig
diff --git a/board/Marvell/db64360/Kconfig b/board/Marvell/db64360/Kconfig
new file mode 100644 (file)
index 0000000..c08fd05
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_DB64360
+
+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/db64360/MAINTAINERS b/board/Marvell/db64360/MAINTAINERS
new file mode 100644 (file)
index 0000000..7383207
--- /dev/null
@@ -0,0 +1,6 @@
+DB64360 BOARD
+M:     -
+S:     Maintained
+F:     board/Marvell/db64360/
+F:     include/configs/DB64360.h
+F:     configs/DB64360_defconfig
diff --git a/board/Marvell/db64460/Kconfig b/board/Marvell/db64460/Kconfig
new file mode 100644 (file)
index 0000000..3cd2eb4
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_DB64460
+
+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/db64460/MAINTAINERS b/board/Marvell/db64460/MAINTAINERS
new file mode 100644 (file)
index 0000000..751aac2
--- /dev/null
@@ -0,0 +1,6 @@
+DB64460 BOARD
+M:     -
+S:     Maintained
+F:     board/Marvell/db64460/
+F:     include/configs/DB64460.h
+F:     configs/DB64460_defconfig
diff --git a/board/Marvell/dkb/Kconfig b/board/Marvell/dkb/Kconfig
new file mode 100644 (file)
index 0000000..7ce761b
--- /dev/null
@@ -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/dkb/MAINTAINERS b/board/Marvell/dkb/MAINTAINERS
new file mode 100644 (file)
index 0000000..c272b7a
--- /dev/null
@@ -0,0 +1,6 @@
+DKB BOARD
+M:     Lei Wen <leiwen@marvell.com>
+S:     Maintained
+F:     board/Marvell/dkb/
+F:     include/configs/dkb.h
+F:     configs/dkb_defconfig
diff --git a/board/Marvell/dreamplug/Kconfig b/board/Marvell/dreamplug/Kconfig
new file mode 100644 (file)
index 0000000..e067318
--- /dev/null
@@ -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/dreamplug/MAINTAINERS b/board/Marvell/dreamplug/MAINTAINERS
new file mode 100644 (file)
index 0000000..2561ba8
--- /dev/null
@@ -0,0 +1,6 @@
+DREAMPLUG BOARD
+M:     Jason Cooper <u-boot@lakedaemon.net>
+S:     Maintained
+F:     board/Marvell/dreamplug/
+F:     include/configs/dreamplug.h
+F:     configs/dreamplug_defconfig
diff --git a/board/Marvell/gplugd/Kconfig b/board/Marvell/gplugd/Kconfig
new file mode 100644 (file)
index 0000000..94cdd48
--- /dev/null
@@ -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/gplugd/MAINTAINERS b/board/Marvell/gplugd/MAINTAINERS
new file mode 100644 (file)
index 0000000..320bc09
--- /dev/null
@@ -0,0 +1,6 @@
+GPLUGD BOARD
+M:     Ajay Bhargav <ajay.bhargav@einfochips.com>
+S:     Maintained
+F:     board/Marvell/gplugd/
+F:     include/configs/gplugd.h
+F:     configs/gplugd_defconfig
diff --git a/board/Marvell/guruplug/Kconfig b/board/Marvell/guruplug/Kconfig
new file mode 100644 (file)
index 0000000..fce8562
--- /dev/null
@@ -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/guruplug/MAINTAINERS b/board/Marvell/guruplug/MAINTAINERS
new file mode 100644 (file)
index 0000000..b5d0734
--- /dev/null
@@ -0,0 +1,6 @@
+GURUPLUG BOARD
+M:     Siddarth Gore <gores@marvell.com>
+S:     Maintained
+F:     board/Marvell/guruplug/
+F:     include/configs/guruplug.h
+F:     configs/guruplug_defconfig
diff --git a/board/Marvell/mv88f6281gtw_ge/Kconfig b/board/Marvell/mv88f6281gtw_ge/Kconfig
new file mode 100644 (file)
index 0000000..17adab0
--- /dev/null
@@ -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/mv88f6281gtw_ge/MAINTAINERS b/board/Marvell/mv88f6281gtw_ge/MAINTAINERS
new file mode 100644 (file)
index 0000000..9c26ca7
--- /dev/null
@@ -0,0 +1,6 @@
+MV88F6281GTW_GE BOARD
+M:     Prafulla Wadaskar <prafulla@marvell.com>
+S:     Maintained
+F:     board/Marvell/mv88f6281gtw_ge/
+F:     include/configs/mv88f6281gtw_ge.h
+F:     configs/mv88f6281gtw_ge_defconfig
diff --git a/board/Marvell/openrd/Kconfig b/board/Marvell/openrd/Kconfig
new file mode 100644 (file)
index 0000000..2dfed34
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_OPENRD
+
+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"
+
+endif
diff --git a/board/Marvell/openrd/MAINTAINERS b/board/Marvell/openrd/MAINTAINERS
new file mode 100644 (file)
index 0000000..7a52a8e
--- /dev/null
@@ -0,0 +1,12 @@
+OPENRD BOARD
+M:     Prafulla Wadaskar <prafulla@marvell.com>
+S:     Maintained
+F:     board/Marvell/openrd/
+F:     include/configs/openrd.h
+F:     configs/openrd_base_defconfig
+
+OPENRD_CLIENT BOARD
+M:     -
+S:     Maintained
+F:     configs/openrd_client_defconfig
+F:     configs/openrd_ultimate_defconfig
diff --git a/board/Marvell/rd6281a/Kconfig b/board/Marvell/rd6281a/Kconfig
new file mode 100644 (file)
index 0000000..ae753b0
--- /dev/null
@@ -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/rd6281a/MAINTAINERS b/board/Marvell/rd6281a/MAINTAINERS
new file mode 100644 (file)
index 0000000..d4ad592
--- /dev/null
@@ -0,0 +1,6 @@
+RD6281A BOARD
+M:     Prafulla Wadaskar <prafulla@marvell.com>
+S:     Maintained
+F:     board/Marvell/rd6281a/
+F:     include/configs/rd6281a.h
+F:     configs/rd6281a_defconfig
diff --git a/board/Marvell/sheevaplug/Kconfig b/board/Marvell/sheevaplug/Kconfig
new file mode 100644 (file)
index 0000000..6f3eb38
--- /dev/null
@@ -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/Marvell/sheevaplug/MAINTAINERS b/board/Marvell/sheevaplug/MAINTAINERS
new file mode 100644 (file)
index 0000000..2b0103d
--- /dev/null
@@ -0,0 +1,6 @@
+SHEEVAPLUG BOARD
+M:     Prafulla Wadaskar <prafulla@marvell.com>
+S:     Maintained
+F:     board/Marvell/sheevaplug/
+F:     include/configs/sheevaplug.h
+F:     configs/sheevaplug_defconfig
diff --git a/board/RRvision/Kconfig b/board/RRvision/Kconfig
new file mode 100644 (file)
index 0000000..ac6bebc
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_RRVISION
+
+config SYS_BOARD
+       string
+       default "RRvision"
+
+config SYS_CONFIG_NAME
+       string
+       default "RRvision"
+
+endif
diff --git a/board/RRvision/MAINTAINERS b/board/RRvision/MAINTAINERS
new file mode 100644 (file)
index 0000000..59b5c5f
--- /dev/null
@@ -0,0 +1,7 @@
+RRVISION BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/RRvision/
+F:     include/configs/RRvision.h
+F:     configs/RRvision_defconfig
+F:     configs/RRvision_LCD_defconfig
diff --git a/board/Seagate/dockstar/Kconfig b/board/Seagate/dockstar/Kconfig
new file mode 100644 (file)
index 0000000..4696ac6
--- /dev/null
@@ -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/dockstar/MAINTAINERS b/board/Seagate/dockstar/MAINTAINERS
new file mode 100644 (file)
index 0000000..f259e58
--- /dev/null
@@ -0,0 +1,6 @@
+DOCKSTAR BOARD
+M:     Eric Cooper <ecc@cmu.edu>
+S:     Maintained
+F:     board/Seagate/dockstar/
+F:     include/configs/dockstar.h
+F:     configs/dockstar_defconfig
diff --git a/board/Seagate/goflexhome/Kconfig b/board/Seagate/goflexhome/Kconfig
new file mode 100644 (file)
index 0000000..0f918cb
--- /dev/null
@@ -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/Seagate/goflexhome/MAINTAINERS b/board/Seagate/goflexhome/MAINTAINERS
new file mode 100644 (file)
index 0000000..6d6a1ff
--- /dev/null
@@ -0,0 +1,6 @@
+GOFLEXHOME BOARD
+M:     Suriyan Ramasami <suriyan.r@gmail.com>
+S:     Maintained
+F:     board/Seagate/goflexhome/
+F:     include/configs/goflexhome.h
+F:     configs/goflexhome_defconfig
diff --git a/board/a3000/Kconfig b/board/a3000/Kconfig
new file mode 100644 (file)
index 0000000..9ce64fd
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_A3000
+
+config SYS_BOARD
+       string
+       default "a3000"
+
+config SYS_CONFIG_NAME
+       string
+       default "A3000"
+
+endif
diff --git a/board/a3000/MAINTAINERS b/board/a3000/MAINTAINERS
new file mode 100644 (file)
index 0000000..2d8560f
--- /dev/null
@@ -0,0 +1,6 @@
+A3000 BOARD
+M:     -
+S:     Maintained
+F:     board/a3000/
+F:     include/configs/A3000.h
+F:     configs/A3000_defconfig
diff --git a/board/a3m071/Kconfig b/board/a3m071/Kconfig
new file mode 100644 (file)
index 0000000..ab32d5c
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_A3M071
+
+config SYS_BOARD
+       string
+       default "a3m071"
+
+config SYS_CONFIG_NAME
+       string
+       default "a3m071"
+
+endif
diff --git a/board/a3m071/MAINTAINERS b/board/a3m071/MAINTAINERS
new file mode 100644 (file)
index 0000000..975107d
--- /dev/null
@@ -0,0 +1,7 @@
+A3M071 BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/a3m071/
+F:     include/configs/a3m071.h
+F:     configs/a3m071_defconfig
+F:     configs/a4m2k_defconfig
diff --git a/board/a4m072/Kconfig b/board/a4m072/Kconfig
new file mode 100644 (file)
index 0000000..cc31947
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_A4M072
+
+config SYS_BOARD
+       string
+       default "a4m072"
+
+config SYS_CONFIG_NAME
+       string
+       default "a4m072"
+
+endif
diff --git a/board/a4m072/MAINTAINERS b/board/a4m072/MAINTAINERS
new file mode 100644 (file)
index 0000000..83dc59e
--- /dev/null
@@ -0,0 +1,6 @@
+A4M072 BOARD
+M:     Sergei Poselenov <sposelenov@emcraft.com>
+S:     Maintained
+F:     board/a4m072/
+F:     include/configs/a4m072.h
+F:     configs/a4m072_defconfig
diff --git a/board/abilis/tb100/Kconfig b/board/abilis/tb100/Kconfig
new file mode 100644 (file)
index 0000000..eccf928
--- /dev/null
@@ -0,0 +1,19 @@
+if TARGET_TB100
+
+config SYS_CPU
+       string
+       default "arc700"
+
+config SYS_BOARD
+       string
+       default "tb100"
+
+config SYS_VENDOR
+       string
+       default "abilis"
+
+config SYS_CONFIG_NAME
+       string
+       default "tb100"
+
+endif
diff --git a/board/abilis/tb100/MAINTAINERS b/board/abilis/tb100/MAINTAINERS
new file mode 100644 (file)
index 0000000..f08c3fe
--- /dev/null
@@ -0,0 +1,6 @@
+TB100 BOARD
+M:     Alexey Brodkin <abrodkin@synopsys.com>
+S:     Maintained
+F:     board/abilis/tb100/
+F:     include/configs/tb100.h
+F:     configs/tb100_defconfig
diff --git a/board/afeb9260/Kconfig b/board/afeb9260/Kconfig
new file mode 100644 (file)
index 0000000..008d943
--- /dev/null
@@ -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/afeb9260/MAINTAINERS b/board/afeb9260/MAINTAINERS
new file mode 100644 (file)
index 0000000..337f302
--- /dev/null
@@ -0,0 +1,6 @@
+AFEB9260 BOARD
+M:     Sergey Lapin <slapin@ossfans.org>
+S:     Maintained
+F:     board/afeb9260/
+F:     include/configs/afeb9260.h
+F:     configs/afeb9260_defconfig
diff --git a/board/ait/cam_enc_4xx/Kconfig b/board/ait/cam_enc_4xx/Kconfig
new file mode 100644 (file)
index 0000000..d1f89df
--- /dev/null
@@ -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/ait/cam_enc_4xx/MAINTAINERS b/board/ait/cam_enc_4xx/MAINTAINERS
new file mode 100644 (file)
index 0000000..d6477c6
--- /dev/null
@@ -0,0 +1,6 @@
+CAM_ENC_4XX BOARD
+M:     Heiko Schocher <hs@denx.de>
+S:     Maintained
+F:     board/ait/cam_enc_4xx/
+F:     include/configs/cam_enc_4xx.h
+F:     configs/cam_enc_4xx_defconfig
diff --git a/board/alphaproject/ap_sh4a_4a/Kconfig b/board/alphaproject/ap_sh4a_4a/Kconfig
new file mode 100644 (file)
index 0000000..7893164
--- /dev/null
@@ -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/alphaproject/ap_sh4a_4a/MAINTAINERS b/board/alphaproject/ap_sh4a_4a/MAINTAINERS
new file mode 100644 (file)
index 0000000..f24489d
--- /dev/null
@@ -0,0 +1,7 @@
+AP_SH4A_4A BOARD
+M:     Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
+M:     Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+S:     Maintained
+F:     board/alphaproject/ap_sh4a_4a/
+F:     include/configs/ap_sh4a_4a.h
+F:     configs/ap_sh4a_4a_defconfig
diff --git a/board/altera/nios2-generic/Kconfig b/board/altera/nios2-generic/Kconfig
new file mode 100644 (file)
index 0000000..1209638
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_NIOS2_GENERIC
+
+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/nios2-generic/MAINTAINERS b/board/altera/nios2-generic/MAINTAINERS
new file mode 100644 (file)
index 0000000..9cbcba9
--- /dev/null
@@ -0,0 +1,6 @@
+NIOS2-GENERIC BOARD
+M:     Scott McNutt <smcnutt@psyent.com>
+S:     Maintained
+F:     board/altera/nios2-generic/
+F:     include/configs/nios2-generic.h
+F:     configs/nios2-generic_defconfig
diff --git a/board/altera/socfpga/Kconfig b/board/altera/socfpga/Kconfig
new file mode 100644 (file)
index 0000000..d0d9012
--- /dev/null
@@ -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/altera/socfpga/MAINTAINERS b/board/altera/socfpga/MAINTAINERS
new file mode 100644 (file)
index 0000000..626c0f7
--- /dev/null
@@ -0,0 +1,7 @@
+SOCFPGA BOARD
+M:     Dinh Nguyen <dinguyen@altera.com>
+M:     Chin-Liang See <clsee@altera.com>
+S:     Maintained
+F:     board/altera/socfpga/
+F:     include/configs/socfpga_cyclone5.h
+F:     configs/socfpga_cyclone5_defconfig
diff --git a/board/amcc/acadia/Kconfig b/board/amcc/acadia/Kconfig
new file mode 100644 (file)
index 0000000..096f02e
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_ACADIA
+
+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/acadia/MAINTAINERS b/board/amcc/acadia/MAINTAINERS
new file mode 100644 (file)
index 0000000..c16961f
--- /dev/null
@@ -0,0 +1,6 @@
+ACADIA BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/amcc/acadia/
+F:     include/configs/acadia.h
+F:     configs/acadia_defconfig
diff --git a/board/amcc/bamboo/Kconfig b/board/amcc/bamboo/Kconfig
new file mode 100644 (file)
index 0000000..a002cfa
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_BAMBOO
+
+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/bamboo/MAINTAINERS b/board/amcc/bamboo/MAINTAINERS
new file mode 100644 (file)
index 0000000..4c8929e
--- /dev/null
@@ -0,0 +1,6 @@
+BAMBOO BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/amcc/bamboo/
+F:     include/configs/bamboo.h
+F:     configs/bamboo_defconfig
diff --git a/board/amcc/bluestone/Kconfig b/board/amcc/bluestone/Kconfig
new file mode 100644 (file)
index 0000000..2f5999d
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_BLUESTONE
+
+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/bluestone/MAINTAINERS b/board/amcc/bluestone/MAINTAINERS
new file mode 100644 (file)
index 0000000..4a329e9
--- /dev/null
@@ -0,0 +1,6 @@
+BLUESTONE BOARD
+M:     Tirumala Marri <tmarri@apm.com>
+S:     Orphan (since 2014-03)
+F:     board/amcc/bluestone/
+F:     include/configs/bluestone.h
+F:     configs/bluestone_defconfig
diff --git a/board/amcc/bubinga/Kconfig b/board/amcc/bubinga/Kconfig
new file mode 100644 (file)
index 0000000..29f769b
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_BUBINGA
+
+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/bubinga/MAINTAINERS b/board/amcc/bubinga/MAINTAINERS
new file mode 100644 (file)
index 0000000..9d5ace2
--- /dev/null
@@ -0,0 +1,6 @@
+BUBINGA BOARD
+M:     -
+S:     Maintained
+F:     board/amcc/bubinga/
+F:     include/configs/bubinga.h
+F:     configs/bubinga_defconfig
diff --git a/board/amcc/canyonlands/Kconfig b/board/amcc/canyonlands/Kconfig
new file mode 100644 (file)
index 0000000..545056a
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_CANYONLANDS
+
+config SYS_BOARD
+       string
+       default "canyonlands"
+
+config SYS_VENDOR
+       string
+       default "amcc"
+
+config SYS_CONFIG_NAME
+       string
+       default "canyonlands"
+
+endif
diff --git a/board/amcc/canyonlands/MAINTAINERS b/board/amcc/canyonlands/MAINTAINERS
new file mode 100644 (file)
index 0000000..52bf004
--- /dev/null
@@ -0,0 +1,8 @@
+CANYONLANDS BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/amcc/canyonlands/
+F:     include/configs/canyonlands.h
+F:     configs/arches_defconfig
+F:     configs/canyonlands_defconfig
+F:     configs/glacier_defconfig
diff --git a/board/amcc/ebony/Kconfig b/board/amcc/ebony/Kconfig
new file mode 100644 (file)
index 0000000..cc1448f
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_EBONY
+
+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/ebony/MAINTAINERS b/board/amcc/ebony/MAINTAINERS
new file mode 100644 (file)
index 0000000..bc62851
--- /dev/null
@@ -0,0 +1,6 @@
+EBONY BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/amcc/ebony/
+F:     include/configs/ebony.h
+F:     configs/ebony_defconfig
diff --git a/board/amcc/katmai/Kconfig b/board/amcc/katmai/Kconfig
new file mode 100644 (file)
index 0000000..2a8d783
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_KATMAI
+
+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/katmai/MAINTAINERS b/board/amcc/katmai/MAINTAINERS
new file mode 100644 (file)
index 0000000..f089352
--- /dev/null
@@ -0,0 +1,6 @@
+KATMAI BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/amcc/katmai/
+F:     include/configs/katmai.h
+F:     configs/katmai_defconfig
diff --git a/board/amcc/kilauea/Kconfig b/board/amcc/kilauea/Kconfig
new file mode 100644 (file)
index 0000000..3564cc3
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_KILAUEA
+
+config SYS_BOARD
+       string
+       default "kilauea"
+
+config SYS_VENDOR
+       string
+       default "amcc"
+
+config SYS_CONFIG_NAME
+       string
+       default "kilauea"
+
+endif
diff --git a/board/amcc/kilauea/MAINTAINERS b/board/amcc/kilauea/MAINTAINERS
new file mode 100644 (file)
index 0000000..12bbcb1
--- /dev/null
@@ -0,0 +1,7 @@
+KILAUEA BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/amcc/kilauea/
+F:     include/configs/kilauea.h
+F:     configs/haleakala_defconfig
+F:     configs/kilauea_defconfig
diff --git a/board/amcc/luan/Kconfig b/board/amcc/luan/Kconfig
new file mode 100644 (file)
index 0000000..7f19980
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_LUAN
+
+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/luan/MAINTAINERS b/board/amcc/luan/MAINTAINERS
new file mode 100644 (file)
index 0000000..a23296d
--- /dev/null
@@ -0,0 +1,6 @@
+LUAN BOARD
+M:     John Otken <jotken@softadvances.com>
+S:     Maintained
+F:     board/amcc/luan/
+F:     include/configs/luan.h
+F:     configs/luan_defconfig
diff --git a/board/amcc/makalu/Kconfig b/board/amcc/makalu/Kconfig
new file mode 100644 (file)
index 0000000..7f95bdc
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MAKALU
+
+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/makalu/MAINTAINERS b/board/amcc/makalu/MAINTAINERS
new file mode 100644 (file)
index 0000000..ecd5e19
--- /dev/null
@@ -0,0 +1,6 @@
+MAKALU BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/amcc/makalu/
+F:     include/configs/makalu.h
+F:     configs/makalu_defconfig
diff --git a/board/amcc/ocotea/Kconfig b/board/amcc/ocotea/Kconfig
new file mode 100644 (file)
index 0000000..5eaf812
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_OCOTEA
+
+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/ocotea/MAINTAINERS b/board/amcc/ocotea/MAINTAINERS
new file mode 100644 (file)
index 0000000..34634a2
--- /dev/null
@@ -0,0 +1,6 @@
+OCOTEA BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/amcc/ocotea/
+F:     include/configs/ocotea.h
+F:     configs/ocotea_defconfig
diff --git a/board/amcc/redwood/Kconfig b/board/amcc/redwood/Kconfig
new file mode 100644 (file)
index 0000000..001d400
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_REDWOOD
+
+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/redwood/MAINTAINERS b/board/amcc/redwood/MAINTAINERS
new file mode 100644 (file)
index 0000000..756b301
--- /dev/null
@@ -0,0 +1,6 @@
+REDWOOD BOARD
+M:     Feng Kan <fkan@amcc.com>
+S:     Maintained
+F:     board/amcc/redwood/
+F:     include/configs/redwood.h
+F:     configs/redwood_defconfig
diff --git a/board/amcc/sequoia/Kconfig b/board/amcc/sequoia/Kconfig
new file mode 100644 (file)
index 0000000..ddcaced
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_SEQUOIA
+
+config SYS_BOARD
+       string
+       default "sequoia"
+
+config SYS_VENDOR
+       string
+       default "amcc"
+
+config SYS_CONFIG_NAME
+       string
+       default "sequoia"
+
+endif
diff --git a/board/amcc/sequoia/MAINTAINERS b/board/amcc/sequoia/MAINTAINERS
new file mode 100644 (file)
index 0000000..6c28a37
--- /dev/null
@@ -0,0 +1,9 @@
+SEQUOIA BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/amcc/sequoia/
+F:     include/configs/sequoia.h
+F:     configs/rainier_defconfig
+F:     configs/rainier_ramboot_defconfig
+F:     configs/sequoia_defconfig
+F:     configs/sequoia_ramboot_defconfig
diff --git a/board/amcc/taihu/Kconfig b/board/amcc/taihu/Kconfig
new file mode 100644 (file)
index 0000000..8411a82
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_TAIHU
+
+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/taihu/MAINTAINERS b/board/amcc/taihu/MAINTAINERS
new file mode 100644 (file)
index 0000000..2efc254
--- /dev/null
@@ -0,0 +1,6 @@
+TAIHU BOARD
+M:     John Otken <jotken@softadvances.com>
+S:     Maintained
+F:     board/amcc/taihu/
+F:     include/configs/taihu.h
+F:     configs/taihu_defconfig
diff --git a/board/amcc/taishan/Kconfig b/board/amcc/taishan/Kconfig
new file mode 100644 (file)
index 0000000..0022063
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_TAISHAN
+
+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/taishan/MAINTAINERS b/board/amcc/taishan/MAINTAINERS
new file mode 100644 (file)
index 0000000..d9d80bf
--- /dev/null
@@ -0,0 +1,6 @@
+TAISHAN BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/amcc/taishan/
+F:     include/configs/taishan.h
+F:     configs/taishan_defconfig
diff --git a/board/amcc/walnut/Kconfig b/board/amcc/walnut/Kconfig
new file mode 100644 (file)
index 0000000..f98cec5
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_WALNUT
+
+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/walnut/MAINTAINERS b/board/amcc/walnut/MAINTAINERS
new file mode 100644 (file)
index 0000000..2a98c85
--- /dev/null
@@ -0,0 +1,7 @@
+WALNUT BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/amcc/walnut/
+F:     include/configs/walnut.h
+F:     configs/sycamore_defconfig
+F:     configs/walnut_defconfig
diff --git a/board/amcc/yosemite/Kconfig b/board/amcc/yosemite/Kconfig
new file mode 100644 (file)
index 0000000..8aa62c0
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_YOSEMITE
+
+config SYS_BOARD
+       string
+       default "yosemite"
+
+config SYS_VENDOR
+       string
+       default "amcc"
+
+config SYS_CONFIG_NAME
+       string
+       default "yosemite"
+
+endif
diff --git a/board/amcc/yosemite/MAINTAINERS b/board/amcc/yosemite/MAINTAINERS
new file mode 100644 (file)
index 0000000..3f553e1
--- /dev/null
@@ -0,0 +1,7 @@
+YOSEMITE BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/amcc/yosemite/
+F:     include/configs/yosemite.h
+F:     configs/yellowstone_defconfig
+F:     configs/yosemite_defconfig
diff --git a/board/amcc/yucca/Kconfig b/board/amcc/yucca/Kconfig
new file mode 100644 (file)
index 0000000..945333f
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_YUCCA
+
+config SYS_BOARD
+       string
+       default "yucca"
+
+config SYS_VENDOR
+       string
+       default "amcc"
+
+config SYS_CONFIG_NAME
+       string
+       default "yucca"
+
+endif
diff --git a/board/amcc/yucca/MAINTAINERS b/board/amcc/yucca/MAINTAINERS
new file mode 100644 (file)
index 0000000..0663003
--- /dev/null
@@ -0,0 +1,6 @@
+YUCCA BOARD
+M:     -
+S:     Maintained
+F:     board/amcc/yucca/
+F:     include/configs/yucca.h
+F:     configs/yucca_defconfig
diff --git a/board/armadeus/apf27/Kconfig b/board/armadeus/apf27/Kconfig
new file mode 100644 (file)
index 0000000..f2d33c6
--- /dev/null
@@ -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/armadeus/apf27/MAINTAINERS b/board/armadeus/apf27/MAINTAINERS
new file mode 100644 (file)
index 0000000..09f0525
--- /dev/null
@@ -0,0 +1,7 @@
+APF27 BOARD
+M:     Philippe Reynes <tremyfr@yahoo.fr>
+M:     Eric Jarrige <eric.jarrige@armadeus.org>
+S:     Maintained
+F:     board/armadeus/apf27/
+F:     include/configs/apf27.h
+F:     configs/apf27_defconfig
diff --git a/board/armltd/integrator/Kconfig b/board/armltd/integrator/Kconfig
new file mode 100644 (file)
index 0000000..c1ac6b1
--- /dev/null
@@ -0,0 +1,159 @@
+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"
+
+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"
+
+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"
+
+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"
+
+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"
+
+endif
+
+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"
+
+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"
+
+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"
+
+endif
diff --git a/board/armltd/integrator/MAINTAINERS b/board/armltd/integrator/MAINTAINERS
new file mode 100644 (file)
index 0000000..8af765e
--- /dev/null
@@ -0,0 +1,14 @@
+INTEGRATOR BOARD
+M:     Linus Walleij <linus.walleij@linaro.org>
+S:     Maintained
+F:     board/armltd/integrator/
+F:     include/configs/integratorcp.h
+F:     configs/integratorcp_cm1136_defconfig
+F:     include/configs/integratorap.h
+F:     configs/integratorap_cm720t_defconfig
+F:     configs/integratorap_cm920t_defconfig
+F:     configs/integratorcp_cm920t_defconfig
+F:     configs/integratorap_cm926ejs_defconfig
+F:     configs/integratorcp_cm926ejs_defconfig
+F:     configs/integratorap_cm946es_defconfig
+F:     configs/integratorcp_cm946es_defconfig
diff --git a/board/armltd/versatile/Kconfig b/board/armltd/versatile/Kconfig
new file mode 100644 (file)
index 0000000..f96d0b2
--- /dev/null
@@ -0,0 +1,71 @@
+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"
+
+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"
+
+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"
+
+endif
diff --git a/board/armltd/versatile/MAINTAINERS b/board/armltd/versatile/MAINTAINERS
new file mode 100644 (file)
index 0000000..f390e53
--- /dev/null
@@ -0,0 +1,8 @@
+VERSATILE BOARD
+M:     -
+S:     Maintained
+F:     board/armltd/versatile/
+F:     include/configs/versatile.h
+F:     configs/versatileab_defconfig
+F:     configs/versatilepb_defconfig
+F:     configs/versatileqemu_defconfig
diff --git a/board/armltd/vexpress/Kconfig b/board/armltd/vexpress/Kconfig
new file mode 100644 (file)
index 0000000..e49e871
--- /dev/null
@@ -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/vexpress/MAINTAINERS b/board/armltd/vexpress/MAINTAINERS
new file mode 100644 (file)
index 0000000..cfde7f2
--- /dev/null
@@ -0,0 +1,14 @@
+VEXPRESS BOARD
+M:     -
+S:     Maintained
+F:     board/armltd/vexpress/
+F:     include/configs/vexpress_ca15_tc2.h
+F:     configs/vexpress_ca15_tc2_defconfig
+
+VEXPRESS_CA5X2 BOARD
+M:     Matt Waddel <matt.waddel@linaro.org>
+S:     Maintained
+F:     include/configs/vexpress_ca5x2.h
+F:     configs/vexpress_ca5x2_defconfig
+F:     include/configs/vexpress_ca9x4.h
+F:     configs/vexpress_ca9x4_defconfig
diff --git a/board/armltd/vexpress64/Kconfig b/board/armltd/vexpress64/Kconfig
new file mode 100644 (file)
index 0000000..91eb8d2
--- /dev/null
@@ -0,0 +1,39 @@
+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"
+
+endif
+
+if TARGET_VEXPRESS_AEMV8A_SEMI
+
+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"
+
+endif
diff --git a/board/armltd/vexpress64/MAINTAINERS b/board/armltd/vexpress64/MAINTAINERS
new file mode 100644 (file)
index 0000000..97c4b0e
--- /dev/null
@@ -0,0 +1,11 @@
+VEXPRESS64 BOARD
+M:     David Feng <fenghua@phytium.com.cn>
+S:     Maintained
+F:     board/armltd/vexpress64/
+F:     include/configs/vexpress_aemv8a.h
+F:     configs/vexpress_aemv8a_defconfig
+
+VEXPRESS_AEMV8A_SEMI BOARD
+M:     Steve Rae <srae@broadcom.com>
+S:     Maintained
+F:     configs/vexpress_aemv8a_semi_defconfig
diff --git a/board/astro/mcf5373l/Kconfig b/board/astro/mcf5373l/Kconfig
new file mode 100644 (file)
index 0000000..6e947dc
--- /dev/null
@@ -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/astro/mcf5373l/MAINTAINERS b/board/astro/mcf5373l/MAINTAINERS
new file mode 100644 (file)
index 0000000..6c23da7
--- /dev/null
@@ -0,0 +1,6 @@
+MCF5373L BOARD
+M:     Wolfgang Wegner <w.wegner@astro-kom.de>
+S:     Maintained
+F:     board/astro/mcf5373l/
+F:     include/configs/astro_mcf5373l.h
+F:     configs/astro_mcf5373l_defconfig
diff --git a/board/atc/Kconfig b/board/atc/Kconfig
new file mode 100644 (file)
index 0000000..826753f
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_ATC
+
+config SYS_BOARD
+       string
+       default "atc"
+
+config SYS_CONFIG_NAME
+       string
+       default "atc"
+
+endif
diff --git a/board/atc/MAINTAINERS b/board/atc/MAINTAINERS
new file mode 100644 (file)
index 0000000..1c5d61e
--- /dev/null
@@ -0,0 +1,6 @@
+ATC BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/atc/
+F:     include/configs/atc.h
+F:     configs/atc_defconfig
diff --git a/board/atmark-techno/armadillo-800eva/Kconfig b/board/atmark-techno/armadillo-800eva/Kconfig
new file mode 100644 (file)
index 0000000..c8f89fe
--- /dev/null
@@ -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/atmark-techno/armadillo-800eva/MAINTAINERS b/board/atmark-techno/armadillo-800eva/MAINTAINERS
new file mode 100644 (file)
index 0000000..6f547d8
--- /dev/null
@@ -0,0 +1,6 @@
+ARMADILLO-800EVA BOARD
+M:     Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
+S:     Maintained
+F:     board/atmark-techno/armadillo-800eva/
+F:     include/configs/armadillo-800eva.h
+F:     configs/armadillo-800eva_defconfig
diff --git a/board/atmel/at91rm9200ek/Kconfig b/board/atmel/at91rm9200ek/Kconfig
new file mode 100644 (file)
index 0000000..d7ee4f4
--- /dev/null
@@ -0,0 +1,23 @@
+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
diff --git a/board/atmel/at91rm9200ek/MAINTAINERS b/board/atmel/at91rm9200ek/MAINTAINERS
new file mode 100644 (file)
index 0000000..d2a479b
--- /dev/null
@@ -0,0 +1,7 @@
+AT91RM9200EK BOARD
+M:     Andreas Bießmann <andreas.devel@gmail.com>
+S:     Maintained
+F:     board/atmel/at91rm9200ek/
+F:     include/configs/at91rm9200ek.h
+F:     configs/at91rm9200ek_defconfig
+F:     configs/at91rm9200ek_ram_defconfig
diff --git a/board/atmel/at91sam9260ek/Kconfig b/board/atmel/at91sam9260ek/Kconfig
new file mode 100644 (file)
index 0000000..14af5bc
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_AT91SAM9260EK
+
+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"
+
+endif
diff --git a/board/atmel/at91sam9260ek/MAINTAINERS b/board/atmel/at91sam9260ek/MAINTAINERS
new file mode 100644 (file)
index 0000000..0c7c721
--- /dev/null
@@ -0,0 +1,16 @@
+AT91SAM9260EK BOARD
+M:     Stelian Pop <stelian@popies.net>
+S:     Maintained
+F:     board/atmel/at91sam9260ek/
+F:     include/configs/at91sam9260ek.h
+F:     configs/at91sam9260ek_dataflash_cs0_defconfig
+F:     configs/at91sam9260ek_dataflash_cs1_defconfig
+F:     configs/at91sam9260ek_nandflash_defconfig
+F:     configs/at91sam9g20ek_2mmc_nandflash_defconfig
+F:     configs/at91sam9g20ek_dataflash_cs0_defconfig
+F:     configs/at91sam9g20ek_dataflash_cs1_defconfig
+F:     configs/at91sam9g20ek_mmc_defconfig
+F:     configs/at91sam9g20ek_nandflash_defconfig
+F:     configs/at91sam9xeek_dataflash_cs0_defconfig
+F:     configs/at91sam9xeek_dataflash_cs1_defconfig
+F:     configs/at91sam9xeek_nandflash_defconfig
diff --git a/board/atmel/at91sam9261ek/Kconfig b/board/atmel/at91sam9261ek/Kconfig
new file mode 100644 (file)
index 0000000..63dcdd8
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_AT91SAM9261EK
+
+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"
+
+endif
diff --git a/board/atmel/at91sam9261ek/MAINTAINERS b/board/atmel/at91sam9261ek/MAINTAINERS
new file mode 100644 (file)
index 0000000..682dfdf
--- /dev/null
@@ -0,0 +1,11 @@
+AT91SAM9261EK BOARD
+M:     Stelian Pop <stelian@popies.net>
+S:     Maintained
+F:     board/atmel/at91sam9261ek/
+F:     include/configs/at91sam9261ek.h
+F:     configs/at91sam9261ek_dataflash_cs0_defconfig
+F:     configs/at91sam9261ek_dataflash_cs3_defconfig
+F:     configs/at91sam9261ek_nandflash_defconfig
+F:     configs/at91sam9g10ek_dataflash_cs0_defconfig
+F:     configs/at91sam9g10ek_dataflash_cs3_defconfig
+F:     configs/at91sam9g10ek_nandflash_defconfig
diff --git a/board/atmel/at91sam9263ek/Kconfig b/board/atmel/at91sam9263ek/Kconfig
new file mode 100644 (file)
index 0000000..fa0a58a
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_AT91SAM9263EK
+
+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"
+
+endif
diff --git a/board/atmel/at91sam9263ek/MAINTAINERS b/board/atmel/at91sam9263ek/MAINTAINERS
new file mode 100644 (file)
index 0000000..3b4b654
--- /dev/null
@@ -0,0 +1,10 @@
+AT91SAM9263EK BOARD
+M:     Stelian Pop <stelian@popies.net>
+S:     Maintained
+F:     board/atmel/at91sam9263ek/
+F:     include/configs/at91sam9263ek.h
+F:     configs/at91sam9263ek_dataflash_defconfig
+F:     configs/at91sam9263ek_dataflash_cs0_defconfig
+F:     configs/at91sam9263ek_nandflash_defconfig
+F:     configs/at91sam9263ek_norflash_defconfig
+F:     configs/at91sam9263ek_norflash_boot_defconfig
diff --git a/board/atmel/at91sam9m10g45ek/Kconfig b/board/atmel/at91sam9m10g45ek/Kconfig
new file mode 100644 (file)
index 0000000..8567f95
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_AT91SAM9M10G45EK
+
+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"
+
+endif
diff --git a/board/atmel/at91sam9m10g45ek/MAINTAINERS b/board/atmel/at91sam9m10g45ek/MAINTAINERS
new file mode 100644 (file)
index 0000000..6389e6a
--- /dev/null
@@ -0,0 +1,7 @@
+AT91SAM9M10G45EK BOARD
+M:     Bo Shen <voice.shen@atmel.com>
+S:     Maintained
+F:     board/atmel/at91sam9m10g45ek/
+F:     include/configs/at91sam9m10g45ek.h
+F:     configs/at91sam9m10g45ek_mmc_defconfig
+F:     configs/at91sam9m10g45ek_nandflash_defconfig
diff --git a/board/atmel/at91sam9n12ek/Kconfig b/board/atmel/at91sam9n12ek/Kconfig
new file mode 100644 (file)
index 0000000..4fc714b
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_AT91SAM9N12EK
+
+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"
+
+endif
diff --git a/board/atmel/at91sam9n12ek/MAINTAINERS b/board/atmel/at91sam9n12ek/MAINTAINERS
new file mode 100644 (file)
index 0000000..82a9192
--- /dev/null
@@ -0,0 +1,8 @@
+AT91SAM9N12EK BOARD
+M:     Josh Wu <josh.wu@atmel.com>
+S:     Maintained
+F:     board/atmel/at91sam9n12ek/
+F:     include/configs/at91sam9n12ek.h
+F:     configs/at91sam9n12ek_mmc_defconfig
+F:     configs/at91sam9n12ek_nandflash_defconfig
+F:     configs/at91sam9n12ek_spiflash_defconfig
diff --git a/board/atmel/at91sam9rlek/Kconfig b/board/atmel/at91sam9rlek/Kconfig
new file mode 100644 (file)
index 0000000..178f80d
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_AT91SAM9RLEK
+
+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"
+
+endif
diff --git a/board/atmel/at91sam9rlek/MAINTAINERS b/board/atmel/at91sam9rlek/MAINTAINERS
new file mode 100644 (file)
index 0000000..7dd8ef7
--- /dev/null
@@ -0,0 +1,7 @@
+AT91SAM9RLEK BOARD
+M:     Stelian Pop <stelian@popies.net>
+S:     Maintained
+F:     board/atmel/at91sam9rlek/
+F:     include/configs/at91sam9rlek.h
+F:     configs/at91sam9rlek_dataflash_defconfig
+F:     configs/at91sam9rlek_nandflash_defconfig
diff --git a/board/atmel/at91sam9x5ek/Kconfig b/board/atmel/at91sam9x5ek/Kconfig
new file mode 100644 (file)
index 0000000..0a0b132
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_AT91SAM9X5EK
+
+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"
+
+endif
diff --git a/board/atmel/at91sam9x5ek/MAINTAINERS b/board/atmel/at91sam9x5ek/MAINTAINERS
new file mode 100644 (file)
index 0000000..5fea489
--- /dev/null
@@ -0,0 +1,9 @@
+AT91SAM9X5EK BOARD
+M:     Bo Shen <voice.shen@atmel.com>
+S:     Maintained
+F:     board/atmel/at91sam9x5ek/
+F:     include/configs/at91sam9x5ek.h
+F:     configs/at91sam9x5ek_dataflash_defconfig
+F:     configs/at91sam9x5ek_mmc_defconfig
+F:     configs/at91sam9x5ek_nandflash_defconfig
+F:     configs/at91sam9x5ek_spiflash_defconfig
diff --git a/board/atmel/atngw100/Kconfig b/board/atmel/atngw100/Kconfig
new file mode 100644 (file)
index 0000000..a966b31
--- /dev/null
@@ -0,0 +1,19 @@
+if TARGET_ATNGW100
+
+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/atngw100/MAINTAINERS b/board/atmel/atngw100/MAINTAINERS
new file mode 100644 (file)
index 0000000..dd698ea
--- /dev/null
@@ -0,0 +1,6 @@
+ATNGW100 BOARD
+M:     Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
+S:     Orphan (since 2014-06)
+F:     board/atmel/atngw100/
+F:     include/configs/atngw100.h
+F:     configs/atngw100_defconfig
diff --git a/board/atmel/atngw100mkii/Kconfig b/board/atmel/atngw100mkii/Kconfig
new file mode 100644 (file)
index 0000000..dcea07e
--- /dev/null
@@ -0,0 +1,19 @@
+if TARGET_ATNGW100MKII
+
+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/atngw100mkii/MAINTAINERS b/board/atmel/atngw100mkii/MAINTAINERS
new file mode 100644 (file)
index 0000000..212363e
--- /dev/null
@@ -0,0 +1,6 @@
+ATNGW100MKII BOARD
+M:     Andreas Bießmann <andreas.devel@googlemail.com>
+S:     Maintained
+F:     board/atmel/atngw100mkii/
+F:     include/configs/atngw100mkii.h
+F:     configs/atngw100mkii_defconfig
diff --git a/board/atmel/atstk1000/Kconfig b/board/atmel/atstk1000/Kconfig
new file mode 100644 (file)
index 0000000..1a24409
--- /dev/null
@@ -0,0 +1,79 @@
+if TARGET_ATSTK1002
+
+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_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_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_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/atstk1000/MAINTAINERS b/board/atmel/atstk1000/MAINTAINERS
new file mode 100644 (file)
index 0000000..76365b0
--- /dev/null
@@ -0,0 +1,12 @@
+ATSTK1000 BOARD
+M:     Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
+S:     Orphan (since 2014-06)
+F:     board/atmel/atstk1000/
+F:     include/configs/atstk1002.h
+F:     configs/atstk1002_defconfig
+F:     include/configs/atstk1003.h
+F:     configs/atstk1003_defconfig
+F:     include/configs/atstk1004.h
+F:     configs/atstk1004_defconfig
+F:     include/configs/atstk1006.h
+F:     configs/atstk1006_defconfig
diff --git a/board/atmel/sama5d3_xplained/Kconfig b/board/atmel/sama5d3_xplained/Kconfig
new file mode 100644 (file)
index 0000000..603b241
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_SAMA5D3_XPLAINED
+
+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"
+
+endif
diff --git a/board/atmel/sama5d3_xplained/MAINTAINERS b/board/atmel/sama5d3_xplained/MAINTAINERS
new file mode 100644 (file)
index 0000000..8a09c19
--- /dev/null
@@ -0,0 +1,7 @@
+SAMA5D3_XPLAINED BOARD
+M:     Bo Shen <voice.shen@atmel.com>
+S:     Maintained
+F:     board/atmel/sama5d3_xplained/
+F:     include/configs/sama5d3_xplained.h
+F:     configs/sama5d3_xplained_mmc_defconfig
+F:     configs/sama5d3_xplained_nandflash_defconfig
diff --git a/board/atmel/sama5d3xek/Kconfig b/board/atmel/sama5d3xek/Kconfig
new file mode 100644 (file)
index 0000000..5b4eb6f
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_SAMA5D3XEK
+
+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"
+
+endif
diff --git a/board/atmel/sama5d3xek/MAINTAINERS b/board/atmel/sama5d3xek/MAINTAINERS
new file mode 100644 (file)
index 0000000..560303c
--- /dev/null
@@ -0,0 +1,8 @@
+SAMA5D3XEK BOARD
+M:     Bo Shen <voice.shen@atmel.com>
+S:     Maintained
+F:     board/atmel/sama5d3xek/
+F:     include/configs/sama5d3xek.h
+F:     configs/sama5d3xek_mmc_defconfig
+F:     configs/sama5d3xek_nandflash_defconfig
+F:     configs/sama5d3xek_spiflash_defconfig
diff --git a/board/avionic-design/medcom-wide/Kconfig b/board/avionic-design/medcom-wide/Kconfig
new file mode 100644 (file)
index 0000000..2472fe2
--- /dev/null
@@ -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/medcom-wide/MAINTAINERS b/board/avionic-design/medcom-wide/MAINTAINERS
new file mode 100644 (file)
index 0000000..0a00fcf
--- /dev/null
@@ -0,0 +1,6 @@
+MEDCOM-WIDE BOARD
+M:     Alban Bedel <alban.bedel@avionic-design.de>
+S:     Maintained
+F:     board/avionic-design/medcom-wide/
+F:     include/configs/medcom-wide.h
+F:     configs/medcom-wide_defconfig
diff --git a/board/avionic-design/plutux/Kconfig b/board/avionic-design/plutux/Kconfig
new file mode 100644 (file)
index 0000000..a697a54
--- /dev/null
@@ -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/plutux/MAINTAINERS b/board/avionic-design/plutux/MAINTAINERS
new file mode 100644 (file)
index 0000000..e8ef509
--- /dev/null
@@ -0,0 +1,6 @@
+PLUTUX BOARD
+M:     Alban Bedel <alban.bedel@avionic-design.de>
+S:     Maintained
+F:     board/avionic-design/plutux/
+F:     include/configs/plutux.h
+F:     configs/plutux_defconfig
diff --git a/board/avionic-design/tec-ng/Kconfig b/board/avionic-design/tec-ng/Kconfig
new file mode 100644 (file)
index 0000000..f52edda
--- /dev/null
@@ -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-ng/MAINTAINERS b/board/avionic-design/tec-ng/MAINTAINERS
new file mode 100644 (file)
index 0000000..5cbdf8e
--- /dev/null
@@ -0,0 +1,6 @@
+TEC-NG BOARD
+M:     Alban Bedel <alban.bedel@avionic-design.de>
+S:     Maintained
+F:     board/avionic-design/tec-ng/
+F:     include/configs/tec-ng.h
+F:     configs/tec-ng_defconfig
diff --git a/board/avionic-design/tec/Kconfig b/board/avionic-design/tec/Kconfig
new file mode 100644 (file)
index 0000000..d19e3f4
--- /dev/null
@@ -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/avionic-design/tec/MAINTAINERS b/board/avionic-design/tec/MAINTAINERS
new file mode 100644 (file)
index 0000000..10f1aac
--- /dev/null
@@ -0,0 +1,6 @@
+TEC BOARD
+M:     Alban Bedel <alban.bedel@avionic-design.de>
+S:     Maintained
+F:     board/avionic-design/tec/
+F:     include/configs/tec.h
+F:     configs/tec_defconfig
diff --git a/board/avnet/fx12mm/Kconfig b/board/avnet/fx12mm/Kconfig
new file mode 100644 (file)
index 0000000..7b1687e
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_FX12MM
+
+config SYS_BOARD
+       string
+       default "fx12mm"
+
+config SYS_VENDOR
+       string
+       default "avnet"
+
+config SYS_CONFIG_NAME
+       string
+       default "fx12mm"
+
+endif
diff --git a/board/avnet/fx12mm/MAINTAINERS b/board/avnet/fx12mm/MAINTAINERS
new file mode 100644 (file)
index 0000000..c92e258
--- /dev/null
@@ -0,0 +1,7 @@
+FX12MM BOARD
+M:     Georg Schardt <schardt@team-ctech.de>
+S:     Maintained
+F:     board/avnet/fx12mm/
+F:     include/configs/fx12mm.h
+F:     configs/fx12mm_defconfig
+F:     configs/fx12mm_flash_defconfig
diff --git a/board/avnet/v5fx30teval/Kconfig b/board/avnet/v5fx30teval/Kconfig
new file mode 100644 (file)
index 0000000..8ae22e9
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_V5FX30TEVAL
+
+config SYS_BOARD
+       string
+       default "v5fx30teval"
+
+config SYS_VENDOR
+       string
+       default "avnet"
+
+config SYS_CONFIG_NAME
+       string
+       default "v5fx30teval"
+
+endif
diff --git a/board/avnet/v5fx30teval/MAINTAINERS b/board/avnet/v5fx30teval/MAINTAINERS
new file mode 100644 (file)
index 0000000..91dde7a
--- /dev/null
@@ -0,0 +1,7 @@
+V5FX30TEVAL BOARD
+M:     Ricardo Ribalda <ricardo.ribalda@uam.es>
+S:     Maintained
+F:     board/avnet/v5fx30teval/
+F:     include/configs/v5fx30teval.h
+F:     configs/v5fx30teval_defconfig
+F:     configs/v5fx30teval_flash_defconfig
diff --git a/board/balloon3/Kconfig b/board/balloon3/Kconfig
new file mode 100644 (file)
index 0000000..aee2193
--- /dev/null
@@ -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/balloon3/MAINTAINERS b/board/balloon3/MAINTAINERS
new file mode 100644 (file)
index 0000000..df9a5bb
--- /dev/null
@@ -0,0 +1,6 @@
+BALLOON3 BOARD
+M:     Marek Vasut <marek.vasut@gmail.com>
+S:     Maintained
+F:     board/balloon3/
+F:     include/configs/balloon3.h
+F:     configs/balloon3_defconfig
diff --git a/board/barco/titanium/Kconfig b/board/barco/titanium/Kconfig
new file mode 100644 (file)
index 0000000..a2ddd87
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/barco/titanium/MAINTAINERS b/board/barco/titanium/MAINTAINERS
new file mode 100644 (file)
index 0000000..7e9913f
--- /dev/null
@@ -0,0 +1,6 @@
+TITANIUM BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/barco/titanium/
+F:     include/configs/titanium.h
+F:     configs/titanium_defconfig
diff --git a/board/bc3450/Kconfig b/board/bc3450/Kconfig
new file mode 100644 (file)
index 0000000..ba058db
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BC3450
+
+config SYS_BOARD
+       string
+       default "bc3450"
+
+config SYS_CONFIG_NAME
+       string
+       default "BC3450"
+
+endif
diff --git a/board/bc3450/MAINTAINERS b/board/bc3450/MAINTAINERS
new file mode 100644 (file)
index 0000000..e2a8363
--- /dev/null
@@ -0,0 +1,6 @@
+BC3450 BOARD
+M:     -
+S:     Maintained
+F:     board/bc3450/
+F:     include/configs/BC3450.h
+F:     configs/BC3450_defconfig
diff --git a/board/bct-brettl2/Kconfig b/board/bct-brettl2/Kconfig
new file mode 100644 (file)
index 0000000..c3e3837
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BCT_BRETTL2
+
+config SYS_BOARD
+       string
+       default "bct-brettl2"
+
+config SYS_CONFIG_NAME
+       string
+       default "bct-brettl2"
+
+endif
diff --git a/board/bct-brettl2/MAINTAINERS b/board/bct-brettl2/MAINTAINERS
new file mode 100644 (file)
index 0000000..32245d4
--- /dev/null
@@ -0,0 +1,6 @@
+BCT-BRETTL2 BOARD
+M:     Peter Meerwald <devel@bct-electronic.com>
+S:     Maintained
+F:     board/bct-brettl2/
+F:     include/configs/bct-brettl2.h
+F:     configs/bct-brettl2_defconfig
diff --git a/board/bf506f-ezkit/Kconfig b/board/bf506f-ezkit/Kconfig
new file mode 100644 (file)
index 0000000..749ad2b
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BF506F_EZKIT
+
+config SYS_BOARD
+       string
+       default "bf506f-ezkit"
+
+config SYS_CONFIG_NAME
+       string
+       default "bf506f-ezkit"
+
+endif
diff --git a/board/bf506f-ezkit/MAINTAINERS b/board/bf506f-ezkit/MAINTAINERS
new file mode 100644 (file)
index 0000000..aaf1b7e
--- /dev/null
@@ -0,0 +1,6 @@
+BF506F-EZKIT BOARD
+M:     Sonic Zhang <sonic.adi@gmail.com>
+S:     Maintained
+F:     board/bf506f-ezkit/
+F:     include/configs/bf506f-ezkit.h
+F:     configs/bf506f-ezkit_defconfig
diff --git a/board/bf518f-ezbrd/Kconfig b/board/bf518f-ezbrd/Kconfig
new file mode 100644 (file)
index 0000000..5656d1c
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BF518F_EZBRD
+
+config SYS_BOARD
+       string
+       default "bf518f-ezbrd"
+
+config SYS_CONFIG_NAME
+       string
+       default "bf518f-ezbrd"
+
+endif
diff --git a/board/bf518f-ezbrd/MAINTAINERS b/board/bf518f-ezbrd/MAINTAINERS
new file mode 100644 (file)
index 0000000..6727ae4
--- /dev/null
@@ -0,0 +1,6 @@
+BF518F-EZBRD BOARD
+M:     Sonic Zhang <sonic.adi@gmail.com>
+S:     Maintained
+F:     board/bf518f-ezbrd/
+F:     include/configs/bf518f-ezbrd.h
+F:     configs/bf518f-ezbrd_defconfig
diff --git a/board/bf525-ucr2/Kconfig b/board/bf525-ucr2/Kconfig
new file mode 100644 (file)
index 0000000..5967d04
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BF525_UCR2
+
+config SYS_BOARD
+       string
+       default "bf525-ucr2"
+
+config SYS_CONFIG_NAME
+       string
+       default "bf525-ucr2"
+
+endif
diff --git a/board/bf525-ucr2/MAINTAINERS b/board/bf525-ucr2/MAINTAINERS
new file mode 100644 (file)
index 0000000..f2e9575
--- /dev/null
@@ -0,0 +1,7 @@
+BF525-UCR2 BOARD
+M:     Haitao Zhang <hzhang@ucrobotics.com>
+M:     Chong Huang <chuang@ucrobotics.com>
+S:     Maintained
+F:     board/bf525-ucr2/
+F:     include/configs/bf525-ucr2.h
+F:     configs/bf525-ucr2_defconfig
diff --git a/board/bf526-ezbrd/Kconfig b/board/bf526-ezbrd/Kconfig
new file mode 100644 (file)
index 0000000..6793c0e
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BF526_EZBRD
+
+config SYS_BOARD
+       string
+       default "bf526-ezbrd"
+
+config SYS_CONFIG_NAME
+       string
+       default "bf526-ezbrd"
+
+endif
diff --git a/board/bf526-ezbrd/MAINTAINERS b/board/bf526-ezbrd/MAINTAINERS
new file mode 100644 (file)
index 0000000..f7c2d18
--- /dev/null
@@ -0,0 +1,6 @@
+BF526-EZBRD BOARD
+M:     Sonic Zhang <sonic.adi@gmail.com>
+S:     Maintained
+F:     board/bf526-ezbrd/
+F:     include/configs/bf526-ezbrd.h
+F:     configs/bf526-ezbrd_defconfig
diff --git a/board/bf527-ad7160-eval/Kconfig b/board/bf527-ad7160-eval/Kconfig
new file mode 100644 (file)
index 0000000..6febd7f
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BF527_AD7160_EVAL
+
+config SYS_BOARD
+       string
+       default "bf527-ad7160-eval"
+
+config SYS_CONFIG_NAME
+       string
+       default "bf527-ad7160-eval"
+
+endif
diff --git a/board/bf527-ad7160-eval/MAINTAINERS b/board/bf527-ad7160-eval/MAINTAINERS
new file mode 100644 (file)
index 0000000..e93de1a
--- /dev/null
@@ -0,0 +1,6 @@
+BF527-AD7160-EVAL BOARD
+M:     Sonic Zhang <sonic.adi@gmail.com>
+S:     Maintained
+F:     board/bf527-ad7160-eval/
+F:     include/configs/bf527-ad7160-eval.h
+F:     configs/bf527-ad7160-eval_defconfig
diff --git a/board/bf527-ezkit/Kconfig b/board/bf527-ezkit/Kconfig
new file mode 100644 (file)
index 0000000..459d971
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BF527_EZKIT
+
+config SYS_BOARD
+       string
+       default "bf527-ezkit"
+
+config SYS_CONFIG_NAME
+       string
+       default "bf527-ezkit"
+
+endif
diff --git a/board/bf527-ezkit/MAINTAINERS b/board/bf527-ezkit/MAINTAINERS
new file mode 100644 (file)
index 0000000..7a95396
--- /dev/null
@@ -0,0 +1,7 @@
+BF527-EZKIT BOARD
+M:     Sonic Zhang <sonic.adi@gmail.com>
+S:     Maintained
+F:     board/bf527-ezkit/
+F:     include/configs/bf527-ezkit.h
+F:     configs/bf527-ezkit_defconfig
+F:     configs/bf527-ezkit-v2_defconfig
diff --git a/board/bf527-sdp/Kconfig b/board/bf527-sdp/Kconfig
new file mode 100644 (file)
index 0000000..8d54fb8
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BF527_SDP
+
+config SYS_BOARD
+       string
+       default "bf527-sdp"
+
+config SYS_CONFIG_NAME
+       string
+       default "bf527-sdp"
+
+endif
diff --git a/board/bf527-sdp/MAINTAINERS b/board/bf527-sdp/MAINTAINERS
new file mode 100644 (file)
index 0000000..32ccfc5
--- /dev/null
@@ -0,0 +1,6 @@
+BF527-SDP BOARD
+M:     Sonic Zhang <sonic.adi@gmail.com>
+S:     Maintained
+F:     board/bf527-sdp/
+F:     include/configs/bf527-sdp.h
+F:     configs/bf527-sdp_defconfig
diff --git a/board/bf533-ezkit/Kconfig b/board/bf533-ezkit/Kconfig
new file mode 100644 (file)
index 0000000..c0317c2
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BF533_EZKIT
+
+config SYS_BOARD
+       string
+       default "bf533-ezkit"
+
+config SYS_CONFIG_NAME
+       string
+       default "bf533-ezkit"
+
+endif
diff --git a/board/bf533-ezkit/MAINTAINERS b/board/bf533-ezkit/MAINTAINERS
new file mode 100644 (file)
index 0000000..bfa7c3c
--- /dev/null
@@ -0,0 +1,6 @@
+BF533-EZKIT BOARD
+M:     Sonic Zhang <sonic.adi@gmail.com>
+S:     Maintained
+F:     board/bf533-ezkit/
+F:     include/configs/bf533-ezkit.h
+F:     configs/bf533-ezkit_defconfig
diff --git a/board/bf533-stamp/Kconfig b/board/bf533-stamp/Kconfig
new file mode 100644 (file)
index 0000000..3f01c2b
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BF533_STAMP
+
+config SYS_BOARD
+       string
+       default "bf533-stamp"
+
+config SYS_CONFIG_NAME
+       string
+       default "bf533-stamp"
+
+endif
diff --git a/board/bf533-stamp/MAINTAINERS b/board/bf533-stamp/MAINTAINERS
new file mode 100644 (file)
index 0000000..c7aeefa
--- /dev/null
@@ -0,0 +1,6 @@
+BF533-STAMP BOARD
+M:     Sonic Zhang <sonic.adi@gmail.com>
+S:     Maintained
+F:     board/bf533-stamp/
+F:     include/configs/bf533-stamp.h
+F:     configs/bf533-stamp_defconfig
diff --git a/board/bf537-minotaur/Kconfig b/board/bf537-minotaur/Kconfig
new file mode 100644 (file)
index 0000000..6704f2d
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BF537_MINOTAUR
+
+config SYS_BOARD
+       string
+       default "bf537-minotaur"
+
+config SYS_CONFIG_NAME
+       string
+       default "bf537-minotaur"
+
+endif
diff --git a/board/bf537-minotaur/MAINTAINERS b/board/bf537-minotaur/MAINTAINERS
new file mode 100644 (file)
index 0000000..04643b1
--- /dev/null
@@ -0,0 +1,6 @@
+BF537-MINOTAUR BOARD
+M:     Martin Strubel <strubel@section5.ch>
+S:     Maintained
+F:     board/bf537-minotaur/
+F:     include/configs/bf537-minotaur.h
+F:     configs/bf537-minotaur_defconfig
diff --git a/board/bf537-pnav/Kconfig b/board/bf537-pnav/Kconfig
new file mode 100644 (file)
index 0000000..125a9fa
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BF537_PNAV
+
+config SYS_BOARD
+       string
+       default "bf537-pnav"
+
+config SYS_CONFIG_NAME
+       string
+       default "bf537-pnav"
+
+endif
diff --git a/board/bf537-pnav/MAINTAINERS b/board/bf537-pnav/MAINTAINERS
new file mode 100644 (file)
index 0000000..b8b22a3
--- /dev/null
@@ -0,0 +1,6 @@
+BF537-PNAV BOARD
+M:     Sonic Zhang <sonic.adi@gmail.com>
+S:     Maintained
+F:     board/bf537-pnav/
+F:     include/configs/bf537-pnav.h
+F:     configs/bf537-pnav_defconfig
diff --git a/board/bf537-srv1/Kconfig b/board/bf537-srv1/Kconfig
new file mode 100644 (file)
index 0000000..658a6e5
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BF537_SRV1
+
+config SYS_BOARD
+       string
+       default "bf537-srv1"
+
+config SYS_CONFIG_NAME
+       string
+       default "bf537-srv1"
+
+endif
diff --git a/board/bf537-srv1/MAINTAINERS b/board/bf537-srv1/MAINTAINERS
new file mode 100644 (file)
index 0000000..c8f1458
--- /dev/null
@@ -0,0 +1,6 @@
+BF537-SRV1 BOARD
+M:     Martin Strubel <strubel@section5.ch>
+S:     Maintained
+F:     board/bf537-srv1/
+F:     include/configs/bf537-srv1.h
+F:     configs/bf537-srv1_defconfig
diff --git a/board/bf537-stamp/Kconfig b/board/bf537-stamp/Kconfig
new file mode 100644 (file)
index 0000000..9330a4c
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BF537_STAMP
+
+config SYS_BOARD
+       string
+       default "bf537-stamp"
+
+config SYS_CONFIG_NAME
+       string
+       default "bf537-stamp"
+
+endif
diff --git a/board/bf537-stamp/MAINTAINERS b/board/bf537-stamp/MAINTAINERS
new file mode 100644 (file)
index 0000000..7d9c133
--- /dev/null
@@ -0,0 +1,6 @@
+BF537-STAMP BOARD
+M:     Sonic Zhang <sonic.adi@gmail.com>
+S:     Maintained
+F:     board/bf537-stamp/
+F:     include/configs/bf537-stamp.h
+F:     configs/bf537-stamp_defconfig
diff --git a/board/bf538f-ezkit/Kconfig b/board/bf538f-ezkit/Kconfig
new file mode 100644 (file)
index 0000000..5b9c8d9
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BF538F_EZKIT
+
+config SYS_BOARD
+       string
+       default "bf538f-ezkit"
+
+config SYS_CONFIG_NAME
+       string
+       default "bf538f-ezkit"
+
+endif
diff --git a/board/bf538f-ezkit/MAINTAINERS b/board/bf538f-ezkit/MAINTAINERS
new file mode 100644 (file)
index 0000000..7964735
--- /dev/null
@@ -0,0 +1,6 @@
+BF538F-EZKIT BOARD
+M:     Sonic Zhang <sonic.adi@gmail.com>
+S:     Maintained
+F:     board/bf538f-ezkit/
+F:     include/configs/bf538f-ezkit.h
+F:     configs/bf538f-ezkit_defconfig
diff --git a/board/bf548-ezkit/Kconfig b/board/bf548-ezkit/Kconfig
new file mode 100644 (file)
index 0000000..8d799aa
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BF548_EZKIT
+
+config SYS_BOARD
+       string
+       default "bf548-ezkit"
+
+config SYS_CONFIG_NAME
+       string
+       default "bf548-ezkit"
+
+endif
diff --git a/board/bf548-ezkit/MAINTAINERS b/board/bf548-ezkit/MAINTAINERS
new file mode 100644 (file)
index 0000000..e2683bb
--- /dev/null
@@ -0,0 +1,6 @@
+BF548-EZKIT BOARD
+M:     Sonic Zhang <sonic.adi@gmail.com>
+S:     Maintained
+F:     board/bf548-ezkit/
+F:     include/configs/bf548-ezkit.h
+F:     configs/bf548-ezkit_defconfig
diff --git a/board/bf561-acvilon/Kconfig b/board/bf561-acvilon/Kconfig
new file mode 100644 (file)
index 0000000..6c1789c
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BF561_ACVILON
+
+config SYS_BOARD
+       string
+       default "bf561-acvilon"
+
+config SYS_CONFIG_NAME
+       string
+       default "bf561-acvilon"
+
+endif
diff --git a/board/bf561-acvilon/MAINTAINERS b/board/bf561-acvilon/MAINTAINERS
new file mode 100644 (file)
index 0000000..056ee0b
--- /dev/null
@@ -0,0 +1,6 @@
+BF561-ACVILON BOARD
+M:     Valentin Yakovenkov <yakovenkov@niistt.ru>
+S:     Maintained
+F:     board/bf561-acvilon/
+F:     include/configs/bf561-acvilon.h
+F:     configs/bf561-acvilon_defconfig
diff --git a/board/bf561-ezkit/Kconfig b/board/bf561-ezkit/Kconfig
new file mode 100644 (file)
index 0000000..d1cb81f
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BF561_EZKIT
+
+config SYS_BOARD
+       string
+       default "bf561-ezkit"
+
+config SYS_CONFIG_NAME
+       string
+       default "bf561-ezkit"
+
+endif
diff --git a/board/bf561-ezkit/MAINTAINERS b/board/bf561-ezkit/MAINTAINERS
new file mode 100644 (file)
index 0000000..5ced3bb
--- /dev/null
@@ -0,0 +1,6 @@
+BF561-EZKIT BOARD
+M:     Sonic Zhang <sonic.adi@gmail.com>
+S:     Maintained
+F:     board/bf561-ezkit/
+F:     include/configs/bf561-ezkit.h
+F:     configs/bf561-ezkit_defconfig
diff --git a/board/bf609-ezkit/Kconfig b/board/bf609-ezkit/Kconfig
new file mode 100644 (file)
index 0000000..ad959d7
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BF609_EZKIT
+
+config SYS_BOARD
+       string
+       default "bf609-ezkit"
+
+config SYS_CONFIG_NAME
+       string
+       default "bf609-ezkit"
+
+endif
diff --git a/board/bf609-ezkit/MAINTAINERS b/board/bf609-ezkit/MAINTAINERS
new file mode 100644 (file)
index 0000000..acfc6c7
--- /dev/null
@@ -0,0 +1,6 @@
+BF609-EZKIT BOARD
+M:     Sonic Zhang <sonic.adi@gmail.com>
+S:     Maintained
+F:     board/bf609-ezkit/
+F:     include/configs/bf609-ezkit.h
+F:     configs/bf609-ezkit_defconfig
diff --git a/board/blackstamp/Kconfig b/board/blackstamp/Kconfig
new file mode 100644 (file)
index 0000000..0046b93
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BLACKSTAMP
+
+config SYS_BOARD
+       string
+       default "blackstamp"
+
+config SYS_CONFIG_NAME
+       string
+       default "blackstamp"
+
+endif
diff --git a/board/blackstamp/MAINTAINERS b/board/blackstamp/MAINTAINERS
new file mode 100644 (file)
index 0000000..a0d72c6
--- /dev/null
@@ -0,0 +1,8 @@
+BLACKSTAMP BOARD
+M:     Wojtek Skulski <skulski@pas.rochester.edu>
+M:     Wojtek Skulski <info@skutek.com>
+M:     Benjamin Matthews <mben12@gmail.com>
+S:     Maintained
+F:     board/blackstamp/
+F:     include/configs/blackstamp.h
+F:     configs/blackstamp_defconfig
diff --git a/board/blackvme/Kconfig b/board/blackvme/Kconfig
new file mode 100644 (file)
index 0000000..72aaa29
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BLACKVME
+
+config SYS_BOARD
+       string
+       default "blackvme"
+
+config SYS_CONFIG_NAME
+       string
+       default "blackvme"
+
+endif
diff --git a/board/blackvme/MAINTAINERS b/board/blackvme/MAINTAINERS
new file mode 100644 (file)
index 0000000..3f8b32c
--- /dev/null
@@ -0,0 +1,8 @@
+BLACKVME BOARD
+M:     Wojtek Skulski <skulski@pas.rochester.edu>
+M:     Wojtek Skulski <info@skutek.com>
+M:     Benjamin Matthews <mben12@gmail.com>
+S:     Maintained
+F:     board/blackvme/
+F:     include/configs/blackvme.h
+F:     configs/blackvme_defconfig
diff --git a/board/bluegiga/apx4devkit/Kconfig b/board/bluegiga/apx4devkit/Kconfig
new file mode 100644 (file)
index 0000000..acccec9
--- /dev/null
@@ -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/bluegiga/apx4devkit/MAINTAINERS b/board/bluegiga/apx4devkit/MAINTAINERS
new file mode 100644 (file)
index 0000000..286e9e9
--- /dev/null
@@ -0,0 +1,6 @@
+APX4DEVKIT BOARD
+M:     Lauri Hintsala <lauri.hintsala@bluegiga.com>
+S:     Maintained
+F:     board/bluegiga/apx4devkit/
+F:     include/configs/apx4devkit.h
+F:     configs/apx4devkit_defconfig
diff --git a/board/bluewater/snapper9260/Kconfig b/board/bluewater/snapper9260/Kconfig
new file mode 100644 (file)
index 0000000..81eb911
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/bluewater/snapper9260/MAINTAINERS b/board/bluewater/snapper9260/MAINTAINERS
new file mode 100644 (file)
index 0000000..ff1e997
--- /dev/null
@@ -0,0 +1,7 @@
+SNAPPER9260 BOARD
+M:     Ryan Mallon <ryan@bluewatersys.com>
+S:     Maintained
+F:     board/bluewater/snapper9260/
+F:     include/configs/snapper9260.h
+F:     configs/snapper9260_defconfig
+F:     configs/snapper9g20_defconfig
diff --git a/board/boundary/nitrogen6x/Kconfig b/board/boundary/nitrogen6x/Kconfig
new file mode 100644 (file)
index 0000000..190809c
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_NITROGEN6X
+
+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"
+
+endif
diff --git a/board/boundary/nitrogen6x/MAINTAINERS b/board/boundary/nitrogen6x/MAINTAINERS
new file mode 100644 (file)
index 0000000..cb06c03
--- /dev/null
@@ -0,0 +1,12 @@
+NITROGEN6X BOARD
+M:     Eric Nelson <eric.nelson@boundarydevices.com>
+S:     Maintained
+F:     board/boundary/nitrogen6x/
+F:     include/configs/nitrogen6x.h
+F:     configs/mx6qsabrelite_defconfig
+F:     configs/nitrogen6dl_defconfig
+F:     configs/nitrogen6dl2g_defconfig
+F:     configs/nitrogen6q_defconfig
+F:     configs/nitrogen6q2g_defconfig
+F:     configs/nitrogen6s_defconfig
+F:     configs/nitrogen6s1g_defconfig
diff --git a/board/br4/Kconfig b/board/br4/Kconfig
new file mode 100644 (file)
index 0000000..03d9783
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_BR4
+
+config SYS_BOARD
+       string
+       default "br4"
+
+config SYS_CONFIG_NAME
+       string
+       default "br4"
+
+endif
diff --git a/board/br4/MAINTAINERS b/board/br4/MAINTAINERS
new file mode 100644 (file)
index 0000000..4085da5
--- /dev/null
@@ -0,0 +1,6 @@
+BR4 BOARD
+M:     Dimitar Penev <dpn@switchfin.org>
+S:     Maintained
+F:     board/br4/
+F:     include/configs/br4.h
+F:     configs/br4_defconfig
diff --git a/board/broadcom/bcm28155_ap/Kconfig b/board/broadcom/bcm28155_ap/Kconfig
new file mode 100644 (file)
index 0000000..20c83d3
--- /dev/null
@@ -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/broadcom/bcm28155_ap/MAINTAINERS b/board/broadcom/bcm28155_ap/MAINTAINERS
new file mode 100644 (file)
index 0000000..a74c394
--- /dev/null
@@ -0,0 +1,6 @@
+BCM28155_AP BOARD
+M:     Tim Kryger <tim.kryger@linaro.org>
+S:     Maintained
+F:     board/broadcom/bcm28155_ap/
+F:     include/configs/bcm28155_ap.h
+F:     configs/bcm28155_ap_defconfig
diff --git a/board/buffalo/lsxl/Kconfig b/board/buffalo/lsxl/Kconfig
new file mode 100644 (file)
index 0000000..99f7b7c
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_LSXL
+
+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"
+
+endif
diff --git a/board/buffalo/lsxl/MAINTAINERS b/board/buffalo/lsxl/MAINTAINERS
new file mode 100644 (file)
index 0000000..facc2dd
--- /dev/null
@@ -0,0 +1,7 @@
+LSXL BOARD
+M:     Michael Walle <michael@walle.cc>
+S:     Maintained
+F:     board/buffalo/lsxl/
+F:     include/configs/lsxl.h
+F:     configs/lschlv2_defconfig
+F:     configs/lsxhl_defconfig
diff --git a/board/calao/sbc35_a9g20/Kconfig b/board/calao/sbc35_a9g20/Kconfig
new file mode 100644 (file)
index 0000000..192d228
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_SBC35_A9G20
+
+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"
+
+endif
diff --git a/board/calao/sbc35_a9g20/MAINTAINERS b/board/calao/sbc35_a9g20/MAINTAINERS
new file mode 100644 (file)
index 0000000..d275230
--- /dev/null
@@ -0,0 +1,7 @@
+SBC35_A9G20 BOARD
+M:     Albin Tonnerre <albin.tonnerre@free-electrons.com>
+S:     Orphan (since 2014-06)
+F:     board/calao/sbc35_a9g20/
+F:     include/configs/sbc35_a9g20.h
+F:     configs/sbc35_a9g20_eeprom_defconfig
+F:     configs/sbc35_a9g20_nandflash_defconfig
diff --git a/board/calao/tny_a9260/Kconfig b/board/calao/tny_a9260/Kconfig
new file mode 100644 (file)
index 0000000..3d33d5c
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_TNY_A9260
+
+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"
+
+endif
diff --git a/board/calao/tny_a9260/MAINTAINERS b/board/calao/tny_a9260/MAINTAINERS
new file mode 100644 (file)
index 0000000..5a71b8e
--- /dev/null
@@ -0,0 +1,9 @@
+TNY_A9260 BOARD
+M:     Albin Tonnerre <albin.tonnerre@free-electrons.com>
+S:     Orphan (since 2014-06)
+F:     board/calao/tny_a9260/
+F:     include/configs/tny_a9260.h
+F:     configs/tny_a9260_eeprom_defconfig
+F:     configs/tny_a9260_nandflash_defconfig
+F:     configs/tny_a9g20_eeprom_defconfig
+F:     configs/tny_a9g20_nandflash_defconfig
diff --git a/board/calao/usb_a9263/Kconfig b/board/calao/usb_a9263/Kconfig
new file mode 100644 (file)
index 0000000..8141c7d
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_USB_A9263
+
+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"
+
+endif
diff --git a/board/calao/usb_a9263/MAINTAINERS b/board/calao/usb_a9263/MAINTAINERS
new file mode 100644 (file)
index 0000000..2f39cd3
--- /dev/null
@@ -0,0 +1,6 @@
+USB_A9263 BOARD
+M:     Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
+S:     Maintained
+F:     board/calao/usb_a9263/
+F:     include/configs/usb_a9263.h
+F:     configs/usb_a9263_dataflash_defconfig
diff --git a/board/canmb/Kconfig b/board/canmb/Kconfig
new file mode 100644 (file)
index 0000000..042cc35
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_CANMB
+
+config SYS_BOARD
+       string
+       default "canmb"
+
+config SYS_CONFIG_NAME
+       string
+       default "canmb"
+
+endif
diff --git a/board/canmb/MAINTAINERS b/board/canmb/MAINTAINERS
new file mode 100644 (file)
index 0000000..aa4eb30
--- /dev/null
@@ -0,0 +1,6 @@
+CANMB BOARD
+M:     -
+S:     Maintained
+F:     board/canmb/
+F:     include/configs/canmb.h
+F:     configs/canmb_defconfig
diff --git a/board/chromebook-x86/coreboot/Kconfig b/board/chromebook-x86/coreboot/Kconfig
new file mode 100644 (file)
index 0000000..64cd347
--- /dev/null
@@ -0,0 +1,19 @@
+if TARGET_COREBOOT
+
+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"
+
+endif
diff --git a/board/chromebook-x86/coreboot/MAINTAINERS b/board/chromebook-x86/coreboot/MAINTAINERS
new file mode 100644 (file)
index 0000000..3b2fb52
--- /dev/null
@@ -0,0 +1,6 @@
+COREBOOT BOARD
+M:     Simon Glass <sjg@chromium.org>
+S:     Maintained
+F:     board/chromebook-x86/coreboot/
+F:     include/configs/coreboot.h
+F:     configs/coreboot-x86_defconfig
diff --git a/board/cirrus/edb93xx/Kconfig b/board/cirrus/edb93xx/Kconfig
new file mode 100644 (file)
index 0000000..0a9bdb2
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_EDB93XX
+
+config SYS_CPU
+       string
+       default "arm920t"
+
+config SYS_BOARD
+       string
+       default "edb93xx"
+
+config SYS_VENDOR
+       string
+       default "cirrus"
+
+config SYS_SOC
+       string
+       default "ep93xx"
+
+config SYS_CONFIG_NAME
+       string
+       default "edb93xx"
+
+endif
diff --git a/board/cirrus/edb93xx/MAINTAINERS b/board/cirrus/edb93xx/MAINTAINERS
new file mode 100644 (file)
index 0000000..3bb2843
--- /dev/null
@@ -0,0 +1,6 @@
+EDB93XX BOARD
+M:     Sergey Kostanbaev <sergey.kostanbaev@fairwaves.ru>
+S:     Maintained
+F:     board/cirrus/edb93xx/
+F:     include/configs/edb93xx.h
+F:     configs/edb9315a_defconfig
diff --git a/board/cloudengines/pogo_e02/Kconfig b/board/cloudengines/pogo_e02/Kconfig
new file mode 100644 (file)
index 0000000..149a1a2
--- /dev/null
@@ -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/cloudengines/pogo_e02/MAINTAINERS b/board/cloudengines/pogo_e02/MAINTAINERS
new file mode 100644 (file)
index 0000000..42c5dda
--- /dev/null
@@ -0,0 +1,6 @@
+POGO_E02 BOARD
+M:     Dave Purdy <david.c.purdy@gmail.com>
+S:     Maintained
+F:     board/cloudengines/pogo_e02/
+F:     include/configs/pogo_e02.h
+F:     configs/pogo_e02_defconfig
diff --git a/board/cm-bf527/Kconfig b/board/cm-bf527/Kconfig
new file mode 100644 (file)
index 0000000..d43d306
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_CM_BF527
+
+config SYS_BOARD
+       string
+       default "cm-bf527"
+
+config SYS_CONFIG_NAME
+       string
+       default "cm-bf527"
+
+endif
diff --git a/board/cm-bf527/MAINTAINERS b/board/cm-bf527/MAINTAINERS
new file mode 100644 (file)
index 0000000..789f5c4
--- /dev/null
@@ -0,0 +1,6 @@
+CM-BF527 BOARD
+M:     Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+S:     Orphan (since 2014-03)
+F:     board/cm-bf527/
+F:     include/configs/cm-bf527.h
+F:     configs/cm-bf527_defconfig
diff --git a/board/cm-bf533/Kconfig b/board/cm-bf533/Kconfig
new file mode 100644 (file)
index 0000000..af5bbb2
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_CM_BF533
+
+config SYS_BOARD
+       string
+       default "cm-bf533"
+
+config SYS_CONFIG_NAME
+       string
+       default "cm-bf533"
+
+endif
diff --git a/board/cm-bf533/MAINTAINERS b/board/cm-bf533/MAINTAINERS
new file mode 100644 (file)
index 0000000..f643043
--- /dev/null
@@ -0,0 +1,6 @@
+CM-BF533 BOARD
+M:     Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+S:     Orphan (since 2014-03)
+F:     board/cm-bf533/
+F:     include/configs/cm-bf533.h
+F:     configs/cm-bf533_defconfig
diff --git a/board/cm-bf537e/Kconfig b/board/cm-bf537e/Kconfig
new file mode 100644 (file)
index 0000000..83c160d
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_CM_BF537E
+
+config SYS_BOARD
+       string
+       default "cm-bf537e"
+
+config SYS_CONFIG_NAME
+       string
+       default "cm-bf537e"
+
+endif
diff --git a/board/cm-bf537e/MAINTAINERS b/board/cm-bf537e/MAINTAINERS
new file mode 100644 (file)
index 0000000..44735fa
--- /dev/null
@@ -0,0 +1,6 @@
+CM-BF537E BOARD
+M:     Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+S:     Orphan (since 2014-03)
+F:     board/cm-bf537e/
+F:     include/configs/cm-bf537e.h
+F:     configs/cm-bf537e_defconfig
diff --git a/board/cm-bf537u/Kconfig b/board/cm-bf537u/Kconfig
new file mode 100644 (file)
index 0000000..de384b7
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_CM_BF537U
+
+config SYS_BOARD
+       string
+       default "cm-bf537u"
+
+config SYS_CONFIG_NAME
+       string
+       default "cm-bf537u"
+
+endif
diff --git a/board/cm-bf537u/MAINTAINERS b/board/cm-bf537u/MAINTAINERS
new file mode 100644 (file)
index 0000000..da925f8
--- /dev/null
@@ -0,0 +1,6 @@
+CM-BF537U BOARD
+M:     Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+S:     Orphan (since 2014-03)
+F:     board/cm-bf537u/
+F:     include/configs/cm-bf537u.h
+F:     configs/cm-bf537u_defconfig
diff --git a/board/cm-bf548/Kconfig b/board/cm-bf548/Kconfig
new file mode 100644 (file)
index 0000000..29b027d
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_CM_BF548
+
+config SYS_BOARD
+       string
+       default "cm-bf548"
+
+config SYS_CONFIG_NAME
+       string
+       default "cm-bf548"
+
+endif
diff --git a/board/cm-bf548/MAINTAINERS b/board/cm-bf548/MAINTAINERS
new file mode 100644 (file)
index 0000000..4cd83df
--- /dev/null
@@ -0,0 +1,6 @@
+CM-BF548 BOARD
+M:     Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+S:     Orphan (since 2014-03)
+F:     board/cm-bf548/
+F:     include/configs/cm-bf548.h
+F:     configs/cm-bf548_defconfig
diff --git a/board/cm-bf561/Kconfig b/board/cm-bf561/Kconfig
new file mode 100644 (file)
index 0000000..94d110c
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_CM_BF561
+
+config SYS_BOARD
+       string
+       default "cm-bf561"
+
+config SYS_CONFIG_NAME
+       string
+       default "cm-bf561"
+
+endif
diff --git a/board/cm-bf561/MAINTAINERS b/board/cm-bf561/MAINTAINERS
new file mode 100644 (file)
index 0000000..a4606ff
--- /dev/null
@@ -0,0 +1,6 @@
+CM-BF561 BOARD
+M:     Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+S:     Orphan (since 2014-03)
+F:     board/cm-bf561/
+F:     include/configs/cm-bf561.h
+F:     configs/cm-bf561_defconfig
diff --git a/board/cm4008/Kconfig b/board/cm4008/Kconfig
new file mode 100644 (file)
index 0000000..397794d
--- /dev/null
@@ -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/cm4008/MAINTAINERS b/board/cm4008/MAINTAINERS
new file mode 100644 (file)
index 0000000..5f08bc3
--- /dev/null
@@ -0,0 +1,6 @@
+CM4008 BOARD
+M:     Greg Ungerer <greg.ungerer@opengear.com>
+S:     Maintained
+F:     board/cm4008/
+F:     include/configs/cm4008.h
+F:     configs/cm4008_defconfig
diff --git a/board/cm41xx/Kconfig b/board/cm41xx/Kconfig
new file mode 100644 (file)
index 0000000..ae2831e
--- /dev/null
@@ -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/cm41xx/MAINTAINERS b/board/cm41xx/MAINTAINERS
new file mode 100644 (file)
index 0000000..f308b0f
--- /dev/null
@@ -0,0 +1,6 @@
+CM41XX BOARD
+M:     -
+S:     Maintained
+F:     board/cm41xx/
+F:     include/configs/cm41xx.h
+F:     configs/cm41xx_defconfig
diff --git a/board/cm5200/Kconfig b/board/cm5200/Kconfig
new file mode 100644 (file)
index 0000000..b4c8f22
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_CM5200
+
+config SYS_BOARD
+       string
+       default "cm5200"
+
+config SYS_CONFIG_NAME
+       string
+       default "cm5200"
+
+endif
diff --git a/board/cm5200/MAINTAINERS b/board/cm5200/MAINTAINERS
new file mode 100644 (file)
index 0000000..9fc5365
--- /dev/null
@@ -0,0 +1,6 @@
+CM5200 BOARD
+M:     -
+S:     Maintained
+F:     board/cm5200/
+F:     include/configs/cm5200.h
+F:     configs/cm5200_defconfig
diff --git a/board/cmi/Kconfig b/board/cmi/Kconfig
new file mode 100644 (file)
index 0000000..8040e59
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_CMI_MPC5XX
+
+config SYS_BOARD
+       string
+       default "cmi"
+
+config SYS_CONFIG_NAME
+       string
+       default "cmi_mpc5xx"
+
+endif
diff --git a/board/cmi/MAINTAINERS b/board/cmi/MAINTAINERS
new file mode 100644 (file)
index 0000000..ab33d5d
--- /dev/null
@@ -0,0 +1,6 @@
+CMI BOARD
+M:     -
+S:     Maintained
+F:     board/cmi/
+F:     include/configs/cmi_mpc5xx.h
+F:     configs/cmi_mpc5xx_defconfig
diff --git a/board/cobra5272/Kconfig b/board/cobra5272/Kconfig
new file mode 100644 (file)
index 0000000..6e55d43
--- /dev/null
@@ -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/cobra5272/MAINTAINERS b/board/cobra5272/MAINTAINERS
new file mode 100644 (file)
index 0000000..00942fc
--- /dev/null
@@ -0,0 +1,6 @@
+COBRA5272 BOARD
+M:     -
+S:     Maintained
+F:     board/cobra5272/
+F:     include/configs/cobra5272.h
+F:     configs/cobra5272_defconfig
diff --git a/board/cogent/Kconfig b/board/cogent/Kconfig
new file mode 100644 (file)
index 0000000..113034d
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_COGENT_MPC8260
+
+config SYS_BOARD
+       string
+       default "cogent"
+
+config SYS_CONFIG_NAME
+       string
+       default "cogent_mpc8260"
+
+endif
+
+if TARGET_COGENT_MPC8XX
+
+config SYS_BOARD
+       string
+       default "cogent"
+
+config SYS_CONFIG_NAME
+       string
+       default "cogent_mpc8xx"
+
+endif
diff --git a/board/cogent/MAINTAINERS b/board/cogent/MAINTAINERS
new file mode 100644 (file)
index 0000000..7126015
--- /dev/null
@@ -0,0 +1,8 @@
+COGENT BOARD
+M:     Murray Jensen <Murray.Jensen@csiro.au>
+S:     Maintained
+F:     board/cogent/
+F:     include/configs/cogent_mpc8260.h
+F:     configs/cogent_mpc8260_defconfig
+F:     include/configs/cogent_mpc8xx.h
+F:     configs/cogent_mpc8xx_defconfig
diff --git a/board/comelit/dig297/Kconfig b/board/comelit/dig297/Kconfig
new file mode 100644 (file)
index 0000000..d7a2bf2
--- /dev/null
@@ -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/comelit/dig297/MAINTAINERS b/board/comelit/dig297/MAINTAINERS
new file mode 100644 (file)
index 0000000..318374e
--- /dev/null
@@ -0,0 +1,6 @@
+DIG297 BOARD
+M:     Luca Ceresoli <luca.ceresoli@comelit.it>
+S:     Maintained
+F:     board/comelit/dig297/
+F:     include/configs/dig297.h
+F:     configs/dig297_defconfig
diff --git a/board/compal/paz00/Kconfig b/board/compal/paz00/Kconfig
new file mode 100644 (file)
index 0000000..4f0f09f
--- /dev/null
@@ -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/compal/paz00/MAINTAINERS b/board/compal/paz00/MAINTAINERS
new file mode 100644 (file)
index 0000000..ee2b2e9
--- /dev/null
@@ -0,0 +1,7 @@
+PAZ00 BOARD
+M:     Tom Warren <twarren@nvidia.com>
+M:     Stephen Warren <swarren@nvidia.com>
+S:     Maintained
+F:     board/compal/paz00/
+F:     include/configs/paz00.h
+F:     configs/paz00_defconfig
diff --git a/board/compulab/cm_t335/Kconfig b/board/compulab/cm_t335/Kconfig
new file mode 100644 (file)
index 0000000..4a1adf3
--- /dev/null
@@ -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_t335/MAINTAINERS b/board/compulab/cm_t335/MAINTAINERS
new file mode 100644 (file)
index 0000000..5fb922c
--- /dev/null
@@ -0,0 +1,6 @@
+CM_T335 BOARD
+M:     Igor Grinberg <grinberg@compulab.co.il>
+S:     Maintained
+F:     board/compulab/cm_t335/
+F:     include/configs/cm_t335.h
+F:     configs/cm_t335_defconfig
diff --git a/board/compulab/cm_t35/Kconfig b/board/compulab/cm_t35/Kconfig
new file mode 100644 (file)
index 0000000..fd960bc
--- /dev/null
@@ -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_t35/MAINTAINERS b/board/compulab/cm_t35/MAINTAINERS
new file mode 100644 (file)
index 0000000..fc5d73f
--- /dev/null
@@ -0,0 +1,6 @@
+CM_T35 BOARD
+M:     Igor Grinberg <grinberg@compulab.co.il>
+S:     Maintained
+F:     board/compulab/cm_t35/
+F:     include/configs/cm_t35.h
+F:     configs/cm_t35_defconfig
diff --git a/board/compulab/cm_t54/Kconfig b/board/compulab/cm_t54/Kconfig
new file mode 100644 (file)
index 0000000..0fe3692
--- /dev/null
@@ -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/cm_t54/MAINTAINERS b/board/compulab/cm_t54/MAINTAINERS
new file mode 100644 (file)
index 0000000..461fe09
--- /dev/null
@@ -0,0 +1,6 @@
+CM_T54 BOARD
+M:     Dmitry Lifshitz <lifshitz@compulab.co.il>
+S:     Maintained
+F:     board/compulab/cm_t54/
+F:     include/configs/cm_t54.h
+F:     configs/cm_t54_defconfig
diff --git a/board/compulab/trimslice/Kconfig b/board/compulab/trimslice/Kconfig
new file mode 100644 (file)
index 0000000..e545f0c
--- /dev/null
@@ -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/compulab/trimslice/MAINTAINERS b/board/compulab/trimslice/MAINTAINERS
new file mode 100644 (file)
index 0000000..85b1200
--- /dev/null
@@ -0,0 +1,7 @@
+TRIMSLICE BOARD
+M:     Tom Warren <twarren@nvidia.com>
+M:     Stephen Warren <swarren@nvidia.com>
+S:     Maintained
+F:     board/compulab/trimslice/
+F:     include/configs/trimslice.h
+F:     configs/trimslice_defconfig
diff --git a/board/congatec/cgtqmx6eval/Kconfig b/board/congatec/cgtqmx6eval/Kconfig
new file mode 100644 (file)
index 0000000..155fa2c
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_CGTQMX6EVAL
+
+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"
+
+endif
diff --git a/board/congatec/cgtqmx6eval/MAINTAINERS b/board/congatec/cgtqmx6eval/MAINTAINERS
new file mode 100644 (file)
index 0000000..53ad759
--- /dev/null
@@ -0,0 +1,6 @@
+CGTQMX6EVAL BOARD
+M:     Leo Sartre <lsartre@adeneo-embedded.com>
+S:     Orphan (since 2014-06)
+F:     board/congatec/cgtqmx6eval/
+F:     include/configs/cgtqmx6eval.h
+F:     configs/cgtqmx6qeval_defconfig
diff --git a/board/corscience/tricorder/Kconfig b/board/corscience/tricorder/Kconfig
new file mode 100644 (file)
index 0000000..a1e06e7
--- /dev/null
@@ -0,0 +1,23 @@
+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
diff --git a/board/corscience/tricorder/MAINTAINERS b/board/corscience/tricorder/MAINTAINERS
new file mode 100644 (file)
index 0000000..8a8171b
--- /dev/null
@@ -0,0 +1,7 @@
+TRICORDER BOARD
+M:     Thomas Weber <weber@corscience.de>
+S:     Maintained
+F:     board/corscience/tricorder/
+F:     include/configs/tricorder.h
+F:     configs/tricorder_defconfig
+F:     configs/tricorder_flash_defconfig
diff --git a/board/cpc45/Kconfig b/board/cpc45/Kconfig
new file mode 100644 (file)
index 0000000..fd1a536
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_CPC45
+
+config SYS_BOARD
+       string
+       default "cpc45"
+
+config SYS_CONFIG_NAME
+       string
+       default "CPC45"
+
+endif
diff --git a/board/cpc45/MAINTAINERS b/board/cpc45/MAINTAINERS
new file mode 100644 (file)
index 0000000..163e09c
--- /dev/null
@@ -0,0 +1,7 @@
+CPC45 BOARD
+M:     Josef Wagner <Wagner@Microsys.de>
+S:     Maintained
+F:     board/cpc45/
+F:     include/configs/CPC45.h
+F:     configs/CPC45_defconfig
+F:     configs/CPC45_ROMBOOT_defconfig
diff --git a/board/cpu86/Kconfig b/board/cpu86/Kconfig
new file mode 100644 (file)
index 0000000..27f1e4e
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_CPU86
+
+config SYS_BOARD
+       string
+       default "cpu86"
+
+config SYS_CONFIG_NAME
+       string
+       default "CPU86"
+
+endif
diff --git a/board/cpu86/MAINTAINERS b/board/cpu86/MAINTAINERS
new file mode 100644 (file)
index 0000000..06bdd0d
--- /dev/null
@@ -0,0 +1,7 @@
+CPU86 BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/cpu86/
+F:     include/configs/CPU86.h
+F:     configs/CPU86_defconfig
+F:     configs/CPU86_ROMBOOT_defconfig
diff --git a/board/cpu87/Kconfig b/board/cpu87/Kconfig
new file mode 100644 (file)
index 0000000..b45225d
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_CPU87
+
+config SYS_BOARD
+       string
+       default "cpu87"
+
+config SYS_CONFIG_NAME
+       string
+       default "CPU87"
+
+endif
diff --git a/board/cpu87/MAINTAINERS b/board/cpu87/MAINTAINERS
new file mode 100644 (file)
index 0000000..6e84f60
--- /dev/null
@@ -0,0 +1,7 @@
+CPU87 BOARD
+M:     -
+S:     Maintained
+F:     board/cpu87/
+F:     include/configs/CPU87.h
+F:     configs/CPU87_defconfig
+F:     configs/CPU87_ROMBOOT_defconfig
diff --git a/board/cray/L1/Kconfig b/board/cray/L1/Kconfig
new file mode 100644 (file)
index 0000000..fa9a702
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_CRAYL1
+
+config SYS_BOARD
+       string
+       default "L1"
+
+config SYS_VENDOR
+       string
+       default "cray"
+
+config SYS_CONFIG_NAME
+       string
+       default "CRAYL1"
+
+endif
diff --git a/board/cray/L1/MAINTAINERS b/board/cray/L1/MAINTAINERS
new file mode 100644 (file)
index 0000000..e93819e
--- /dev/null
@@ -0,0 +1,6 @@
+L1 BOARD
+M:     David Updegraff <dave@cray.com>
+S:     Orphan (since 2014-03)
+F:     board/cray/L1/
+F:     include/configs/CRAYL1.h
+F:     configs/CRAYL1_defconfig
diff --git a/board/creative/xfi3/Kconfig b/board/creative/xfi3/Kconfig
new file mode 100644 (file)
index 0000000..9baf515
--- /dev/null
@@ -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/creative/xfi3/MAINTAINERS b/board/creative/xfi3/MAINTAINERS
new file mode 100644 (file)
index 0000000..fb8235a
--- /dev/null
@@ -0,0 +1,6 @@
+XFI3 BOARD
+M:     Marek Vasut <marek.vasut@gmail.com>
+S:     Maintained
+F:     board/creative/xfi3/
+F:     include/configs/xfi3.h
+F:     configs/xfi3_defconfig
diff --git a/board/csb272/Kconfig b/board/csb272/Kconfig
new file mode 100644 (file)
index 0000000..90f94a3
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_CSB272
+
+config SYS_BOARD
+       string
+       default "csb272"
+
+config SYS_CONFIG_NAME
+       string
+       default "csb272"
+
+endif
diff --git a/board/csb272/MAINTAINERS b/board/csb272/MAINTAINERS
new file mode 100644 (file)
index 0000000..4bc95ea
--- /dev/null
@@ -0,0 +1,6 @@
+CSB272 BOARD
+M:     Tolunay Orkun <torkun@nextio.com>
+S:     Maintained
+F:     board/csb272/
+F:     include/configs/csb272.h
+F:     configs/csb272_defconfig
diff --git a/board/csb472/Kconfig b/board/csb472/Kconfig
new file mode 100644 (file)
index 0000000..05230a0
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_CSB472
+
+config SYS_BOARD
+       string
+       default "csb472"
+
+config SYS_CONFIG_NAME
+       string
+       default "csb472"
+
+endif
diff --git a/board/csb472/MAINTAINERS b/board/csb472/MAINTAINERS
new file mode 100644 (file)
index 0000000..25041ed
--- /dev/null
@@ -0,0 +1,6 @@
+CSB472 BOARD
+M:     Tolunay Orkun <torkun@nextio.com>
+S:     Maintained
+F:     board/csb472/
+F:     include/configs/csb472.h
+F:     configs/csb472_defconfig
diff --git a/board/cu824/Kconfig b/board/cu824/Kconfig
new file mode 100644 (file)
index 0000000..d866688
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_CU824
+
+config SYS_BOARD
+       string
+       default "cu824"
+
+config SYS_CONFIG_NAME
+       string
+       default "CU824"
+
+endif
diff --git a/board/cu824/MAINTAINERS b/board/cu824/MAINTAINERS
new file mode 100644 (file)
index 0000000..b1b7190
--- /dev/null
@@ -0,0 +1,6 @@
+CU824 BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/cu824/
+F:     include/configs/CU824.h
+F:     configs/CU824_defconfig
diff --git a/board/d-link/dns325/Kconfig b/board/d-link/dns325/Kconfig
new file mode 100644 (file)
index 0000000..dea6071
--- /dev/null
@@ -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/d-link/dns325/MAINTAINERS b/board/d-link/dns325/MAINTAINERS
new file mode 100644 (file)
index 0000000..4b65a9b
--- /dev/null
@@ -0,0 +1,6 @@
+DNS325 BOARD
+M:     Stefan Herbrechtsmeier <stefan@code.herbrechtsmeier.net>
+S:     Maintained
+F:     board/d-link/dns325/
+F:     include/configs/dns325.h
+F:     configs/dns325_defconfig
diff --git a/board/dave/PPChameleonEVB/Kconfig b/board/dave/PPChameleonEVB/Kconfig
new file mode 100644 (file)
index 0000000..3e95654
--- /dev/null
@@ -0,0 +1,31 @@
+if TARGET_CATCENTER
+
+config SYS_BOARD
+       string
+       default "PPChameleonEVB"
+
+config SYS_VENDOR
+       string
+       default "dave"
+
+config SYS_CONFIG_NAME
+       string
+       default "CATcenter"
+
+endif
+
+if TARGET_PPCHAMELEONEVB
+
+config SYS_BOARD
+       string
+       default "PPChameleonEVB"
+
+config SYS_VENDOR
+       string
+       default "dave"
+
+config SYS_CONFIG_NAME
+       string
+       default "PPChameleonEVB"
+
+endif
diff --git a/board/dave/PPChameleonEVB/MAINTAINERS b/board/dave/PPChameleonEVB/MAINTAINERS
new file mode 100644 (file)
index 0000000..3af5b57
--- /dev/null
@@ -0,0 +1,20 @@
+PPCHAMELEONEVB BOARD
+M:     -
+S:     Maintained
+F:     board/dave/PPChameleonEVB/
+F:     include/configs/CATcenter.h
+F:     configs/CATcenter_defconfig
+F:     configs/CATcenter_25_defconfig
+F:     configs/CATcenter_33_defconfig
+
+PPCHAMELEONEVB BOARD
+M:     Andrea "llandre" Marson <andrea.marson@dave-tech.it>
+S:     Maintained
+F:     include/configs/PPChameleonEVB.h
+F:     configs/PPChameleonEVB_defconfig
+F:     configs/PPChameleonEVB_BA_25_defconfig
+F:     configs/PPChameleonEVB_BA_33_defconfig
+F:     configs/PPChameleonEVB_HI_25_defconfig
+F:     configs/PPChameleonEVB_HI_33_defconfig
+F:     configs/PPChameleonEVB_ME_25_defconfig
+F:     configs/PPChameleonEVB_ME_33_defconfig
diff --git a/board/davedenx/aria/Kconfig b/board/davedenx/aria/Kconfig
new file mode 100644 (file)
index 0000000..f5d2aef
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_ARIA
+
+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/aria/MAINTAINERS b/board/davedenx/aria/MAINTAINERS
new file mode 100644 (file)
index 0000000..a6152c9
--- /dev/null
@@ -0,0 +1,6 @@
+ARIA BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/davedenx/aria/
+F:     include/configs/aria.h
+F:     configs/aria_defconfig
diff --git a/board/davedenx/qong/Kconfig b/board/davedenx/qong/Kconfig
new file mode 100644 (file)
index 0000000..51b9428
--- /dev/null
@@ -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/davedenx/qong/MAINTAINERS b/board/davedenx/qong/MAINTAINERS
new file mode 100644 (file)
index 0000000..a275b5b
--- /dev/null
@@ -0,0 +1,6 @@
+QONG BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/davedenx/qong/
+F:     include/configs/qong.h
+F:     configs/qong_defconfig
diff --git a/board/davinci/da8xxevm/Kconfig b/board/davinci/da8xxevm/Kconfig
new file mode 100644 (file)
index 0000000..89f78d7
--- /dev/null
@@ -0,0 +1,71 @@
+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_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"
+
+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
diff --git a/board/davinci/da8xxevm/MAINTAINERS b/board/davinci/da8xxevm/MAINTAINERS
new file mode 100644 (file)
index 0000000..dd66f07
--- /dev/null
@@ -0,0 +1,22 @@
+DA8XXEVM BOARD
+M:     Nick Thompson <nick.thompson@gefanuc.com>
+S:     Maintained
+F:     board/davinci/da8xxevm/
+F:     include/configs/da830evm.h
+F:     configs/da830evm_defconfig
+
+DA850_AM18XXEVM BOARD
+M:     Sudhakar Rajashekhara <sudhakar.raj@ti.com>
+S:     Maintained
+F:     include/configs/da850evm.h
+F:     configs/da850_am18xxevm_defconfig
+F:     configs/da850evm_defconfig
+F:     configs/da850evm_direct_nor_defconfig
+
+HAWKBOARD BOARD
+M:     Syed Mohammed Khasim <sm.khasim@gmail.com>
+M:     Sughosh Ganu <urwithsughosh@gmail.com>
+S:     Maintained
+F:     include/configs/hawkboard.h
+F:     configs/hawkboard_defconfig
+F:     configs/hawkboard_uart_defconfig
diff --git a/board/davinci/dm355evm/Kconfig b/board/davinci/dm355evm/Kconfig
new file mode 100644 (file)
index 0000000..2dbb509
--- /dev/null
@@ -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/dm355evm/MAINTAINERS b/board/davinci/dm355evm/MAINTAINERS
new file mode 100644 (file)
index 0000000..b823785
--- /dev/null
@@ -0,0 +1,6 @@
+DM355EVM BOARD
+M:     Sandeep Paulraj <s-paulraj@ti.com>
+S:     Maintained
+F:     board/davinci/dm355evm/
+F:     include/configs/davinci_dm355evm.h
+F:     configs/davinci_dm355evm_defconfig
diff --git a/board/davinci/dm355leopard/Kconfig b/board/davinci/dm355leopard/Kconfig
new file mode 100644 (file)
index 0000000..345704f
--- /dev/null
@@ -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/dm355leopard/MAINTAINERS b/board/davinci/dm355leopard/MAINTAINERS
new file mode 100644 (file)
index 0000000..f17fea2
--- /dev/null
@@ -0,0 +1,6 @@
+DM355LEOPARD BOARD
+M:     Sandeep Paulraj <s-paulraj@ti.com>
+S:     Maintained
+F:     board/davinci/dm355leopard/
+F:     include/configs/davinci_dm355leopard.h
+F:     configs/davinci_dm355leopard_defconfig
diff --git a/board/davinci/dm365evm/Kconfig b/board/davinci/dm365evm/Kconfig
new file mode 100644 (file)
index 0000000..d5f7ea2
--- /dev/null
@@ -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/dm365evm/MAINTAINERS b/board/davinci/dm365evm/MAINTAINERS
new file mode 100644 (file)
index 0000000..5adb4e0
--- /dev/null
@@ -0,0 +1,6 @@
+DM365EVM BOARD
+M:     Sandeep Paulraj <s-paulraj@ti.com>
+S:     Maintained
+F:     board/davinci/dm365evm/
+F:     include/configs/davinci_dm365evm.h
+F:     configs/davinci_dm365evm_defconfig
diff --git a/board/davinci/dm6467evm/Kconfig b/board/davinci/dm6467evm/Kconfig
new file mode 100644 (file)
index 0000000..f7b225d
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/davinci/dm6467evm/MAINTAINERS b/board/davinci/dm6467evm/MAINTAINERS
new file mode 100644 (file)
index 0000000..4030bf3
--- /dev/null
@@ -0,0 +1,7 @@
+DM6467EVM BOARD
+M:     Sandeep Paulraj <s-paulraj@ti.com>
+S:     Maintained
+F:     board/davinci/dm6467evm/
+F:     include/configs/davinci_dm6467evm.h
+F:     configs/davinci_dm6467evm_defconfig
+F:     configs/davinci_dm6467Tevm_defconfig
diff --git a/board/davinci/dvevm/Kconfig b/board/davinci/dvevm/Kconfig
new file mode 100644 (file)
index 0000000..7a2d86b
--- /dev/null
@@ -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/dvevm/MAINTAINERS b/board/davinci/dvevm/MAINTAINERS
new file mode 100644 (file)
index 0000000..4b3ce45
--- /dev/null
@@ -0,0 +1,6 @@
+DVEVM BOARD
+M:     -
+S:     Maintained
+F:     board/davinci/dvevm/
+F:     include/configs/davinci_dvevm.h
+F:     configs/davinci_dvevm_defconfig
diff --git a/board/davinci/ea20/Kconfig b/board/davinci/ea20/Kconfig
new file mode 100644 (file)
index 0000000..afab821
--- /dev/null
@@ -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/ea20/MAINTAINERS b/board/davinci/ea20/MAINTAINERS
new file mode 100644 (file)
index 0000000..5c300a3
--- /dev/null
@@ -0,0 +1,6 @@
+EA20 BOARD
+M:     Stefano Babic <sbabic@denx.de>
+S:     Maintained
+F:     board/davinci/ea20/
+F:     include/configs/ea20.h
+F:     configs/ea20_defconfig
diff --git a/board/davinci/schmoogie/Kconfig b/board/davinci/schmoogie/Kconfig
new file mode 100644 (file)
index 0000000..45401e4
--- /dev/null
@@ -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/schmoogie/MAINTAINERS b/board/davinci/schmoogie/MAINTAINERS
new file mode 100644 (file)
index 0000000..b1fc29c
--- /dev/null
@@ -0,0 +1,6 @@
+SCHMOOGIE BOARD
+M:     -
+S:     Maintained
+F:     board/davinci/schmoogie/
+F:     include/configs/davinci_schmoogie.h
+F:     configs/davinci_schmoogie_defconfig
diff --git a/board/davinci/sffsdr/Kconfig b/board/davinci/sffsdr/Kconfig
new file mode 100644 (file)
index 0000000..aeb7ef2
--- /dev/null
@@ -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/sffsdr/MAINTAINERS b/board/davinci/sffsdr/MAINTAINERS
new file mode 100644 (file)
index 0000000..428d003
--- /dev/null
@@ -0,0 +1,6 @@
+SFFSDR BOARD
+M:     -
+S:     Maintained
+F:     board/davinci/sffsdr/
+F:     include/configs/davinci_sffsdr.h
+F:     configs/davinci_sffsdr_defconfig
diff --git a/board/davinci/sonata/Kconfig b/board/davinci/sonata/Kconfig
new file mode 100644 (file)
index 0000000..2cf5035
--- /dev/null
@@ -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/davinci/sonata/MAINTAINERS b/board/davinci/sonata/MAINTAINERS
new file mode 100644 (file)
index 0000000..625978c
--- /dev/null
@@ -0,0 +1,6 @@
+SONATA BOARD
+M:     -
+S:     Maintained
+F:     board/davinci/sonata/
+F:     include/configs/davinci_sonata.h
+F:     configs/davinci_sonata_defconfig
diff --git a/board/dbau1x00/Kconfig b/board/dbau1x00/Kconfig
new file mode 100644 (file)
index 0000000..5fca62d
--- /dev/null
@@ -0,0 +1,19 @@
+if TARGET_DBAU1X00
+
+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"
+
+endif
diff --git a/board/dbau1x00/MAINTAINERS b/board/dbau1x00/MAINTAINERS
new file mode 100644 (file)
index 0000000..b94ed81
--- /dev/null
@@ -0,0 +1,10 @@
+DBAU1X00 BOARD
+M:     Thomas Lange <thomas@corelatus.se>
+S:     Maintained
+F:     board/dbau1x00/
+F:     include/configs/dbau1x00.h
+F:     configs/dbau1000_defconfig
+F:     configs/dbau1100_defconfig
+F:     configs/dbau1500_defconfig
+F:     configs/dbau1550_defconfig
+F:     configs/dbau1550_el_defconfig
diff --git a/board/denx/m28evk/Kconfig b/board/denx/m28evk/Kconfig
new file mode 100644 (file)
index 0000000..05f79ad
--- /dev/null
@@ -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/m28evk/MAINTAINERS b/board/denx/m28evk/MAINTAINERS
new file mode 100644 (file)
index 0000000..b0535a9
--- /dev/null
@@ -0,0 +1,6 @@
+M28EVK BOARD
+M:     Marek Vasut <marek.vasut@gmail.com>
+S:     Maintained
+F:     board/denx/m28evk/
+F:     include/configs/m28evk.h
+F:     configs/m28evk_defconfig
diff --git a/board/denx/m53evk/Kconfig b/board/denx/m53evk/Kconfig
new file mode 100644 (file)
index 0000000..5e3298c
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/denx/m53evk/MAINTAINERS b/board/denx/m53evk/MAINTAINERS
new file mode 100644 (file)
index 0000000..5d8c764
--- /dev/null
@@ -0,0 +1,6 @@
+M53EVK BOARD
+M:     Marek Vasut <marek.vasut@gmail.com>
+S:     Maintained
+F:     board/denx/m53evk/
+F:     include/configs/m53evk.h
+F:     configs/m53evk_defconfig
diff --git a/board/dnp5370/Kconfig b/board/dnp5370/Kconfig
new file mode 100644 (file)
index 0000000..f03a1e7
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_DNP5370
+
+config SYS_BOARD
+       string
+       default "dnp5370"
+
+config SYS_CONFIG_NAME
+       string
+       default "dnp5370"
+
+endif
diff --git a/board/dnp5370/MAINTAINERS b/board/dnp5370/MAINTAINERS
new file mode 100644 (file)
index 0000000..8333891
--- /dev/null
@@ -0,0 +1,6 @@
+DNP5370 BOARD
+M:     M.Hasewinkel (MHA) <info@ssv-embedded.de>
+S:     Maintained
+F:     board/dnp5370/
+F:     include/configs/dnp5370.h
+F:     configs/dnp5370_defconfig
diff --git a/board/eXalion/Kconfig b/board/eXalion/Kconfig
new file mode 100644 (file)
index 0000000..42ba092
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_EXALION
+
+config SYS_BOARD
+       string
+       default "eXalion"
+
+config SYS_CONFIG_NAME
+       string
+       default "eXalion"
+
+endif
diff --git a/board/eXalion/MAINTAINERS b/board/eXalion/MAINTAINERS
new file mode 100644 (file)
index 0000000..0ea74ca
--- /dev/null
@@ -0,0 +1,6 @@
+EXALION BOARD
+M:     Torsten Demke <torsten.demke@fci.com>
+S:     Maintained
+F:     board/eXalion/
+F:     include/configs/eXalion.h
+F:     configs/eXalion_defconfig
diff --git a/board/earthlcd/favr-32-ezkit/Kconfig b/board/earthlcd/favr-32-ezkit/Kconfig
new file mode 100644 (file)
index 0000000..c0cd1b7
--- /dev/null
@@ -0,0 +1,19 @@
+if TARGET_FAVR_32_EZKIT
+
+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/earthlcd/favr-32-ezkit/MAINTAINERS b/board/earthlcd/favr-32-ezkit/MAINTAINERS
new file mode 100644 (file)
index 0000000..30453c6
--- /dev/null
@@ -0,0 +1,6 @@
+FAVR-32-EZKIT BOARD
+M:     Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
+S:     Orphan (since 2014-06)
+F:     board/earthlcd/favr-32-ezkit/
+F:     include/configs/favr-32-ezkit.h
+F:     configs/favr-32-ezkit_defconfig
diff --git a/board/egnite/ethernut5/Kconfig b/board/egnite/ethernut5/Kconfig
new file mode 100644 (file)
index 0000000..cd2e53c
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/egnite/ethernut5/MAINTAINERS b/board/egnite/ethernut5/MAINTAINERS
new file mode 100644 (file)
index 0000000..a4ad913
--- /dev/null
@@ -0,0 +1,6 @@
+ETHERNUT5 BOARD
+M:     egnite GmbH <info@egnite.de>
+S:     Maintained
+F:     board/egnite/ethernut5/
+F:     include/configs/ethernut5.h
+F:     configs/ethernut5_defconfig
diff --git a/board/eltec/elppc/Kconfig b/board/eltec/elppc/Kconfig
new file mode 100644 (file)
index 0000000..55564dc
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_ELPPC
+
+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/elppc/MAINTAINERS b/board/eltec/elppc/MAINTAINERS
new file mode 100644 (file)
index 0000000..5258b3a
--- /dev/null
@@ -0,0 +1,6 @@
+ELPPC BOARD
+M:     -
+S:     Maintained
+F:     board/eltec/elppc/
+F:     include/configs/ELPPC.h
+F:     configs/ELPPC_defconfig
diff --git a/board/eltec/mhpc/Kconfig b/board/eltec/mhpc/Kconfig
new file mode 100644 (file)
index 0000000..69c8358
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MHPC
+
+config SYS_BOARD
+       string
+       default "mhpc"
+
+config SYS_VENDOR
+       string
+       default "eltec"
+
+config SYS_CONFIG_NAME
+       string
+       default "MHPC"
+
+endif
diff --git a/board/eltec/mhpc/MAINTAINERS b/board/eltec/mhpc/MAINTAINERS
new file mode 100644 (file)
index 0000000..4d84a35
--- /dev/null
@@ -0,0 +1,6 @@
+MHPC BOARD
+M:     Frank Gottschling <fgottschling@eltec.de>
+S:     Maintained
+F:     board/eltec/mhpc/
+F:     include/configs/MHPC.h
+F:     configs/MHPC_defconfig
diff --git a/board/embest/mx6boards/Kconfig b/board/embest/mx6boards/Kconfig
new file mode 100644 (file)
index 0000000..b0c823e
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_EMBESTMX6BOARDS
+
+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"
+
+endif
diff --git a/board/embest/mx6boards/MAINTAINERS b/board/embest/mx6boards/MAINTAINERS
new file mode 100644 (file)
index 0000000..0ffd466
--- /dev/null
@@ -0,0 +1,7 @@
+MX6BOARDS BOARD
+M:     Eric Bénard <eric@eukrea.com>
+S:     Maintained
+F:     board/embest/mx6boards/
+F:     include/configs/embestmx6boards.h
+F:     configs/marsboard_defconfig
+F:     configs/riotboard_defconfig
diff --git a/board/emk/top5200/Kconfig b/board/emk/top5200/Kconfig
new file mode 100644 (file)
index 0000000..1d4e326
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_TOP5200
+
+config SYS_BOARD
+       string
+       default "top5200"
+
+config SYS_VENDOR
+       string
+       default "emk"
+
+config SYS_CONFIG_NAME
+       string
+       default "TOP5200"
+
+endif
diff --git a/board/emk/top5200/MAINTAINERS b/board/emk/top5200/MAINTAINERS
new file mode 100644 (file)
index 0000000..72fea41
--- /dev/null
@@ -0,0 +1,8 @@
+TOP5200 BOARD
+M:     Reinhard Meyer <reinhard.meyer@emk-elektronik.de>
+S:     Maintained
+F:     board/emk/top5200/
+F:     include/configs/TOP5200.h
+F:     configs/EVAL5200_defconfig
+F:     configs/MINI5200_defconfig
+F:     configs/TOP5200_defconfig
diff --git a/board/emk/top860/Kconfig b/board/emk/top860/Kconfig
new file mode 100644 (file)
index 0000000..4da934e
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_TOP860
+
+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/top860/MAINTAINERS b/board/emk/top860/MAINTAINERS
new file mode 100644 (file)
index 0000000..3676aca
--- /dev/null
@@ -0,0 +1,6 @@
+TOP860 BOARD
+M:     Reinhard Meyer <reinhard.meyer@emk-elektronik.de>
+S:     Maintained
+F:     board/emk/top860/
+F:     include/configs/TOP860.h
+F:     configs/TOP860_defconfig
diff --git a/board/emk/top9000/Kconfig b/board/emk/top9000/Kconfig
new file mode 100644 (file)
index 0000000..421f7b2
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_TOP9000
+
+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"
+
+endif
diff --git a/board/emk/top9000/MAINTAINERS b/board/emk/top9000/MAINTAINERS
new file mode 100644 (file)
index 0000000..890359f
--- /dev/null
@@ -0,0 +1,7 @@
+TOP9000 BOARD
+M:     Reinhard Meyer <reinhard.meyer@emk-elektronik.de>
+S:     Maintained
+F:     board/emk/top9000/
+F:     include/configs/top9000.h
+F:     configs/top9000eval_xe_defconfig
+F:     configs/top9000su_xe_defconfig
diff --git a/board/enbw/enbw_cmc/Kconfig b/board/enbw/enbw_cmc/Kconfig
new file mode 100644 (file)
index 0000000..e061e7e
--- /dev/null
@@ -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/enbw/enbw_cmc/MAINTAINERS b/board/enbw/enbw_cmc/MAINTAINERS
new file mode 100644 (file)
index 0000000..f7c9920
--- /dev/null
@@ -0,0 +1,6 @@
+ENBW_CMC BOARD
+M:     Heiko Schocher <hs@denx.de>
+S:     Maintained
+F:     board/enbw/enbw_cmc/
+F:     include/configs/enbw_cmc.h
+F:     configs/enbw_cmc_defconfig
diff --git a/board/ep8260/Kconfig b/board/ep8260/Kconfig
new file mode 100644 (file)
index 0000000..15ca962
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_EP8260
+
+config SYS_BOARD
+       string
+       default "ep8260"
+
+config SYS_CONFIG_NAME
+       string
+       default "ep8260"
+
+endif
diff --git a/board/ep8260/MAINTAINERS b/board/ep8260/MAINTAINERS
new file mode 100644 (file)
index 0000000..bb273df
--- /dev/null
@@ -0,0 +1,6 @@
+EP8260 BOARD
+M:     Frank Panno <fpanno@delphintech.com>
+S:     Orphan (since 2014-06)
+F:     board/ep8260/
+F:     include/configs/ep8260.h
+F:     configs/ep8260_defconfig
diff --git a/board/ep82xxm/Kconfig b/board/ep82xxm/Kconfig
new file mode 100644 (file)
index 0000000..b4121a6
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_EP82XXM
+
+config SYS_BOARD
+       string
+       default "ep82xxm"
+
+config SYS_CONFIG_NAME
+       string
+       default "ep82xxm"
+
+endif
diff --git a/board/ep82xxm/MAINTAINERS b/board/ep82xxm/MAINTAINERS
new file mode 100644 (file)
index 0000000..822261b
--- /dev/null
@@ -0,0 +1,6 @@
+EP82XXM BOARD
+M:     -
+S:     Maintained
+F:     board/ep82xxm/
+F:     include/configs/ep82xxm.h
+F:     configs/ep82xxm_defconfig
diff --git a/board/esd/apc405/Kconfig b/board/esd/apc405/Kconfig
new file mode 100644 (file)
index 0000000..83cd8bd
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_APC405
+
+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/apc405/MAINTAINERS b/board/esd/apc405/MAINTAINERS
new file mode 100644 (file)
index 0000000..7f2a33f
--- /dev/null
@@ -0,0 +1,6 @@
+APC405 BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/apc405/
+F:     include/configs/APC405.h
+F:     configs/APC405_defconfig
diff --git a/board/esd/ar405/Kconfig b/board/esd/ar405/Kconfig
new file mode 100644 (file)
index 0000000..e35fc5e
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_AR405
+
+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/ar405/MAINTAINERS b/board/esd/ar405/MAINTAINERS
new file mode 100644 (file)
index 0000000..be74ff7
--- /dev/null
@@ -0,0 +1,6 @@
+AR405 BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/ar405/
+F:     include/configs/AR405.h
+F:     configs/AR405_defconfig
diff --git a/board/esd/ash405/Kconfig b/board/esd/ash405/Kconfig
new file mode 100644 (file)
index 0000000..e9558a4
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_ASH405
+
+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/ash405/MAINTAINERS b/board/esd/ash405/MAINTAINERS
new file mode 100644 (file)
index 0000000..a9dae90
--- /dev/null
@@ -0,0 +1,6 @@
+ASH405 BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/ash405/
+F:     include/configs/ASH405.h
+F:     configs/ASH405_defconfig
diff --git a/board/esd/cms700/Kconfig b/board/esd/cms700/Kconfig
new file mode 100644 (file)
index 0000000..398d22a
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_CMS700
+
+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/cms700/MAINTAINERS b/board/esd/cms700/MAINTAINERS
new file mode 100644 (file)
index 0000000..0191c8b
--- /dev/null
@@ -0,0 +1,6 @@
+CMS700 BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/cms700/
+F:     include/configs/CMS700.h
+F:     configs/CMS700_defconfig
diff --git a/board/esd/cpci2dp/Kconfig b/board/esd/cpci2dp/Kconfig
new file mode 100644 (file)
index 0000000..c99404c
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_CPCI2DP
+
+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/cpci2dp/MAINTAINERS b/board/esd/cpci2dp/MAINTAINERS
new file mode 100644 (file)
index 0000000..660e185
--- /dev/null
@@ -0,0 +1,6 @@
+CPCI2DP BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/cpci2dp/
+F:     include/configs/CPCI2DP.h
+F:     configs/CPCI2DP_defconfig
diff --git a/board/esd/cpci405/Kconfig b/board/esd/cpci405/Kconfig
new file mode 100644 (file)
index 0000000..0b9f9f4
--- /dev/null
@@ -0,0 +1,63 @@
+if TARGET_CPCI405
+
+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_BOARD
+       string
+       default "cpci405"
+
+config SYS_VENDOR
+       string
+       default "esd"
+
+config SYS_CONFIG_NAME
+       string
+       default "CPCI4052"
+
+endif
+
+if TARGET_CPCI405AB
+
+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_BOARD
+       string
+       default "cpci405"
+
+config SYS_VENDOR
+       string
+       default "esd"
+
+config SYS_CONFIG_NAME
+       string
+       default "CPCI405DT"
+
+endif
diff --git a/board/esd/cpci405/MAINTAINERS b/board/esd/cpci405/MAINTAINERS
new file mode 100644 (file)
index 0000000..1da58dc
--- /dev/null
@@ -0,0 +1,12 @@
+CPCI405 BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/cpci405/
+F:     include/configs/CPCI405.h
+F:     configs/CPCI405_defconfig
+F:     include/configs/CPCI4052.h
+F:     configs/CPCI4052_defconfig
+F:     include/configs/CPCI405AB.h
+F:     configs/CPCI405AB_defconfig
+F:     include/configs/CPCI405DT.h
+F:     configs/CPCI405DT_defconfig
diff --git a/board/esd/cpci5200/Kconfig b/board/esd/cpci5200/Kconfig
new file mode 100644 (file)
index 0000000..29fa9e6
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_CPCI5200
+
+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/cpci5200/MAINTAINERS b/board/esd/cpci5200/MAINTAINERS
new file mode 100644 (file)
index 0000000..184d3cc
--- /dev/null
@@ -0,0 +1,6 @@
+CPCI5200 BOARD
+M:     Reinhard Arlt <reinhard.arlt@esd-electronics.com>
+S:     Maintained
+F:     board/esd/cpci5200/
+F:     include/configs/cpci5200.h
+F:     configs/cpci5200_defconfig
diff --git a/board/esd/cpci750/Kconfig b/board/esd/cpci750/Kconfig
new file mode 100644 (file)
index 0000000..99f8c2d
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_CPCI750
+
+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/cpci750/MAINTAINERS b/board/esd/cpci750/MAINTAINERS
new file mode 100644 (file)
index 0000000..4a46457
--- /dev/null
@@ -0,0 +1,6 @@
+CPCI750 BOARD
+M:     Reinhard Arlt <reinhard.arlt@esd-electronics.com>
+S:     Maintained
+F:     board/esd/cpci750/
+F:     include/configs/CPCI750.h
+F:     configs/CPCI750_defconfig
diff --git a/board/esd/cpciiser4/Kconfig b/board/esd/cpciiser4/Kconfig
new file mode 100644 (file)
index 0000000..1357a51
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_CPCIISER4
+
+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/cpciiser4/MAINTAINERS b/board/esd/cpciiser4/MAINTAINERS
new file mode 100644 (file)
index 0000000..85743db
--- /dev/null
@@ -0,0 +1,6 @@
+CPCIISER4 BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/cpciiser4/
+F:     include/configs/CPCIISER4.h
+F:     configs/CPCIISER4_defconfig
diff --git a/board/esd/dp405/Kconfig b/board/esd/dp405/Kconfig
new file mode 100644 (file)
index 0000000..0fd7014
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_DP405
+
+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/dp405/MAINTAINERS b/board/esd/dp405/MAINTAINERS
new file mode 100644 (file)
index 0000000..6833d8c
--- /dev/null
@@ -0,0 +1,6 @@
+DP405 BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/dp405/
+F:     include/configs/DP405.h
+F:     configs/DP405_defconfig
diff --git a/board/esd/du405/Kconfig b/board/esd/du405/Kconfig
new file mode 100644 (file)
index 0000000..f2857f6
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_DU405
+
+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/du405/MAINTAINERS b/board/esd/du405/MAINTAINERS
new file mode 100644 (file)
index 0000000..5eff2a4
--- /dev/null
@@ -0,0 +1,6 @@
+DU405 BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/du405/
+F:     include/configs/DU405.h
+F:     configs/DU405_defconfig
diff --git a/board/esd/du440/Kconfig b/board/esd/du440/Kconfig
new file mode 100644 (file)
index 0000000..f80e181
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_DU440
+
+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/du440/MAINTAINERS b/board/esd/du440/MAINTAINERS
new file mode 100644 (file)
index 0000000..ba26948
--- /dev/null
@@ -0,0 +1,6 @@
+DU440 BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/du440/
+F:     include/configs/DU440.h
+F:     configs/DU440_defconfig
diff --git a/board/esd/hh405/Kconfig b/board/esd/hh405/Kconfig
new file mode 100644 (file)
index 0000000..0dc4b06
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_HH405
+
+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/hh405/MAINTAINERS b/board/esd/hh405/MAINTAINERS
new file mode 100644 (file)
index 0000000..b695c7b
--- /dev/null
@@ -0,0 +1,6 @@
+HH405 BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/hh405/
+F:     include/configs/HH405.h
+F:     configs/HH405_defconfig
diff --git a/board/esd/hub405/Kconfig b/board/esd/hub405/Kconfig
new file mode 100644 (file)
index 0000000..e355dd2
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_HUB405
+
+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/hub405/MAINTAINERS b/board/esd/hub405/MAINTAINERS
new file mode 100644 (file)
index 0000000..e84a1d9
--- /dev/null
@@ -0,0 +1,6 @@
+HUB405 BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/hub405/
+F:     include/configs/HUB405.h
+F:     configs/HUB405_defconfig
diff --git a/board/esd/mecp5123/Kconfig b/board/esd/mecp5123/Kconfig
new file mode 100644 (file)
index 0000000..74237e3
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MECP5123
+
+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/mecp5123/MAINTAINERS b/board/esd/mecp5123/MAINTAINERS
new file mode 100644 (file)
index 0000000..ae5fcea
--- /dev/null
@@ -0,0 +1,6 @@
+MECP5123 BOARD
+M:     Reinhard Arlt <reinhard.arlt@esd-electronics.com>
+S:     Maintained
+F:     board/esd/mecp5123/
+F:     include/configs/mecp5123.h
+F:     configs/mecp5123_defconfig
diff --git a/board/esd/mecp5200/Kconfig b/board/esd/mecp5200/Kconfig
new file mode 100644 (file)
index 0000000..dfcaefd
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MECP5200
+
+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/mecp5200/MAINTAINERS b/board/esd/mecp5200/MAINTAINERS
new file mode 100644 (file)
index 0000000..05b7824
--- /dev/null
@@ -0,0 +1,6 @@
+MECP5200 BOARD
+M:     Reinhard Arlt <reinhard.arlt@esd-electronics.com>
+S:     Maintained
+F:     board/esd/mecp5200/
+F:     include/configs/mecp5200.h
+F:     configs/mecp5200_defconfig
diff --git a/board/esd/meesc/Kconfig b/board/esd/meesc/Kconfig
new file mode 100644 (file)
index 0000000..86a2835
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/esd/meesc/MAINTAINERS b/board/esd/meesc/MAINTAINERS
new file mode 100644 (file)
index 0000000..9403699
--- /dev/null
@@ -0,0 +1,7 @@
+MEESC BOARD
+M:     Daniel Gorsulowski <daniel.gorsulowski@esd.eu>
+S:     Maintained
+F:     board/esd/meesc/
+F:     include/configs/meesc.h
+F:     configs/meesc_defconfig
+F:     configs/meesc_dataflash_defconfig
diff --git a/board/esd/ocrtc/Kconfig b/board/esd/ocrtc/Kconfig
new file mode 100644 (file)
index 0000000..83fa495
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_OCRTC
+
+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/ocrtc/MAINTAINERS b/board/esd/ocrtc/MAINTAINERS
new file mode 100644 (file)
index 0000000..85c1a12
--- /dev/null
@@ -0,0 +1,6 @@
+OCRTC BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/ocrtc/
+F:     include/configs/OCRTC.h
+F:     configs/OCRTC_defconfig
diff --git a/board/esd/otc570/Kconfig b/board/esd/otc570/Kconfig
new file mode 100644 (file)
index 0000000..ec6e4d9
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/esd/otc570/MAINTAINERS b/board/esd/otc570/MAINTAINERS
new file mode 100644 (file)
index 0000000..a7e165d
--- /dev/null
@@ -0,0 +1,7 @@
+OTC570 BOARD
+M:     Daniel Gorsulowski <daniel.gorsulowski@esd.eu>
+S:     Maintained
+F:     board/esd/otc570/
+F:     include/configs/otc570.h
+F:     configs/otc570_defconfig
+F:     configs/otc570_dataflash_defconfig
diff --git a/board/esd/pci405/Kconfig b/board/esd/pci405/Kconfig
new file mode 100644 (file)
index 0000000..a1a3971
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_PCI405
+
+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/pci405/MAINTAINERS b/board/esd/pci405/MAINTAINERS
new file mode 100644 (file)
index 0000000..cf9c1c9
--- /dev/null
@@ -0,0 +1,6 @@
+PCI405 BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/pci405/
+F:     include/configs/PCI405.h
+F:     configs/PCI405_defconfig
diff --git a/board/esd/pf5200/Kconfig b/board/esd/pf5200/Kconfig
new file mode 100644 (file)
index 0000000..82f30af
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_PF5200
+
+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/pf5200/MAINTAINERS b/board/esd/pf5200/MAINTAINERS
new file mode 100644 (file)
index 0000000..b6e624e
--- /dev/null
@@ -0,0 +1,6 @@
+PF5200 BOARD
+M:     Reinhard Arlt <reinhard.arlt@esd-electronics.com>
+S:     Maintained
+F:     board/esd/pf5200/
+F:     include/configs/pf5200.h
+F:     configs/pf5200_defconfig
diff --git a/board/esd/plu405/Kconfig b/board/esd/plu405/Kconfig
new file mode 100644 (file)
index 0000000..b9783d7
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_PLU405
+
+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/plu405/MAINTAINERS b/board/esd/plu405/MAINTAINERS
new file mode 100644 (file)
index 0000000..ccb3658
--- /dev/null
@@ -0,0 +1,6 @@
+PLU405 BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/plu405/
+F:     include/configs/PLU405.h
+F:     configs/PLU405_defconfig
diff --git a/board/esd/pmc405/Kconfig b/board/esd/pmc405/Kconfig
new file mode 100644 (file)
index 0000000..e3c3c82
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_PMC405
+
+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/pmc405/MAINTAINERS b/board/esd/pmc405/MAINTAINERS
new file mode 100644 (file)
index 0000000..148a596
--- /dev/null
@@ -0,0 +1,6 @@
+PMC405 BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/pmc405/
+F:     include/configs/PMC405.h
+F:     configs/PMC405_defconfig
diff --git a/board/esd/pmc405de/Kconfig b/board/esd/pmc405de/Kconfig
new file mode 100644 (file)
index 0000000..f06b26b
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_PMC405DE
+
+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/pmc405de/MAINTAINERS b/board/esd/pmc405de/MAINTAINERS
new file mode 100644 (file)
index 0000000..a891e23
--- /dev/null
@@ -0,0 +1,6 @@
+PMC405DE BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/pmc405de/
+F:     include/configs/PMC405DE.h
+F:     configs/PMC405DE_defconfig
diff --git a/board/esd/pmc440/Kconfig b/board/esd/pmc440/Kconfig
new file mode 100644 (file)
index 0000000..28db4ab
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_PMC440
+
+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/pmc440/MAINTAINERS b/board/esd/pmc440/MAINTAINERS
new file mode 100644 (file)
index 0000000..32fb9ba
--- /dev/null
@@ -0,0 +1,6 @@
+PMC440 BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/pmc440/
+F:     include/configs/PMC440.h
+F:     configs/PMC440_defconfig
diff --git a/board/esd/tasreg/Kconfig b/board/esd/tasreg/Kconfig
new file mode 100644 (file)
index 0000000..8fb80dc
--- /dev/null
@@ -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/tasreg/MAINTAINERS b/board/esd/tasreg/MAINTAINERS
new file mode 100644 (file)
index 0000000..10bc7a4
--- /dev/null
@@ -0,0 +1,6 @@
+TASREG BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/tasreg/
+F:     include/configs/TASREG.h
+F:     configs/TASREG_defconfig
diff --git a/board/esd/vme8349/Kconfig b/board/esd/vme8349/Kconfig
new file mode 100644 (file)
index 0000000..4fd507c
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_VME8349
+
+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/vme8349/MAINTAINERS b/board/esd/vme8349/MAINTAINERS
new file mode 100644 (file)
index 0000000..a88ba13
--- /dev/null
@@ -0,0 +1,7 @@
+VME8349 BOARD
+M:     Reinhard Arlt <reinhard.arlt@esd-electronics.com>
+S:     Maintained
+F:     board/esd/vme8349/
+F:     include/configs/vme8349.h
+F:     configs/caddy2_defconfig
+F:     configs/vme8349_defconfig
diff --git a/board/esd/voh405/Kconfig b/board/esd/voh405/Kconfig
new file mode 100644 (file)
index 0000000..ef3d073
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_VOH405
+
+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/voh405/MAINTAINERS b/board/esd/voh405/MAINTAINERS
new file mode 100644 (file)
index 0000000..0039f5d
--- /dev/null
@@ -0,0 +1,6 @@
+VOH405 BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/voh405/
+F:     include/configs/VOH405.h
+F:     configs/VOH405_defconfig
diff --git a/board/esd/vom405/Kconfig b/board/esd/vom405/Kconfig
new file mode 100644 (file)
index 0000000..90ba34a
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_VOM405
+
+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/vom405/MAINTAINERS b/board/esd/vom405/MAINTAINERS
new file mode 100644 (file)
index 0000000..385f60a
--- /dev/null
@@ -0,0 +1,6 @@
+VOM405 BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/vom405/
+F:     include/configs/VOM405.h
+F:     configs/VOM405_defconfig
diff --git a/board/esd/wuh405/Kconfig b/board/esd/wuh405/Kconfig
new file mode 100644 (file)
index 0000000..214af9f
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_WUH405
+
+config SYS_BOARD
+       string
+       default "wuh405"
+
+config SYS_VENDOR
+       string
+       default "esd"
+
+config SYS_CONFIG_NAME
+       string
+       default "WUH405"
+
+endif
diff --git a/board/esd/wuh405/MAINTAINERS b/board/esd/wuh405/MAINTAINERS
new file mode 100644 (file)
index 0000000..782c72a
--- /dev/null
@@ -0,0 +1,6 @@
+WUH405 BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/esd/wuh405/
+F:     include/configs/WUH405.h
+F:     configs/WUH405_defconfig
diff --git a/board/esg/ima3-mx53/Kconfig b/board/esg/ima3-mx53/Kconfig
new file mode 100644 (file)
index 0000000..fc27625
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/esg/ima3-mx53/MAINTAINERS b/board/esg/ima3-mx53/MAINTAINERS
new file mode 100644 (file)
index 0000000..c434eb9
--- /dev/null
@@ -0,0 +1,6 @@
+IMA3-MX53 BOARD
+M:     -
+S:     Maintained
+F:     board/esg/ima3-mx53/
+F:     include/configs/ima3-mx53.h
+F:     configs/ima3-mx53_defconfig
diff --git a/board/espt/Kconfig b/board/espt/Kconfig
new file mode 100644 (file)
index 0000000..7527e34
--- /dev/null
@@ -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/espt/MAINTAINERS b/board/espt/MAINTAINERS
new file mode 100644 (file)
index 0000000..ff6e20c
--- /dev/null
@@ -0,0 +1,6 @@
+ESPT BOARD
+M:     -
+S:     Maintained
+F:     board/espt/
+F:     include/configs/espt.h
+F:     configs/espt_defconfig
diff --git a/board/esteem192e/Kconfig b/board/esteem192e/Kconfig
new file mode 100644 (file)
index 0000000..848fef8
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_ESTEEM192E
+
+config SYS_BOARD
+       string
+       default "esteem192e"
+
+config SYS_CONFIG_NAME
+       string
+       default "ESTEEM192E"
+
+endif
diff --git a/board/esteem192e/MAINTAINERS b/board/esteem192e/MAINTAINERS
new file mode 100644 (file)
index 0000000..8d6634c
--- /dev/null
@@ -0,0 +1,6 @@
+ESTEEM192E BOARD
+M:     Conn Clark <clark@esteem.com>
+S:     Maintained
+F:     board/esteem192e/
+F:     include/configs/ESTEEM192E.h
+F:     configs/ESTEEM192E_defconfig
diff --git a/board/eukrea/cpu9260/Kconfig b/board/eukrea/cpu9260/Kconfig
new file mode 100644 (file)
index 0000000..d86044e
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/eukrea/cpu9260/MAINTAINERS b/board/eukrea/cpu9260/MAINTAINERS
new file mode 100644 (file)
index 0000000..fb5aee8
--- /dev/null
@@ -0,0 +1,13 @@
+CPU9260 BOARD
+M:     Eric Benard <eric@eukrea.com>
+S:     Maintained
+F:     board/eukrea/cpu9260/
+F:     include/configs/cpu9260.h
+F:     configs/cpu9260_defconfig
+F:     configs/cpu9260_128M_defconfig
+F:     configs/cpu9260_nand_defconfig
+F:     configs/cpu9260_nand_128M_defconfig
+F:     configs/cpu9G20_defconfig
+F:     configs/cpu9G20_128M_defconfig
+F:     configs/cpu9G20_nand_defconfig
+F:     configs/cpu9G20_nand_128M_defconfig
diff --git a/board/eukrea/cpuat91/Kconfig b/board/eukrea/cpuat91/Kconfig
new file mode 100644 (file)
index 0000000..ced3748
--- /dev/null
@@ -0,0 +1,23 @@
+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
diff --git a/board/eukrea/cpuat91/MAINTAINERS b/board/eukrea/cpuat91/MAINTAINERS
new file mode 100644 (file)
index 0000000..1f6bc79
--- /dev/null
@@ -0,0 +1,7 @@
+CPUAT91 BOARD
+M:     Eric Benard <eric@eukrea.com>
+S:     Maintained
+F:     board/eukrea/cpuat91/
+F:     include/configs/cpuat91.h
+F:     configs/cpuat91_defconfig
+F:     configs/cpuat91_ram_defconfig
diff --git a/board/evb64260/Kconfig b/board/evb64260/Kconfig
new file mode 100644 (file)
index 0000000..f7f86c9
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_P3G4
+
+config SYS_BOARD
+       string
+       default "evb64260"
+
+config SYS_CONFIG_NAME
+       string
+       default "P3G4"
+
+endif
+
+if TARGET_ZUMA
+
+config SYS_BOARD
+       string
+       default "evb64260"
+
+config SYS_CONFIG_NAME
+       string
+       default "ZUMA"
+
+endif
diff --git a/board/evb64260/MAINTAINERS b/board/evb64260/MAINTAINERS
new file mode 100644 (file)
index 0000000..f8307cc
--- /dev/null
@@ -0,0 +1,12 @@
+EVB64260 BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/evb64260/
+F:     include/configs/P3G4.h
+F:     configs/P3G4_defconfig
+
+ZUMA BOARD
+M:     Nye Liu <nyet@zumanetworks.com>
+S:     Orphan (since 2014-04)
+F:     include/configs/ZUMA.h
+F:     configs/ZUMA_defconfig
diff --git a/board/exmeritus/hww1u1a/Kconfig b/board/exmeritus/hww1u1a/Kconfig
new file mode 100644 (file)
index 0000000..126ce2f
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_HWW1U1A
+
+config SYS_BOARD
+       string
+       default "hww1u1a"
+
+config SYS_VENDOR
+       string
+       default "exmeritus"
+
+config SYS_CONFIG_NAME
+       string
+       default "HWW1U1A"
+
+endif
diff --git a/board/exmeritus/hww1u1a/MAINTAINERS b/board/exmeritus/hww1u1a/MAINTAINERS
new file mode 100644 (file)
index 0000000..e2fe2a6
--- /dev/null
@@ -0,0 +1,6 @@
+HWW1U1A BOARD
+M:     Kyle Moffett <Kyle.D.Moffett@boeing.com>
+S:     Orphan (since 2014-06)
+F:     board/exmeritus/hww1u1a/
+F:     include/configs/HWW1U1A.h
+F:     configs/HWW1U1A_defconfig
index 97b84b322451486cec051fec8c8007ce2026c952..643ece1ae65c95a45814039ca1522a5259c7d7b2 100644 (file)
@@ -203,7 +203,7 @@ void pci_init_board(void)
 int board_early_init_r(void)
 {
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
 
        /*
         * Remap bootflash region to caching-inhibited
@@ -214,8 +214,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for FLASH */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for FLASH */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,
                        MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
diff --git a/board/faraday/a320evb/Kconfig b/board/faraday/a320evb/Kconfig
new file mode 100644 (file)
index 0000000..353c873
--- /dev/null
@@ -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/faraday/a320evb/MAINTAINERS b/board/faraday/a320evb/MAINTAINERS
new file mode 100644 (file)
index 0000000..f13b015
--- /dev/null
@@ -0,0 +1,6 @@
+A320EVB BOARD
+M:     Po-Yu Chuang <ratbert@faraday-tech.com>
+S:     Maintained
+F:     board/faraday/a320evb/
+F:     include/configs/a320evb.h
+F:     configs/a320evb_defconfig
diff --git a/board/flagadm/Kconfig b/board/flagadm/Kconfig
new file mode 100644 (file)
index 0000000..bc0657e
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_FLAGADM
+
+config SYS_BOARD
+       string
+       default "flagadm"
+
+config SYS_CONFIG_NAME
+       string
+       default "FLAGADM"
+
+endif
diff --git a/board/flagadm/MAINTAINERS b/board/flagadm/MAINTAINERS
new file mode 100644 (file)
index 0000000..606989c
--- /dev/null
@@ -0,0 +1,6 @@
+FLAGADM BOARD
+M:     Kári Davíðsson <kd@flaga.is>
+S:     Orphan (since 2014-06)
+F:     board/flagadm/
+F:     include/configs/FLAGADM.h
+F:     configs/FLAGADM_defconfig
diff --git a/board/freescale/b4860qds/Kconfig b/board/freescale/b4860qds/Kconfig
new file mode 100644 (file)
index 0000000..c5321d6
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_B4860QDS
+
+config SYS_BOARD
+       string
+       default "b4860qds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "B4860QDS"
+
+endif
diff --git a/board/freescale/b4860qds/MAINTAINERS b/board/freescale/b4860qds/MAINTAINERS
new file mode 100644 (file)
index 0000000..9f9a612
--- /dev/null
@@ -0,0 +1,17 @@
+B4860QDS BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/b4860qds/
+F:     include/configs/B4860QDS.h
+F:     configs/B4420QDS_defconfig
+F:     configs/B4420QDS_NAND_defconfig
+F:     configs/B4420QDS_SPIFLASH_defconfig
+F:     configs/B4860QDS_defconfig
+F:     configs/B4860QDS_NAND_defconfig
+F:     configs/B4860QDS_SPIFLASH_defconfig
+F:     configs/B4860QDS_SRIO_PCIE_BOOT_defconfig
+
+B4860QDS_SECURE_BOOT BOARD
+M:     Aneesh Bansal <aneesh.bansal@freescale.com>
+S:     Maintained
+F:     configs/B4860QDS_SECURE_BOOT_defconfig
index 9d6b9a7b669bbc93146fe319de38d8e629531a23..34d66d5fd2dd59891d77288cbaeb39988dc2b12e 100644 (file)
@@ -913,7 +913,7 @@ out:
 int board_early_init_r(void)
 {
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
        int ret;
 
        /*
@@ -925,8 +925,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash + promjet */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash + promjet */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,
                        MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
diff --git a/board/freescale/bsc9131rdb/Kconfig b/board/freescale/bsc9131rdb/Kconfig
new file mode 100644 (file)
index 0000000..6099d4d
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_BSC9131RDB
+
+config SYS_BOARD
+       string
+       default "bsc9131rdb"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "BSC9131RDB"
+
+endif
diff --git a/board/freescale/bsc9131rdb/MAINTAINERS b/board/freescale/bsc9131rdb/MAINTAINERS
new file mode 100644 (file)
index 0000000..7cd8134
--- /dev/null
@@ -0,0 +1,9 @@
+BSC9131RDB BOARD
+M:     Poonam Aggrwal <poonam.aggrwal@freescale.com>
+S:     Maintained
+F:     board/freescale/bsc9131rdb/
+F:     include/configs/BSC9131RDB.h
+F:     configs/BSC9131RDB_NAND_defconfig
+F:     configs/BSC9131RDB_NAND_SYSCLK100_defconfig
+F:     configs/BSC9131RDB_SPIFLASH_defconfig
+F:     configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig
diff --git a/board/freescale/bsc9132qds/Kconfig b/board/freescale/bsc9132qds/Kconfig
new file mode 100644 (file)
index 0000000..955069b
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_BSC9132QDS
+
+config SYS_BOARD
+       string
+       default "bsc9132qds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "BSC9132QDS"
+
+endif
diff --git a/board/freescale/bsc9132qds/MAINTAINERS b/board/freescale/bsc9132qds/MAINTAINERS
new file mode 100644 (file)
index 0000000..3de62d3
--- /dev/null
@@ -0,0 +1,25 @@
+BSC9132QDS BOARD
+M:     Naveen Burmi <NaveenBurmi@freescale.com>
+S:     Maintained
+F:     board/freescale/bsc9132qds/
+F:     include/configs/BSC9132QDS.h
+F:     configs/BSC9132QDS_NAND_DDRCLK100_defconfig
+F:     configs/BSC9132QDS_NAND_DDRCLK133_defconfig
+F:     configs/BSC9132QDS_NOR_DDRCLK100_defconfig
+F:     configs/BSC9132QDS_NOR_DDRCLK133_defconfig
+F:     configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig
+F:     configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig
+F:     configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig
+F:     configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig
+
+BSC9132QDS_NAND_DDRCLK100_SECURE BOARD
+M:     Aneesh Bansal <aneesh.bansal@freescale.com>
+S:     Maintained
+F:     configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig
+F:     configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig
+F:     configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig
+F:     configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig
+F:     configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig
+F:     configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig
+F:     configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig
+F:     configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig
index 9377280063e07eed30769a74912b9b0a9949d266..10580bcecc51cde79d182a962c85645a96ba86ce 100644 (file)
@@ -150,7 +150,7 @@ int board_early_init_r(void)
 {
 #ifndef CONFIG_SYS_NO_FLASH
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
 
        /*
         * Remap Boot flash region to caching-inhibited
@@ -161,8 +161,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,
                        MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
diff --git a/board/freescale/c29xpcie/Kconfig b/board/freescale/c29xpcie/Kconfig
new file mode 100644 (file)
index 0000000..be9c237
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_C29XPCIE
+
+config SYS_BOARD
+       string
+       default "c29xpcie"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "C29XPCIE"
+
+endif
diff --git a/board/freescale/c29xpcie/MAINTAINERS b/board/freescale/c29xpcie/MAINTAINERS
new file mode 100644 (file)
index 0000000..db2e5e3
--- /dev/null
@@ -0,0 +1,8 @@
+C29XPCIE BOARD
+M:     Po Liu <po.liu@freescale.com>
+S:     Maintained
+F:     board/freescale/c29xpcie/
+F:     include/configs/C29XPCIE.h
+F:     configs/C29XPCIE_defconfig
+F:     configs/C29XPCIE_NAND_defconfig
+F:     configs/C29XPCIE_SPIFLASH_defconfig
index f964d6185aa0f35c0047d7c397acc7734638d894..534c6d11b056034b72e409d6f809aae11aee1468 100644 (file)
@@ -49,7 +49,7 @@ int board_early_init_f(void)
 int board_early_init_r(void)
 {
        const unsigned long flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
 
        /*
         * Remap Boot flash region to caching-inhibited
@@ -60,8 +60,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 1; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,
                        MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
diff --git a/board/freescale/corenet_ds/Kconfig b/board/freescale/corenet_ds/Kconfig
new file mode 100644 (file)
index 0000000..8c3bd9c
--- /dev/null
@@ -0,0 +1,63 @@
+if TARGET_P3041DS
+
+config SYS_BOARD
+       string
+       default "corenet_ds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "P3041DS"
+
+endif
+
+if TARGET_P4080DS
+
+config SYS_BOARD
+       string
+       default "corenet_ds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "P4080DS"
+
+endif
+
+if TARGET_P5020DS
+
+config SYS_BOARD
+       string
+       default "corenet_ds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "P5020DS"
+
+endif
+
+if TARGET_P5040DS
+
+config SYS_BOARD
+       string
+       default "corenet_ds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "P5040DS"
+
+endif
diff --git a/board/freescale/corenet_ds/MAINTAINERS b/board/freescale/corenet_ds/MAINTAINERS
new file mode 100644 (file)
index 0000000..841d82f
--- /dev/null
@@ -0,0 +1,29 @@
+CORENET_DS BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/corenet_ds/
+F:     include/configs/P3041DS.h
+F:     configs/P3041DS_defconfig
+F:     configs/P3041DS_NAND_defconfig
+F:     configs/P3041DS_SDCARD_defconfig
+F:     configs/P3041DS_SECURE_BOOT_defconfig
+F:     configs/P3041DS_SPIFLASH_defconfig
+F:     configs/P3041DS_SRIO_PCIE_BOOT_defconfig
+F:     include/configs/P4080DS.h
+F:     configs/P4080DS_defconfig
+F:     configs/P4080DS_SDCARD_defconfig
+F:     configs/P4080DS_SECURE_BOOT_defconfig
+F:     configs/P4080DS_SPIFLASH_defconfig
+F:     configs/P4080DS_SRIO_PCIE_BOOT_defconfig
+F:     include/configs/P5020DS.h
+F:     configs/P5020DS_defconfig
+F:     configs/P5020DS_NAND_defconfig
+F:     configs/P5020DS_SDCARD_defconfig
+F:     configs/P5020DS_SECURE_BOOT_defconfig
+F:     configs/P5020DS_SPIFLASH_defconfig
+F:     configs/P5020DS_SRIO_PCIE_BOOT_defconfig
+F:     include/configs/P5040DS.h
+F:     configs/P5040DS_defconfig
+F:     configs/P5040DS_NAND_defconfig
+F:     configs/P5040DS_SDCARD_defconfig
+F:     configs/P5040DS_SPIFLASH_defconfig
index 9212372feed97719e7863e77b7d801749fde2a1c..65b386741e166c9e0d0c56d69ef7a2a6ba853111 100644 (file)
@@ -101,7 +101,7 @@ int board_early_init_f(void)
 int board_early_init_r(void)
 {
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
 
        /*
         * Remap Boot flash + PROMJET region to caching-inhibited
@@ -112,8 +112,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash + promjet */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash + promjet */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,       /* tlb, epn, rpn */
                        MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G, /* perms, wimge */
diff --git a/board/freescale/ls2085a/Kconfig b/board/freescale/ls2085a/Kconfig
new file mode 100644 (file)
index 0000000..5655e18
--- /dev/null
@@ -0,0 +1,47 @@
+if TARGET_LS2085A_EMU
+
+config SYS_CPU
+       string
+       default "armv8"
+
+config SYS_BOARD
+       string
+       default "ls2085a"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_SOC
+       string
+       default "fsl-lsch3"
+
+config SYS_CONFIG_NAME
+       string
+       default "ls2085a_emu"
+
+endif
+
+if TARGET_LS2085A_SIMU
+
+config SYS_CPU
+       string
+       default "armv8"
+
+config SYS_BOARD
+       string
+       default "ls2085a"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_SOC
+       string
+       default "fsl-lsch3"
+
+config SYS_CONFIG_NAME
+       string
+       default "ls2085a_simu"
+
+endif
diff --git a/board/freescale/ls2085a/MAINTAINERS b/board/freescale/ls2085a/MAINTAINERS
new file mode 100644 (file)
index 0000000..572c4b8
--- /dev/null
@@ -0,0 +1,9 @@
+LS2085A BOARD
+M:     York Sun <yorksun@freescale.com>
+S:     Maintained
+F:     board/freescale/ls2085a/
+F:     include/configs/ls2085a_emu.h
+F:     configs/ls2085a_emu_defconfig
+F:     configs/ls2085a_emu_D4_defconfig
+F:     include/configs/ls2085a_simu.h
+F:     configs/ls2085a_simu_defconfig
diff --git a/board/freescale/m5208evbe/Kconfig b/board/freescale/m5208evbe/Kconfig
new file mode 100644 (file)
index 0000000..9b1fa42
--- /dev/null
@@ -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/m5208evbe/MAINTAINERS b/board/freescale/m5208evbe/MAINTAINERS
new file mode 100644 (file)
index 0000000..65d04df
--- /dev/null
@@ -0,0 +1,6 @@
+M5208EVBE BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/m5208evbe/
+F:     include/configs/M5208EVBE.h
+F:     configs/M5208EVBE_defconfig
diff --git a/board/freescale/m52277evb/Kconfig b/board/freescale/m52277evb/Kconfig
new file mode 100644 (file)
index 0000000..54a86e4
--- /dev/null
@@ -0,0 +1,19 @@
+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"
+
+endif
diff --git a/board/freescale/m52277evb/MAINTAINERS b/board/freescale/m52277evb/MAINTAINERS
new file mode 100644 (file)
index 0000000..390f041
--- /dev/null
@@ -0,0 +1,7 @@
+M52277EVB BOARD
+M:     TsiChung Liew <Tsi-Chung.Liew@freescale.com>
+S:     Maintained
+F:     board/freescale/m52277evb/
+F:     include/configs/M52277EVB.h
+F:     configs/M52277EVB_defconfig
+F:     configs/M52277EVB_stmicro_defconfig
diff --git a/board/freescale/m5235evb/Kconfig b/board/freescale/m5235evb/Kconfig
new file mode 100644 (file)
index 0000000..f996ca2
--- /dev/null
@@ -0,0 +1,19 @@
+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"
+
+endif
diff --git a/board/freescale/m5235evb/MAINTAINERS b/board/freescale/m5235evb/MAINTAINERS
new file mode 100644 (file)
index 0000000..f44422e
--- /dev/null
@@ -0,0 +1,7 @@
+M5235EVB BOARD
+M:     TsiChung Liew <Tsi-Chung.Liew@freescale.com>
+S:     Maintained
+F:     board/freescale/m5235evb/
+F:     include/configs/M5235EVB.h
+F:     configs/M5235EVB_defconfig
+F:     configs/M5235EVB_Flash32_defconfig
diff --git a/board/freescale/m5249evb/Kconfig b/board/freescale/m5249evb/Kconfig
new file mode 100644 (file)
index 0000000..87643e4
--- /dev/null
@@ -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/m5249evb/MAINTAINERS b/board/freescale/m5249evb/MAINTAINERS
new file mode 100644 (file)
index 0000000..22301b7
--- /dev/null
@@ -0,0 +1,6 @@
+M5249EVB BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/m5249evb/
+F:     include/configs/M5249EVB.h
+F:     configs/M5249EVB_defconfig
diff --git a/board/freescale/m5253demo/Kconfig b/board/freescale/m5253demo/Kconfig
new file mode 100644 (file)
index 0000000..76197a7
--- /dev/null
@@ -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/m5253demo/MAINTAINERS b/board/freescale/m5253demo/MAINTAINERS
new file mode 100644 (file)
index 0000000..abe065e
--- /dev/null
@@ -0,0 +1,6 @@
+M5253DEMO BOARD
+M:     TsiChung Liew <Tsi-Chung.Liew@freescale.com>
+S:     Maintained
+F:     board/freescale/m5253demo/
+F:     include/configs/M5253DEMO.h
+F:     configs/M5253DEMO_defconfig
diff --git a/board/freescale/m5253evbe/Kconfig b/board/freescale/m5253evbe/Kconfig
new file mode 100644 (file)
index 0000000..bdc6c27
--- /dev/null
@@ -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/m5253evbe/MAINTAINERS b/board/freescale/m5253evbe/MAINTAINERS
new file mode 100644 (file)
index 0000000..1c21b03
--- /dev/null
@@ -0,0 +1,6 @@
+M5253EVBE BOARD
+M:     Hayden Fraser <Hayden.Fraser@freescale.com>
+S:     Orphan (since 2014-06)
+F:     board/freescale/m5253evbe/
+F:     include/configs/M5253EVBE.h
+F:     configs/M5253EVBE_defconfig
diff --git a/board/freescale/m5272c3/Kconfig b/board/freescale/m5272c3/Kconfig
new file mode 100644 (file)
index 0000000..b69c37a
--- /dev/null
@@ -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/m5272c3/MAINTAINERS b/board/freescale/m5272c3/MAINTAINERS
new file mode 100644 (file)
index 0000000..aa4739f
--- /dev/null
@@ -0,0 +1,6 @@
+M5272C3 BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/m5272c3/
+F:     include/configs/M5272C3.h
+F:     configs/M5272C3_defconfig
diff --git a/board/freescale/m5275evb/Kconfig b/board/freescale/m5275evb/Kconfig
new file mode 100644 (file)
index 0000000..85514b7
--- /dev/null
@@ -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/m5275evb/MAINTAINERS b/board/freescale/m5275evb/MAINTAINERS
new file mode 100644 (file)
index 0000000..b87d52c
--- /dev/null
@@ -0,0 +1,6 @@
+M5275EVB BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/m5275evb/
+F:     include/configs/M5275EVB.h
+F:     configs/M5275EVB_defconfig
diff --git a/board/freescale/m5282evb/Kconfig b/board/freescale/m5282evb/Kconfig
new file mode 100644 (file)
index 0000000..33e98a7
--- /dev/null
@@ -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/m5282evb/MAINTAINERS b/board/freescale/m5282evb/MAINTAINERS
new file mode 100644 (file)
index 0000000..f945ab4
--- /dev/null
@@ -0,0 +1,6 @@
+M5282EVB BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/m5282evb/
+F:     include/configs/M5282EVB.h
+F:     configs/M5282EVB_defconfig
diff --git a/board/freescale/m53017evb/Kconfig b/board/freescale/m53017evb/Kconfig
new file mode 100644 (file)
index 0000000..99ffd7d
--- /dev/null
@@ -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/m53017evb/MAINTAINERS b/board/freescale/m53017evb/MAINTAINERS
new file mode 100644 (file)
index 0000000..700b6f7
--- /dev/null
@@ -0,0 +1,6 @@
+M53017EVB BOARD
+M:     TsiChung Liew <Tsi-Chung.Liew@freescale.com>
+S:     Maintained
+F:     board/freescale/m53017evb/
+F:     include/configs/M53017EVB.h
+F:     configs/M53017EVB_defconfig
diff --git a/board/freescale/m5329evb/Kconfig b/board/freescale/m5329evb/Kconfig
new file mode 100644 (file)
index 0000000..c9a621a
--- /dev/null
@@ -0,0 +1,19 @@
+if TARGET_M5329EVB
+
+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"
+
+endif
diff --git a/board/freescale/m5329evb/MAINTAINERS b/board/freescale/m5329evb/MAINTAINERS
new file mode 100644 (file)
index 0000000..f4f103a
--- /dev/null
@@ -0,0 +1,7 @@
+M5329EVB BOARD
+M:     TsiChung Liew <Tsi-Chung.Liew@freescale.com>
+S:     Maintained
+F:     board/freescale/m5329evb/
+F:     include/configs/M5329EVB.h
+F:     configs/M5329AFEE_defconfig
+F:     configs/M5329BFEE_defconfig
diff --git a/board/freescale/m5373evb/Kconfig b/board/freescale/m5373evb/Kconfig
new file mode 100644 (file)
index 0000000..583a4b5
--- /dev/null
@@ -0,0 +1,19 @@
+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"
+
+endif
diff --git a/board/freescale/m5373evb/MAINTAINERS b/board/freescale/m5373evb/MAINTAINERS
new file mode 100644 (file)
index 0000000..5db0b34
--- /dev/null
@@ -0,0 +1,6 @@
+M5373EVB BOARD
+M:     TsiChung Liew <Tsi-Chung.Liew@freescale.com>
+S:     Maintained
+F:     board/freescale/m5373evb/
+F:     include/configs/M5373EVB.h
+F:     configs/M5373EVB_defconfig
diff --git a/board/freescale/m54418twr/Kconfig b/board/freescale/m54418twr/Kconfig
new file mode 100644 (file)
index 0000000..7d73b94
--- /dev/null
@@ -0,0 +1,19 @@
+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"
+
+endif
diff --git a/board/freescale/m54418twr/MAINTAINERS b/board/freescale/m54418twr/MAINTAINERS
new file mode 100644 (file)
index 0000000..37b24c7
--- /dev/null
@@ -0,0 +1,11 @@
+M54418TWR BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/m54418twr/
+F:     include/configs/M54418TWR.h
+F:     configs/M54418TWR_defconfig
+F:     configs/M54418TWR_nand_mii_defconfig
+F:     configs/M54418TWR_nand_rmii_defconfig
+F:     configs/M54418TWR_nand_rmii_lowfreq_defconfig
+F:     configs/M54418TWR_serial_mii_defconfig
+F:     configs/M54418TWR_serial_rmii_defconfig
diff --git a/board/freescale/m54451evb/Kconfig b/board/freescale/m54451evb/Kconfig
new file mode 100644 (file)
index 0000000..814db72
--- /dev/null
@@ -0,0 +1,19 @@
+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"
+
+endif
diff --git a/board/freescale/m54451evb/MAINTAINERS b/board/freescale/m54451evb/MAINTAINERS
new file mode 100644 (file)
index 0000000..be14549
--- /dev/null
@@ -0,0 +1,7 @@
+M54451EVB BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/m54451evb/
+F:     include/configs/M54451EVB.h
+F:     configs/M54451EVB_defconfig
+F:     configs/M54451EVB_stmicro_defconfig
diff --git a/board/freescale/m54455evb/Kconfig b/board/freescale/m54455evb/Kconfig
new file mode 100644 (file)
index 0000000..acdd13f
--- /dev/null
@@ -0,0 +1,19 @@
+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"
+
+endif
diff --git a/board/freescale/m54455evb/MAINTAINERS b/board/freescale/m54455evb/MAINTAINERS
new file mode 100644 (file)
index 0000000..3788f5f
--- /dev/null
@@ -0,0 +1,10 @@
+M54455EVB BOARD
+M:     TsiChung Liew <Tsi-Chung.Liew@freescale.com>
+S:     Maintained
+F:     board/freescale/m54455evb/
+F:     include/configs/M54455EVB.h
+F:     configs/M54455EVB_defconfig
+F:     configs/M54455EVB_a66_defconfig
+F:     configs/M54455EVB_i66_defconfig
+F:     configs/M54455EVB_intel_defconfig
+F:     configs/M54455EVB_stm33_defconfig
diff --git a/board/freescale/m547xevb/Kconfig b/board/freescale/m547xevb/Kconfig
new file mode 100644 (file)
index 0000000..d21072e
--- /dev/null
@@ -0,0 +1,19 @@
+if TARGET_M5475EVB
+
+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"
+
+endif
diff --git a/board/freescale/m547xevb/MAINTAINERS b/board/freescale/m547xevb/MAINTAINERS
new file mode 100644 (file)
index 0000000..9a8408d
--- /dev/null
@@ -0,0 +1,12 @@
+M547XEVB BOARD
+M:     TsiChung Liew <Tsi-Chung.Liew@freescale.com>
+S:     Maintained
+F:     board/freescale/m547xevb/
+F:     include/configs/M5475EVB.h
+F:     configs/M5475AFE_defconfig
+F:     configs/M5475BFE_defconfig
+F:     configs/M5475CFE_defconfig
+F:     configs/M5475DFE_defconfig
+F:     configs/M5475EFE_defconfig
+F:     configs/M5475FFE_defconfig
+F:     configs/M5475GFE_defconfig
diff --git a/board/freescale/m548xevb/Kconfig b/board/freescale/m548xevb/Kconfig
new file mode 100644 (file)
index 0000000..2afe11c
--- /dev/null
@@ -0,0 +1,19 @@
+if TARGET_M5485EVB
+
+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"
+
+endif
diff --git a/board/freescale/m548xevb/MAINTAINERS b/board/freescale/m548xevb/MAINTAINERS
new file mode 100644 (file)
index 0000000..82ad9fd
--- /dev/null
@@ -0,0 +1,13 @@
+M548XEVB BOARD
+M:     TsiChung Liew <Tsi-Chung.Liew@freescale.com>
+S:     Maintained
+F:     board/freescale/m548xevb/
+F:     include/configs/M5485EVB.h
+F:     configs/M5485AFE_defconfig
+F:     configs/M5485BFE_defconfig
+F:     configs/M5485CFE_defconfig
+F:     configs/M5485DFE_defconfig
+F:     configs/M5485EFE_defconfig
+F:     configs/M5485FFE_defconfig
+F:     configs/M5485GFE_defconfig
+F:     configs/M5485HFE_defconfig
diff --git a/board/freescale/mpc5121ads/Kconfig b/board/freescale/mpc5121ads/Kconfig
new file mode 100644 (file)
index 0000000..9989ccb
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC5121ADS
+
+config SYS_BOARD
+       string
+       default "mpc5121ads"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "mpc5121ads"
+
+endif
diff --git a/board/freescale/mpc5121ads/MAINTAINERS b/board/freescale/mpc5121ads/MAINTAINERS
new file mode 100644 (file)
index 0000000..0c7f682
--- /dev/null
@@ -0,0 +1,7 @@
+MPC5121ADS BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/mpc5121ads/
+F:     include/configs/mpc5121ads.h
+F:     configs/mpc5121ads_defconfig
+F:     configs/mpc5121ads_rev2_defconfig
diff --git a/board/freescale/mpc7448hpc2/Kconfig b/board/freescale/mpc7448hpc2/Kconfig
new file mode 100644 (file)
index 0000000..0ea712c
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC7448HPC2
+
+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/mpc7448hpc2/MAINTAINERS b/board/freescale/mpc7448hpc2/MAINTAINERS
new file mode 100644 (file)
index 0000000..9966b55
--- /dev/null
@@ -0,0 +1,6 @@
+MPC7448HPC2 BOARD
+M:     Roy Zang <tie-fei.zang@freescale.com>
+S:     Maintained
+F:     board/freescale/mpc7448hpc2/
+F:     include/configs/mpc7448hpc2.h
+F:     configs/mpc7448hpc2_defconfig
diff --git a/board/freescale/mpc8266ads/Kconfig b/board/freescale/mpc8266ads/Kconfig
new file mode 100644 (file)
index 0000000..7c5a646
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8266ADS
+
+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/mpc8266ads/MAINTAINERS b/board/freescale/mpc8266ads/MAINTAINERS
new file mode 100644 (file)
index 0000000..bdea02d
--- /dev/null
@@ -0,0 +1,6 @@
+MPC8266ADS BOARD
+M:     Rune Torgersen <runet@innovsys.com>
+S:     Maintained
+F:     board/freescale/mpc8266ads/
+F:     include/configs/MPC8266ADS.h
+F:     configs/MPC8266ADS_defconfig
diff --git a/board/freescale/mpc8308rdb/Kconfig b/board/freescale/mpc8308rdb/Kconfig
new file mode 100644 (file)
index 0000000..b47765a
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8308RDB
+
+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/mpc8308rdb/MAINTAINERS b/board/freescale/mpc8308rdb/MAINTAINERS
new file mode 100644 (file)
index 0000000..07ff2ab
--- /dev/null
@@ -0,0 +1,6 @@
+MPC8308RDB BOARD
+M:     Ilya Yanok <yanok@emcraft.com>
+S:     Maintained
+F:     board/freescale/mpc8308rdb/
+F:     include/configs/MPC8308RDB.h
+F:     configs/MPC8308RDB_defconfig
diff --git a/board/freescale/mpc8313erdb/Kconfig b/board/freescale/mpc8313erdb/Kconfig
new file mode 100644 (file)
index 0000000..078f437
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8313ERDB
+
+config SYS_BOARD
+       string
+       default "mpc8313erdb"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "MPC8313ERDB"
+
+endif
diff --git a/board/freescale/mpc8313erdb/MAINTAINERS b/board/freescale/mpc8313erdb/MAINTAINERS
new file mode 100644 (file)
index 0000000..923ba95
--- /dev/null
@@ -0,0 +1,9 @@
+MPC8313ERDB BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/mpc8313erdb/
+F:     include/configs/MPC8313ERDB.h
+F:     configs/MPC8313ERDB_33_defconfig
+F:     configs/MPC8313ERDB_66_defconfig
+F:     configs/MPC8313ERDB_NAND_33_defconfig
+F:     configs/MPC8313ERDB_NAND_66_defconfig
diff --git a/board/freescale/mpc8315erdb/Kconfig b/board/freescale/mpc8315erdb/Kconfig
new file mode 100644 (file)
index 0000000..46833ca
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8315ERDB
+
+config SYS_BOARD
+       string
+       default "mpc8315erdb"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "MPC8315ERDB"
+
+endif
diff --git a/board/freescale/mpc8315erdb/MAINTAINERS b/board/freescale/mpc8315erdb/MAINTAINERS
new file mode 100644 (file)
index 0000000..938c152
--- /dev/null
@@ -0,0 +1,6 @@
+MPC8315ERDB BOARD
+M:     Dave Liu <daveliu@freescale.com>
+S:     Maintained
+F:     board/freescale/mpc8315erdb/
+F:     include/configs/MPC8315ERDB.h
+F:     configs/MPC8315ERDB_defconfig
diff --git a/board/freescale/mpc8323erdb/Kconfig b/board/freescale/mpc8323erdb/Kconfig
new file mode 100644 (file)
index 0000000..a1c0a61
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8323ERDB
+
+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/mpc8323erdb/MAINTAINERS b/board/freescale/mpc8323erdb/MAINTAINERS
new file mode 100644 (file)
index 0000000..05057c0
--- /dev/null
@@ -0,0 +1,6 @@
+MPC8323ERDB BOARD
+M:     Michael Barkowski <michael.barkowski@freescale.com>
+S:     Maintained
+F:     board/freescale/mpc8323erdb/
+F:     include/configs/MPC8323ERDB.h
+F:     configs/MPC8323ERDB_defconfig
diff --git a/board/freescale/mpc832xemds/Kconfig b/board/freescale/mpc832xemds/Kconfig
new file mode 100644 (file)
index 0000000..83af2c2
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC832XEMDS
+
+config SYS_BOARD
+       string
+       default "mpc832xemds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "MPC832XEMDS"
+
+endif
diff --git a/board/freescale/mpc832xemds/MAINTAINERS b/board/freescale/mpc832xemds/MAINTAINERS
new file mode 100644 (file)
index 0000000..56d7073
--- /dev/null
@@ -0,0 +1,10 @@
+MPC832XEMDS BOARD
+M:     Dave Liu <daveliu@freescale.com>
+S:     Maintained
+F:     board/freescale/mpc832xemds/
+F:     include/configs/MPC832XEMDS.h
+F:     configs/MPC832XEMDS_defconfig
+F:     configs/MPC832XEMDS_ATM_defconfig
+F:     configs/MPC832XEMDS_HOST_33_defconfig
+F:     configs/MPC832XEMDS_HOST_66_defconfig
+F:     configs/MPC832XEMDS_SLAVE_defconfig
diff --git a/board/freescale/mpc8349emds/Kconfig b/board/freescale/mpc8349emds/Kconfig
new file mode 100644 (file)
index 0000000..8f549dc
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8349EMDS
+
+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/mpc8349emds/MAINTAINERS b/board/freescale/mpc8349emds/MAINTAINERS
new file mode 100644 (file)
index 0000000..141e77a
--- /dev/null
@@ -0,0 +1,6 @@
+MPC8349EMDS BOARD
+M:     Kim Phillips <kim.phillips@freescale.com>
+S:     Maintained
+F:     board/freescale/mpc8349emds/
+F:     include/configs/MPC8349EMDS.h
+F:     configs/MPC8349EMDS_defconfig
diff --git a/board/freescale/mpc8349itx/Kconfig b/board/freescale/mpc8349itx/Kconfig
new file mode 100644 (file)
index 0000000..af3fedd
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8349ITX
+
+config SYS_BOARD
+       string
+       default "mpc8349itx"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "MPC8349ITX"
+
+endif
diff --git a/board/freescale/mpc8349itx/MAINTAINERS b/board/freescale/mpc8349itx/MAINTAINERS
new file mode 100644 (file)
index 0000000..ed6e4e5
--- /dev/null
@@ -0,0 +1,8 @@
+MPC8349ITX BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/mpc8349itx/
+F:     include/configs/MPC8349ITX.h
+F:     configs/MPC8349ITX_defconfig
+F:     configs/MPC8349ITX_LOWBOOT_defconfig
+F:     configs/MPC8349ITXGP_defconfig
diff --git a/board/freescale/mpc8360emds/Kconfig b/board/freescale/mpc8360emds/Kconfig
new file mode 100644 (file)
index 0000000..d6e7766
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8360EMDS
+
+config SYS_BOARD
+       string
+       default "mpc8360emds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "MPC8360EMDS"
+
+endif
diff --git a/board/freescale/mpc8360emds/MAINTAINERS b/board/freescale/mpc8360emds/MAINTAINERS
new file mode 100644 (file)
index 0000000..91ff2ef
--- /dev/null
@@ -0,0 +1,15 @@
+MPC8360EMDS BOARD
+M:     Dave Liu <daveliu@freescale.com>
+S:     Maintained
+F:     board/freescale/mpc8360emds/
+F:     include/configs/MPC8360EMDS.h
+F:     configs/MPC8360EMDS_33_defconfig
+F:     configs/MPC8360EMDS_33_ATM_defconfig
+F:     configs/MPC8360EMDS_33_HOST_33_defconfig
+F:     configs/MPC8360EMDS_33_HOST_66_defconfig
+F:     configs/MPC8360EMDS_33_SLAVE_defconfig
+F:     configs/MPC8360EMDS_66_defconfig
+F:     configs/MPC8360EMDS_66_ATM_defconfig
+F:     configs/MPC8360EMDS_66_HOST_33_defconfig
+F:     configs/MPC8360EMDS_66_HOST_66_defconfig
+F:     configs/MPC8360EMDS_66_SLAVE_defconfig
diff --git a/board/freescale/mpc8360erdk/Kconfig b/board/freescale/mpc8360erdk/Kconfig
new file mode 100644 (file)
index 0000000..bfb3b1f
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8360ERDK
+
+config SYS_BOARD
+       string
+       default "mpc8360erdk"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "MPC8360ERDK"
+
+endif
diff --git a/board/freescale/mpc8360erdk/MAINTAINERS b/board/freescale/mpc8360erdk/MAINTAINERS
new file mode 100644 (file)
index 0000000..cb075d6
--- /dev/null
@@ -0,0 +1,7 @@
+MPC8360ERDK BOARD
+M:     Anton Vorontsov <avorontsov@ru.mvista.com>
+S:     Orphan (since 2014-03)
+F:     board/freescale/mpc8360erdk/
+F:     include/configs/MPC8360ERDK.h
+F:     configs/MPC8360ERDK_defconfig
+F:     configs/MPC8360ERDK_33_defconfig
diff --git a/board/freescale/mpc837xemds/Kconfig b/board/freescale/mpc837xemds/Kconfig
new file mode 100644 (file)
index 0000000..b0357cb
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC837XEMDS
+
+config SYS_BOARD
+       string
+       default "mpc837xemds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "MPC837XEMDS"
+
+endif
diff --git a/board/freescale/mpc837xemds/MAINTAINERS b/board/freescale/mpc837xemds/MAINTAINERS
new file mode 100644 (file)
index 0000000..6ff1346
--- /dev/null
@@ -0,0 +1,7 @@
+MPC837XEMDS BOARD
+M:     Dave Liu <daveliu@freescale.com>
+S:     Maintained
+F:     board/freescale/mpc837xemds/
+F:     include/configs/MPC837XEMDS.h
+F:     configs/MPC837XEMDS_defconfig
+F:     configs/MPC837XEMDS_HOST_defconfig
diff --git a/board/freescale/mpc837xerdb/Kconfig b/board/freescale/mpc837xerdb/Kconfig
new file mode 100644 (file)
index 0000000..f8e33e6
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC837XERDB
+
+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/mpc837xerdb/MAINTAINERS b/board/freescale/mpc837xerdb/MAINTAINERS
new file mode 100644 (file)
index 0000000..c216d8d
--- /dev/null
@@ -0,0 +1,6 @@
+MPC837XERDB BOARD
+M:     Joe D'Abbraccio <ljd015@freescale.com>
+S:     Orphan (since 2014-06)
+F:     board/freescale/mpc837xerdb/
+F:     include/configs/MPC837XERDB.h
+F:     configs/MPC837XERDB_defconfig
diff --git a/board/freescale/mpc8536ds/Kconfig b/board/freescale/mpc8536ds/Kconfig
new file mode 100644 (file)
index 0000000..c7c818c
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8536DS
+
+config SYS_BOARD
+       string
+       default "mpc8536ds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "MPC8536DS"
+
+endif
diff --git a/board/freescale/mpc8536ds/MAINTAINERS b/board/freescale/mpc8536ds/MAINTAINERS
new file mode 100644 (file)
index 0000000..51d7cd7
--- /dev/null
@@ -0,0 +1,9 @@
+MPC8536DS BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/mpc8536ds/
+F:     include/configs/MPC8536DS.h
+F:     configs/MPC8536DS_defconfig
+F:     configs/MPC8536DS_36BIT_defconfig
+F:     configs/MPC8536DS_SDCARD_defconfig
+F:     configs/MPC8536DS_SPIFLASH_defconfig
index 467f4f2013feac90e8962cb9b8a1d43dbb3a82d2..93eed59b1a95b23dda37ec20c2b06798bf9604ae 100644 (file)
@@ -196,7 +196,7 @@ void pci_init_board(void)
 int board_early_init_r(void)
 {
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
 
        /*
         * Remap Boot flash + PROMJET region to caching-inhibited
@@ -207,8 +207,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash + promjet */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 1; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash + promjet */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,       /* tlb, epn, rpn */
                MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G, /* perms, wimge */
diff --git a/board/freescale/mpc8540ads/Kconfig b/board/freescale/mpc8540ads/Kconfig
new file mode 100644 (file)
index 0000000..2cf252c
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8540ADS
+
+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/mpc8540ads/MAINTAINERS b/board/freescale/mpc8540ads/MAINTAINERS
new file mode 100644 (file)
index 0000000..41a2191
--- /dev/null
@@ -0,0 +1,6 @@
+MPC8540ADS BOARD
+M:     Kumar Gala <kumar.gala@freescale.com>
+S:     Orphan (since 2014-06)
+F:     board/freescale/mpc8540ads/
+F:     include/configs/MPC8540ADS.h
+F:     configs/MPC8540ADS_defconfig
diff --git a/board/freescale/mpc8541cds/Kconfig b/board/freescale/mpc8541cds/Kconfig
new file mode 100644 (file)
index 0000000..2beefc2
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8541CDS
+
+config SYS_BOARD
+       string
+       default "mpc8541cds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "MPC8541CDS"
+
+endif
diff --git a/board/freescale/mpc8541cds/MAINTAINERS b/board/freescale/mpc8541cds/MAINTAINERS
new file mode 100644 (file)
index 0000000..073210d
--- /dev/null
@@ -0,0 +1,7 @@
+MPC8541CDS BOARD
+M:     Kumar Gala <kumar.gala@freescale.com>
+S:     Orphan (since 2014-06)
+F:     board/freescale/mpc8541cds/
+F:     include/configs/MPC8541CDS.h
+F:     configs/MPC8541CDS_defconfig
+F:     configs/MPC8541CDS_legacy_defconfig
diff --git a/board/freescale/mpc8544ds/Kconfig b/board/freescale/mpc8544ds/Kconfig
new file mode 100644 (file)
index 0000000..d55b680
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8544DS
+
+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/mpc8544ds/MAINTAINERS b/board/freescale/mpc8544ds/MAINTAINERS
new file mode 100644 (file)
index 0000000..81b664c
--- /dev/null
@@ -0,0 +1,6 @@
+MPC8544DS BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/mpc8544ds/
+F:     include/configs/MPC8544DS.h
+F:     configs/MPC8544DS_defconfig
diff --git a/board/freescale/mpc8548cds/Kconfig b/board/freescale/mpc8548cds/Kconfig
new file mode 100644 (file)
index 0000000..69d717e
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8548CDS
+
+config SYS_BOARD
+       string
+       default "mpc8548cds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "MPC8548CDS"
+
+endif
diff --git a/board/freescale/mpc8548cds/MAINTAINERS b/board/freescale/mpc8548cds/MAINTAINERS
new file mode 100644 (file)
index 0000000..89b2425
--- /dev/null
@@ -0,0 +1,8 @@
+MPC8548CDS BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/mpc8548cds/
+F:     include/configs/MPC8548CDS.h
+F:     configs/MPC8548CDS_defconfig
+F:     configs/MPC8548CDS_36BIT_defconfig
+F:     configs/MPC8548CDS_legacy_defconfig
diff --git a/board/freescale/mpc8555cds/Kconfig b/board/freescale/mpc8555cds/Kconfig
new file mode 100644 (file)
index 0000000..5858308
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8555CDS
+
+config SYS_BOARD
+       string
+       default "mpc8555cds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "MPC8555CDS"
+
+endif
diff --git a/board/freescale/mpc8555cds/MAINTAINERS b/board/freescale/mpc8555cds/MAINTAINERS
new file mode 100644 (file)
index 0000000..14470d7
--- /dev/null
@@ -0,0 +1,7 @@
+MPC8555CDS BOARD
+M:     Kumar Gala <kumar.gala@freescale.com>
+S:     Orphan (since 2014-06)
+F:     board/freescale/mpc8555cds/
+F:     include/configs/MPC8555CDS.h
+F:     configs/MPC8555CDS_defconfig
+F:     configs/MPC8555CDS_legacy_defconfig
diff --git a/board/freescale/mpc8560ads/Kconfig b/board/freescale/mpc8560ads/Kconfig
new file mode 100644 (file)
index 0000000..55cdb62
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8560ADS
+
+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/mpc8560ads/MAINTAINERS b/board/freescale/mpc8560ads/MAINTAINERS
new file mode 100644 (file)
index 0000000..836def2
--- /dev/null
@@ -0,0 +1,6 @@
+MPC8560ADS BOARD
+M:     Kumar Gala <kumar.gala@freescale.com>
+S:     Orphan (since 2014-06)
+F:     board/freescale/mpc8560ads/
+F:     include/configs/MPC8560ADS.h
+F:     configs/MPC8560ADS_defconfig
diff --git a/board/freescale/mpc8568mds/Kconfig b/board/freescale/mpc8568mds/Kconfig
new file mode 100644 (file)
index 0000000..b02946b
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8568MDS
+
+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/mpc8568mds/MAINTAINERS b/board/freescale/mpc8568mds/MAINTAINERS
new file mode 100644 (file)
index 0000000..72c25f5
--- /dev/null
@@ -0,0 +1,6 @@
+MPC8568MDS BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/mpc8568mds/
+F:     include/configs/MPC8568MDS.h
+F:     configs/MPC8568MDS_defconfig
diff --git a/board/freescale/mpc8569mds/Kconfig b/board/freescale/mpc8569mds/Kconfig
new file mode 100644 (file)
index 0000000..f13a07e
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8569MDS
+
+config SYS_BOARD
+       string
+       default "mpc8569mds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "MPC8569MDS"
+
+endif
diff --git a/board/freescale/mpc8569mds/MAINTAINERS b/board/freescale/mpc8569mds/MAINTAINERS
new file mode 100644 (file)
index 0000000..b5478db
--- /dev/null
@@ -0,0 +1,7 @@
+MPC8569MDS BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/mpc8569mds/
+F:     include/configs/MPC8569MDS.h
+F:     configs/MPC8569MDS_defconfig
+F:     configs/MPC8569MDS_ATM_defconfig
diff --git a/board/freescale/mpc8572ds/Kconfig b/board/freescale/mpc8572ds/Kconfig
new file mode 100644 (file)
index 0000000..3794f03
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8572DS
+
+config SYS_BOARD
+       string
+       default "mpc8572ds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "MPC8572DS"
+
+endif
diff --git a/board/freescale/mpc8572ds/MAINTAINERS b/board/freescale/mpc8572ds/MAINTAINERS
new file mode 100644 (file)
index 0000000..4c9b968
--- /dev/null
@@ -0,0 +1,7 @@
+MPC8572DS BOARD
+M:     York Sun <yorksun@freescale.com>
+S:     Maintained
+F:     board/freescale/mpc8572ds/
+F:     include/configs/MPC8572DS.h
+F:     configs/MPC8572DS_defconfig
+F:     configs/MPC8572DS_36BIT_defconfig
index 56863222c869f2062ffdfc6b60d31d751adf599a..1bbf83214873d35a41974dddca61f6c9d8de3181 100644 (file)
@@ -144,7 +144,7 @@ void pci_init_board(void)
 int board_early_init_r(void)
 {
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
 
        /*
         * Remap Boot flash + PROMJET region to caching-inhibited
@@ -155,8 +155,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash + promjet */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash + promjet */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,       /* tlb, epn, rpn */
                        MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G, /* perms, wimge */
diff --git a/board/freescale/mpc8610hpcd/Kconfig b/board/freescale/mpc8610hpcd/Kconfig
new file mode 100644 (file)
index 0000000..463a433
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8610HPCD
+
+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/mpc8610hpcd/MAINTAINERS b/board/freescale/mpc8610hpcd/MAINTAINERS
new file mode 100644 (file)
index 0000000..993c02a
--- /dev/null
@@ -0,0 +1,6 @@
+MPC8610HPCD BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/mpc8610hpcd/
+F:     include/configs/MPC8610HPCD.h
+F:     configs/MPC8610HPCD_defconfig
diff --git a/board/freescale/mpc8641hpcn/Kconfig b/board/freescale/mpc8641hpcn/Kconfig
new file mode 100644 (file)
index 0000000..9fc4241
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MPC8641HPCN
+
+config SYS_BOARD
+       string
+       default "mpc8641hpcn"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "MPC8641HPCN"
+
+endif
diff --git a/board/freescale/mpc8641hpcn/MAINTAINERS b/board/freescale/mpc8641hpcn/MAINTAINERS
new file mode 100644 (file)
index 0000000..34bcc6c
--- /dev/null
@@ -0,0 +1,7 @@
+MPC8641HPCN BOARD
+M:     Kumar Gala <kumar.gala@freescale.com>
+S:     Orphan (since 2014-06)
+F:     board/freescale/mpc8641hpcn/
+F:     include/configs/MPC8641HPCN.h
+F:     configs/MPC8641HPCN_defconfig
+F:     configs/MPC8641HPCN_36BIT_defconfig
diff --git a/board/freescale/mx23evk/Kconfig b/board/freescale/mx23evk/Kconfig
new file mode 100644 (file)
index 0000000..ee7911c
--- /dev/null
@@ -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/mx23evk/MAINTAINERS b/board/freescale/mx23evk/MAINTAINERS
new file mode 100644 (file)
index 0000000..b03ad6a
--- /dev/null
@@ -0,0 +1,6 @@
+MX23EVK BOARD
+M:     Otavio Salvador <otavio@ossystems.com.br>
+S:     Maintained
+F:     board/freescale/mx23evk/
+F:     include/configs/mx23evk.h
+F:     configs/mx23evk_defconfig
diff --git a/board/freescale/mx25pdk/Kconfig b/board/freescale/mx25pdk/Kconfig
new file mode 100644 (file)
index 0000000..67cb5ec
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/freescale/mx25pdk/MAINTAINERS b/board/freescale/mx25pdk/MAINTAINERS
new file mode 100644 (file)
index 0000000..6322176
--- /dev/null
@@ -0,0 +1,6 @@
+MX25PDK BOARD
+M:     Fabio Estevam <fabio.estevam@freescale.com>
+S:     Maintained
+F:     board/freescale/mx25pdk/
+F:     include/configs/mx25pdk.h
+F:     configs/mx25pdk_defconfig
diff --git a/board/freescale/mx28evk/Kconfig b/board/freescale/mx28evk/Kconfig
new file mode 100644 (file)
index 0000000..2fe6f32
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/freescale/mx28evk/MAINTAINERS b/board/freescale/mx28evk/MAINTAINERS
new file mode 100644 (file)
index 0000000..1caf5fb
--- /dev/null
@@ -0,0 +1,9 @@
+MX28EVK BOARD
+M:     Fabio Estevam <fabio.estevam@freescale.com>
+S:     Maintained
+F:     board/freescale/mx28evk/
+F:     include/configs/mx28evk.h
+F:     configs/mx28evk_defconfig
+F:     configs/mx28evk_auart_console_defconfig
+F:     configs/mx28evk_nand_defconfig
+F:     configs/mx28evk_spi_defconfig
diff --git a/board/freescale/mx31ads/Kconfig b/board/freescale/mx31ads/Kconfig
new file mode 100644 (file)
index 0000000..96116dd
--- /dev/null
@@ -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/mx31ads/MAINTAINERS b/board/freescale/mx31ads/MAINTAINERS
new file mode 100644 (file)
index 0000000..e9c8fe7
--- /dev/null
@@ -0,0 +1,6 @@
+MX31ADS BOARD
+M:     (resigned) Guennadi Liakhovetski <g.liakhovetski@gmx.de>
+S:     Orphan (since 2013-09)
+F:     board/freescale/mx31ads/
+F:     include/configs/mx31ads.h
+F:     configs/mx31ads_defconfig
diff --git a/board/freescale/mx31pdk/Kconfig b/board/freescale/mx31pdk/Kconfig
new file mode 100644 (file)
index 0000000..6ac6a59
--- /dev/null
@@ -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/mx31pdk/MAINTAINERS b/board/freescale/mx31pdk/MAINTAINERS
new file mode 100644 (file)
index 0000000..2e057db
--- /dev/null
@@ -0,0 +1,6 @@
+MX31PDK BOARD
+M:     Fabio Estevam <fabio.estevam@freescale.com>
+S:     Maintained
+F:     board/freescale/mx31pdk/
+F:     include/configs/mx31pdk.h
+F:     configs/mx31pdk_defconfig
diff --git a/board/freescale/mx35pdk/Kconfig b/board/freescale/mx35pdk/Kconfig
new file mode 100644 (file)
index 0000000..5555b0b
--- /dev/null
@@ -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/mx35pdk/MAINTAINERS b/board/freescale/mx35pdk/MAINTAINERS
new file mode 100644 (file)
index 0000000..540e943
--- /dev/null
@@ -0,0 +1,6 @@
+MX35PDK BOARD
+M:     Stefano Babic <sbabic@denx.de>
+S:     Maintained
+F:     board/freescale/mx35pdk/
+F:     include/configs/mx35pdk.h
+F:     configs/mx35pdk_defconfig
diff --git a/board/freescale/mx51evk/Kconfig b/board/freescale/mx51evk/Kconfig
new file mode 100644 (file)
index 0000000..a6dbbdd
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/freescale/mx51evk/MAINTAINERS b/board/freescale/mx51evk/MAINTAINERS
new file mode 100644 (file)
index 0000000..0e5f22c
--- /dev/null
@@ -0,0 +1,6 @@
+MX51EVK BOARD
+M:     Stefano Babic <sbabic@denx.de>
+S:     Maintained
+F:     board/freescale/mx51evk/
+F:     include/configs/mx51evk.h
+F:     configs/mx51evk_defconfig
diff --git a/board/freescale/mx53ard/Kconfig b/board/freescale/mx53ard/Kconfig
new file mode 100644 (file)
index 0000000..eaaa1b2
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/freescale/mx53ard/MAINTAINERS b/board/freescale/mx53ard/MAINTAINERS
new file mode 100644 (file)
index 0000000..7cc0e5e
--- /dev/null
@@ -0,0 +1,6 @@
+MX53ARD BOARD
+M:     Fabio Estevam <fabio.estevam@freescale.com>
+S:     Maintained
+F:     board/freescale/mx53ard/
+F:     include/configs/mx53ard.h
+F:     configs/mx53ard_defconfig
diff --git a/board/freescale/mx53evk/Kconfig b/board/freescale/mx53evk/Kconfig
new file mode 100644 (file)
index 0000000..dda1ada
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/freescale/mx53evk/MAINTAINERS b/board/freescale/mx53evk/MAINTAINERS
new file mode 100644 (file)
index 0000000..5c5f747
--- /dev/null
@@ -0,0 +1,6 @@
+MX53EVK BOARD
+M:     Jason Liu <r64343@freescale.com>
+S:     Maintained
+F:     board/freescale/mx53evk/
+F:     include/configs/mx53evk.h
+F:     configs/mx53evk_defconfig
diff --git a/board/freescale/mx53loco/Kconfig b/board/freescale/mx53loco/Kconfig
new file mode 100644 (file)
index 0000000..8b285d2
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/freescale/mx53loco/MAINTAINERS b/board/freescale/mx53loco/MAINTAINERS
new file mode 100644 (file)
index 0000000..73b113e
--- /dev/null
@@ -0,0 +1,6 @@
+MX53LOCO BOARD
+M:     Jason Liu <r64343@freescale.com>
+S:     Maintained
+F:     board/freescale/mx53loco/
+F:     include/configs/mx53loco.h
+F:     configs/mx53loco_defconfig
diff --git a/board/freescale/mx53smd/Kconfig b/board/freescale/mx53smd/Kconfig
new file mode 100644 (file)
index 0000000..1f7e42f
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/freescale/mx53smd/MAINTAINERS b/board/freescale/mx53smd/MAINTAINERS
new file mode 100644 (file)
index 0000000..8830321
--- /dev/null
@@ -0,0 +1,6 @@
+MX53SMD BOARD
+M:     Fabio Estevam <fabio.estevam@freescale.com>
+S:     Maintained
+F:     board/freescale/mx53smd/
+F:     include/configs/mx53smd.h
+F:     configs/mx53smd_defconfig
diff --git a/board/freescale/mx6qarm2/Kconfig b/board/freescale/mx6qarm2/Kconfig
new file mode 100644 (file)
index 0000000..2c42e9a
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/freescale/mx6qarm2/MAINTAINERS b/board/freescale/mx6qarm2/MAINTAINERS
new file mode 100644 (file)
index 0000000..42c19d1
--- /dev/null
@@ -0,0 +1,6 @@
+MX6QARM2 BOARD
+M:     Jason Liu <r64343@freescale.com>
+S:     Maintained
+F:     board/freescale/mx6qarm2/
+F:     include/configs/mx6qarm2.h
+F:     configs/mx6qarm2_defconfig
diff --git a/board/freescale/mx6qsabreauto/Kconfig b/board/freescale/mx6qsabreauto/Kconfig
new file mode 100644 (file)
index 0000000..21fb4fc
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/freescale/mx6qsabreauto/MAINTAINERS b/board/freescale/mx6qsabreauto/MAINTAINERS
new file mode 100644 (file)
index 0000000..fb65ce4
--- /dev/null
@@ -0,0 +1,7 @@
+MX6QSABREAUTO BOARD
+M:     Fabio Estevam <fabio.estevam@freescale.com>
+S:     Maintained
+F:     board/freescale/mx6qsabreauto/
+F:     include/configs/mx6qsabreauto.h
+F:     configs/mx6dlsabreauto_defconfig
+F:     configs/mx6qsabreauto_defconfig
diff --git a/board/freescale/mx6sabresd/Kconfig b/board/freescale/mx6sabresd/Kconfig
new file mode 100644 (file)
index 0000000..65d6736
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_MX6SABRESD
+
+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"
+
+endif
diff --git a/board/freescale/mx6sabresd/MAINTAINERS b/board/freescale/mx6sabresd/MAINTAINERS
new file mode 100644 (file)
index 0000000..69c0a30
--- /dev/null
@@ -0,0 +1,7 @@
+MX6SABRESD BOARD
+M:     Fabio Estevam <fabio.estevam@freescale.com>
+S:     Maintained
+F:     board/freescale/mx6sabresd/
+F:     include/configs/mx6sabresd.h
+F:     configs/mx6dlsabresd_defconfig
+F:     configs/mx6qsabresd_defconfig
diff --git a/board/freescale/mx6slevk/Kconfig b/board/freescale/mx6slevk/Kconfig
new file mode 100644 (file)
index 0000000..23c3154
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/freescale/mx6slevk/MAINTAINERS b/board/freescale/mx6slevk/MAINTAINERS
new file mode 100644 (file)
index 0000000..660af91
--- /dev/null
@@ -0,0 +1,6 @@
+MX6SLEVK BOARD
+M:     Fabio Estevam <fabio.estevam@freescale.com>
+S:     Maintained
+F:     board/freescale/mx6slevk/
+F:     include/configs/mx6slevk.h
+F:     configs/mx6slevk_defconfig
diff --git a/board/freescale/p1010rdb/Kconfig b/board/freescale/p1010rdb/Kconfig
new file mode 100644 (file)
index 0000000..2abe1c0
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_P1010RDB
+
+config SYS_BOARD
+       string
+       default "p1010rdb"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "P1010RDB"
+
+endif
diff --git a/board/freescale/p1010rdb/MAINTAINERS b/board/freescale/p1010rdb/MAINTAINERS
new file mode 100644 (file)
index 0000000..579e775
--- /dev/null
@@ -0,0 +1,33 @@
+P1010RDB BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/p1010rdb/
+F:     include/configs/P1010RDB.h
+F:     configs/P1010RDB-PA_36BIT_NAND_defconfig
+F:     configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig
+F:     configs/P1010RDB-PA_36BIT_NOR_defconfig
+F:     configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig
+F:     configs/P1010RDB-PA_36BIT_SDCARD_defconfig
+F:     configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
+F:     configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig
+F:     configs/P1010RDB-PA_NAND_defconfig
+F:     configs/P1010RDB-PA_NAND_SECBOOT_defconfig
+F:     configs/P1010RDB-PA_NOR_defconfig
+F:     configs/P1010RDB-PA_NOR_SECBOOT_defconfig
+F:     configs/P1010RDB-PA_SDCARD_defconfig
+F:     configs/P1010RDB-PA_SPIFLASH_defconfig
+F:     configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig
+F:     configs/P1010RDB-PB_36BIT_NAND_defconfig
+F:     configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig
+F:     configs/P1010RDB-PB_36BIT_NOR_defconfig
+F:     configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig
+F:     configs/P1010RDB-PB_36BIT_SDCARD_defconfig
+F:     configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
+F:     configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig
+F:     configs/P1010RDB-PB_NAND_defconfig
+F:     configs/P1010RDB-PB_NAND_SECBOOT_defconfig
+F:     configs/P1010RDB-PB_NOR_defconfig
+F:     configs/P1010RDB-PB_NOR_SECBOOT_defconfig
+F:     configs/P1010RDB-PB_SDCARD_defconfig
+F:     configs/P1010RDB-PB_SPIFLASH_defconfig
+F:     configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig
index 62caf676c6458b41a23aac3c429f5e20709a6545..491b576258cd7f972bb81df4ef22e677bfa04497 100644 (file)
@@ -93,7 +93,7 @@ int board_early_init_f(void)
 int board_early_init_r(void)
 {
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
 
        /*
         * Remap Boot flash region to caching-inhibited
@@ -104,8 +104,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,
                        MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
diff --git a/board/freescale/p1022ds/Kconfig b/board/freescale/p1022ds/Kconfig
new file mode 100644 (file)
index 0000000..39e37bd
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_P1022DS
+
+config SYS_BOARD
+       string
+       default "p1022ds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "P1022DS"
+
+endif
diff --git a/board/freescale/p1022ds/MAINTAINERS b/board/freescale/p1022ds/MAINTAINERS
new file mode 100644 (file)
index 0000000..86aac36
--- /dev/null
@@ -0,0 +1,13 @@
+P1022DS BOARD
+M:     Timur Tabi <timur@freescale.com>
+S:     Maintained
+F:     board/freescale/p1022ds/
+F:     include/configs/P1022DS.h
+F:     configs/P1022DS_defconfig
+F:     configs/P1022DS_36BIT_defconfig
+F:     configs/P1022DS_36BIT_NAND_defconfig
+F:     configs/P1022DS_36BIT_SDCARD_defconfig
+F:     configs/P1022DS_36BIT_SPIFLASH_defconfig
+F:     configs/P1022DS_NAND_defconfig
+F:     configs/P1022DS_SDCARD_defconfig
+F:     configs/P1022DS_SPIFLASH_defconfig
index ba789a4daf1894a9e58dff4979127809fd10dea3..f5e18515a0f867b511bf66a0ce24582c8e453ed1 100644 (file)
@@ -249,7 +249,7 @@ void pci_init_board(void)
 int board_early_init_r(void)
 {
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
 
        /*
         * Remap Boot flash + PROMJET region to caching-inhibited
@@ -260,8 +260,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash + promjet */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash + promjet */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,
                        MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
diff --git a/board/freescale/p1023rdb/Kconfig b/board/freescale/p1023rdb/Kconfig
new file mode 100644 (file)
index 0000000..95d3295
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_P1023RDB
+
+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/p1023rdb/MAINTAINERS b/board/freescale/p1023rdb/MAINTAINERS
new file mode 100644 (file)
index 0000000..81501aa
--- /dev/null
@@ -0,0 +1,6 @@
+P1023RDB BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/p1023rdb/
+F:     include/configs/P1023RDB.h
+F:     configs/P1023RDB_defconfig
index d2d4f8390aadfb8c6e5bb38fd38d6fa3f8779f21..d4d277ba6d3c1ba866a1a1a8dfdd0f551167625f 100644 (file)
@@ -57,7 +57,7 @@ void pci_init_board(void)
 int board_early_init_r(void)
 {
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
 
        /*
         * Remap Boot flash + PROMJET region to caching-inhibited
@@ -68,8 +68,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash + promjet */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash + promjet */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,
                MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
diff --git a/board/freescale/p1023rds/Makefile b/board/freescale/p1023rds/Makefile
deleted file mode 100644 (file)
index fdbf365..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-#
-# Copyright 2010-2011 Freescale Semiconductor, Inc.
-#
-# SPDX-License-Identifier:     GPL-2.0+
-#
-
-obj-y  += p1023rds.o
-obj-y  += law.o
-obj-y  += tlb.o
diff --git a/board/freescale/p1023rds/README b/board/freescale/p1023rds/README
deleted file mode 100644 (file)
index d382551..0000000
+++ /dev/null
@@ -1,101 +0,0 @@
-Overview
---------
-The P1023 process includes a performance optimized implementation of the
-QorIQ data Path Acceleration Architecture (DPAA).  This architecture
-provides the infrastructure to support simplified sharing of networking
-interfaces and accelerators by multiple CPU cores. P1023 is an e500 based
-dual core SOC.
-
-P1023RDS board is a Low End Dual core platform supporting the P1023
-processor of QorIQ series.
-
-Building U-boot
----------------
-To build the u-boot for P1023RDS:
-Configure to NOR boot:
-       make P1023RDS_config
-Configure to NAND boot:
-       make P1023RDS_NAND_config
-Build:
-       make
-
-Board Switches
---------------
-Most switches on the board should not be changed.  The most frequent
-user-settable switches on the board are used to configure
-the flash banks.
-
-J4: all open
-
-Default NOR flash boot switch setting:
- Sw3[1:8]: off on on off on on off off
- Sw4[1:8]: off off off on off off off off
- Sw6[1:8]: off on off on off on on off
- Sw7[1:8]: off on off off on off off off
- Sw8[1:8]: on off off off off off off off
-
-For NAND flash boot,set
-Sw4[1:4]: off on on on
-
-The default native ethernet setting is for RGMII mode.
-To use SGMII mode, set
-SW8[1:2]: OFF OFF
-SW7[6:7]: ON ON
-
-Memory Map
-----------
-0x0000_0000    0x7fff_ffff     DDR                     2G Cacheable
-0x8000_0000    0xbfff_ffff     PCI Express Mem         1G non-cacheable
-0xc000_0000    0xdfff_ffff     PCI                     512M non-cacheable
-0xe100_0000    0xe3ff_ffff     PCI IO range            4M non-cacheable
-
-0xe000_0000    0xe003_ffff     BCSR                    256K BCSR
-0xee00_0000    0xefff_ffff     NOR flash               32M NOR flash
-0xff00_0000    0xff3f_ffff     DPAA_QBMAN              4M
-0xff60_0000    0xff7f_ffff     CCSR                    2M non-cacheable
-0xffa0_0000    0xffaf_ffff     NAND FLASH              1M non-cacheable
-0xffd0_0000    0xffd0_3fff     L1 for stack            16K Cacheable TLB0
-
-Flashing u-boot Images
----------------
-To program the image in the boot flash bank:
-NOR flash boot:
-       => tftp 1000000 u-boot.bin
-       => protect off all
-       => erase eff40000 efffffff
-       => cp.b 1000000 eff40000 c0000
-
-NAND flash boot:
-       => tftp 1000000 u-boot-nand.bin
-       => nand erase 0 80000
-       => nand write 1000000 0 80000
-
-Firmware ucode location
----------------------------------
-Microcode(ucode) to FMAN's IRAM is needed to make FMAN Ethernet work.
-u-boot loads ucode FLASH. The location for ucode:
-NOR Flash: 0xfe000000
-NAND Flash: 0x1f00000
-
-Using the Device Tree Source File
----------------------------------
-To create the DTB (Device Tree Binary) image file,
-use a command similar to this:
-
-       dtc -b 0 -f -I dts -O dtb p1023rds.dts > p1023rds.dtb
-
-Likely, that .dts file will come from here;
-
-       linux-2.6/arch/powerpc/boot/dts/p1023rds.dts
-or
-       make p1023rds.dtb ARCH=powerpc
-in linux-2.6 directory.
-
-Booting Linux
--------------
-Place a linux uImage in the TFTP disk area.
-
-       tftp 1000000 uImage
-       tftp 2000000 rootfs.ext2.gz.uboot
-       tftp c00000 p1023rds.dtb
-       bootm 1000000 2000000 c00000
diff --git a/board/freescale/p1023rds/bcsr.h b/board/freescale/p1023rds/bcsr.h
deleted file mode 100644 (file)
index a9deb72..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2011 Freescale Semiconductor, Inc.
- *
- * Authors:  Chunhe Lan <b25806@freescale.com>
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-#ifndef __BCSR_H_
-#define __BCSR_H_
-
-#include <common.h>
-
-/*
- * BCSR Bit definitions
-       * BCSR 15 *
-       0       device insertion oriention
-       1       stack processor present
-       2       power supply shut down/normal operation
-       3       I2C bus0 drive enable
-       4       reserved
-       5:7     I2C bus0 select
-                               5 - I2C_BUS_0_SS0
-                               6 - I2C_BUS_0_SS1
-                               7 - I2C_BUS_0_SS2
-*/
-
-/* BCSR register base address is 0xFX000020 */
-#define BCSR_BASE_REG_OFFSET   0x20
-#define BCSR_ACCESS_REG_ADDR   (CONFIG_SYS_BCSR_BASE + BCSR_BASE_REG_OFFSET)
-
-#define BCSR15_DEV_INS_ORI     0x80
-#define BCSR15_STACK_PRO_PRE   0x40
-#define BCSR15_POWER_SUPPLY    0x20
-#define BCSR15_I2C_BUS0_EN     0x10
-#define BCSR15_I2C_BUS0_SEG0   0x00
-#define BCSR15_I2C_BUS0_SEG1   0x04
-#define BCSR15_I2C_BUS0_SEG2   0x02
-#define BCSR15_I2C_BUS0_SEG3   0x06
-#define BCSR15_I2C_BUS0_SEG4   0x01
-#define BCSR15_I2C_BUS0_SEG5   0x05
-#define BCSR15_I2C_BUS0_SEG6   0x03
-#define BCSR15_I2C_BUS0_SEG7   0x07
-#define BCSR15_I2C_BUS0_SEG_CLR        0x07
-#define BCSR19_SGMII_SEL_L     0x01
-
-/*BCSR Utils functions*/
-void fixup_i2c_bus0_sel_seg0(void);
-#endif  /* __BCSR_H_ */
diff --git a/board/freescale/p1023rds/law.c b/board/freescale/p1023rds/law.c
deleted file mode 100644 (file)
index 92f5a3f..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright 2010-2011 Freescale Semiconductor, Inc.
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-#include <common.h>
-#include <asm/fsl_law.h>
-#include <asm/mmu.h>
-
-struct law_entry law_table[] = {
-       SET_LAW(CONFIG_SYS_NAND_BASE_PHYS, LAW_SIZE_1M, LAW_TRGT_IF_LBC),
-       SET_LAW(CONFIG_SYS_QMAN_MEM_PHYS, LAW_SIZE_4M,
-                                       LAW_TRGT_IF_DPAA_SWP_SRAM),
-       /* The LAW 0xe0000000 ~ 0xefffffff for BCSR and NOR flash */
-       SET_LAW(CONFIG_SYS_BCSR_BASE_PHYS, LAW_SIZE_256M, LAW_TRGT_IF_LBC),
-};
-
-int num_law_entries = ARRAY_SIZE(law_table);
diff --git a/board/freescale/p1023rds/p1023rds.c b/board/freescale/p1023rds/p1023rds.c
deleted file mode 100644 (file)
index 2b883c7..0000000
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * Copyright 2010-2012 Freescale Semiconductor, Inc.
- *
- * Authors:  Roy Zang <tie-fei.zang@freescale.com>
- *           Chunhe Lan <b25806@freescale.com>
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-#include <common.h>
-#include <command.h>
-#include <pci.h>
-#include <asm/io.h>
-#include <asm/cache.h>
-#include <asm/processor.h>
-#include <asm/mmu.h>
-#include <asm/immap_85xx.h>
-#include <asm/fsl_pci.h>
-#include <fsl_ddr_sdram.h>
-#include <asm/fsl_portals.h>
-#include <libfdt.h>
-#include <fdt_support.h>
-#include <netdev.h>
-#include <malloc.h>
-#include <fm_eth.h>
-#include <fsl_mdio.h>
-#include <miiphy.h>
-#include <phy.h>
-#include <asm/fsl_dtsec.h>
-
-#include "bcsr.h"
-
-DECLARE_GLOBAL_DATA_PTR;
-
-int board_early_init_f(void)
-{
-       fsl_lbc_t *lbc = LBC_BASE_ADDR;
-
-       /* Set ABSWP to implement conversion of addresses in the LBC */
-       setbits_be32(&lbc->lbcr, CONFIG_SYS_LBC_LBCR);
-
-       return 0;
-}
-
-int checkboard(void)
-{
-       u8 *bcsr = (u8 *)BCSR_ACCESS_REG_ADDR;
-
-       printf("Board: P1023 RDS\n");
-
-       clrbits_8(&bcsr[15], BCSR15_I2C_BUS0_SEG_CLR);
-       setbits_8(&bcsr[15], BCSR15_I2C_BUS0_SEG0);
-
-       return 0;
-}
-
-/* Fixed sdram init -- doesn't use serial presence detect. */
-phys_size_t fixed_sdram(void)
-{
-#ifndef CONFIG_SYS_RAMBOOT
-       struct ccsr_ddr __iomem *ddr =
-               (struct ccsr_ddr __iomem *)CONFIG_SYS_FSL_DDR_ADDR;
-
-       set_next_law(0, LAW_SIZE_2G, LAW_TRGT_IF_DDR_1);
-
-       out_be32(&ddr->cs0_bnds, CONFIG_SYS_DDR_CS0_BNDS);
-       out_be32(&ddr->cs0_config, CONFIG_SYS_DDR_CS0_CONFIG);
-       out_be32(&ddr->cs1_bnds, CONFIG_SYS_DDR_CS1_BNDS);
-       out_be32(&ddr->cs1_config, CONFIG_SYS_DDR_CS1_CONFIG);
-       out_be32(&ddr->timing_cfg_3, CONFIG_SYS_DDR_TIMING_3);
-       out_be32(&ddr->timing_cfg_0, CONFIG_SYS_DDR_TIMING_0);
-       out_be32(&ddr->timing_cfg_1, CONFIG_SYS_DDR_TIMING_1);
-       out_be32(&ddr->timing_cfg_2, CONFIG_SYS_DDR_TIMING_2);
-       out_be32(&ddr->sdram_cfg_2, CONFIG_SYS_DDR_CONTROL2);
-       out_be32(&ddr->sdram_mode, CONFIG_SYS_DDR_MODE_1);
-       out_be32(&ddr->sdram_mode_2, CONFIG_SYS_DDR_MODE_2);
-       out_be32(&ddr->sdram_interval, CONFIG_SYS_DDR_INTERVAL);
-       out_be32(&ddr->sdram_data_init, CONFIG_SYS_DDR_DATA_INIT);
-       out_be32(&ddr->sdram_clk_cntl, CONFIG_SYS_DDR_CLK_CTRL);
-       out_be32(&ddr->timing_cfg_4, CONFIG_SYS_DDR_TIMING_4);
-       out_be32(&ddr->timing_cfg_5, CONFIG_SYS_DDR_TIMING_5);
-       out_be32(&ddr->ddr_zq_cntl, CONFIG_SYS_DDR_ZQ_CNTL);
-       out_be32(&ddr->ddr_wrlvl_cntl, CONFIG_SYS_DDR_WRLVL_CNTL);
-       out_be32(&ddr->ddr_cdr1, CONFIG_SYS_DDR_CDR_1);
-       out_be32(&ddr->ddr_cdr2, CONFIG_SYS_DDR_CDR_2);
-       out_be32(&ddr->sdram_cfg, CONFIG_SYS_DDR_CONTROL);
-#endif
-       return CONFIG_SYS_SDRAM_SIZE * 1024 * 1024ul;
-}
-
-#ifdef CONFIG_PCI
-void pci_init_board(void)
-{
-       fsl_pcie_init_board(0);
-}
-#endif
-
-int board_early_init_r(void)
-{
-       const unsigned int flashbase = CONFIG_SYS_BCSR_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
-
-       /*
-        * Remap Boot flash + BCSR region to caching-inhibited
-        * so that flash can be erased properly.
-        */
-
-       /* Flush d-cache and invalidate i-cache of any FLASH data */
-       flush_dcache();
-       invalidate_icache();
-
-       /* invalidate existing TLB entry for flash + bcsr */
-       disable_tlb(flash_esel);
-
-       set_tlb(1, flashbase, CONFIG_SYS_BCSR_BASE_PHYS,
-                       MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
-                       0, flash_esel, BOOKE_PAGESZ_256M, 1);
-
-       setup_portals();
-
-       return 0;
-}
-
-unsigned long get_board_sys_clk(ulong dummy)
-{
-       return gd->bus_clk;
-}
-
-unsigned long get_board_ddr_clk(ulong dummy)
-{
-       return gd->mem_clk;
-}
-
-int board_eth_init(bd_t *bis)
-{
-       u8 *bcsr = (u8 *)BCSR_ACCESS_REG_ADDR;
-       ccsr_gur_t *gur = (ccsr_gur_t *)CONFIG_SYS_MPC85xx_GUTS_ADDR;
-       struct fsl_pq_mdio_info dtsec_mdio_info;
-
-       /*
-        * Need to set dTSEC 1 pin multiplexing to TSEC. The default setting
-        * is not correct.
-        */
-       setbits_be32(&gur->pmuxcr, MPC85xx_PMUXCR_TSEC1_1);
-
-       dtsec_mdio_info.regs =
-               (struct tsec_mii_mng *)CONFIG_SYS_FM1_DTSEC1_MDIO_ADDR;
-       dtsec_mdio_info.name = DEFAULT_FM_MDIO_NAME;
-
-       /* Register the 1G MDIO bus */
-       fsl_pq_mdio_init(bis, &dtsec_mdio_info);
-
-       fm_info_set_phy_address(FM1_DTSEC1, CONFIG_SYS_FM1_DTSEC1_PHY_ADDR);
-       fm_info_set_phy_address(FM1_DTSEC2, CONFIG_SYS_FM1_DTSEC2_PHY_ADDR);
-
-       fm_info_set_mdio(FM1_DTSEC1,
-               miiphy_get_dev_by_name(DEFAULT_FM_MDIO_NAME));
-       fm_info_set_mdio(FM1_DTSEC2,
-               miiphy_get_dev_by_name(DEFAULT_FM_MDIO_NAME));
-
-       /* Make SERDES connected to SGMII by cleaing bcsr19[7] */
-       if (fm_info_get_enet_if(FM1_DTSEC1) == PHY_INTERFACE_MODE_SGMII)
-               clrbits_8(&bcsr[19], BCSR19_SGMII_SEL_L);
-
-#ifdef CONFIG_FMAN_ENET
-       cpu_eth_init(bis);
-#endif
-
-       return pci_eth_init(bis);
-}
-
-#if defined(CONFIG_OF_BOARD_SETUP)
-void ft_board_setup(void *blob, bd_t *bd)
-{
-       phys_addr_t base;
-       phys_size_t size;
-
-       ft_cpu_setup(blob, bd);
-
-       base = getenv_bootm_low();
-       size = getenv_bootm_size();
-
-       fdt_fixup_memory(blob, (u64)base, (u64)size);
-
-#ifdef CONFIG_HAS_FSL_DR_USB
-       fdt_fixup_dr_usb(blob, bd);
-#endif
-
-       fdt_fixup_fman_ethernet(blob);
-}
-#endif
diff --git a/board/freescale/p1023rds/tlb.c b/board/freescale/p1023rds/tlb.c
deleted file mode 100644 (file)
index 3c92c14..0000000
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright 2010-2011 Freescale Semiconductor, Inc.
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-#include <common.h>
-#include <asm/mmu.h>
-
-struct fsl_e_tlb_entry tlb_table[] = {
-       /* TLB 0 - for temp stack in cache */
-       SET_TLB_ENTRY(0, CONFIG_SYS_INIT_RAM_ADDR, CONFIG_SYS_INIT_RAM_ADDR,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
-                     0, 0, BOOKE_PAGESZ_4K, 0),
-       SET_TLB_ENTRY(0, CONFIG_SYS_INIT_RAM_ADDR + 4 * 1024,
-                     CONFIG_SYS_INIT_RAM_ADDR + 4 * 1024,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
-                     0, 0, BOOKE_PAGESZ_4K, 0),
-       SET_TLB_ENTRY(0, CONFIG_SYS_INIT_RAM_ADDR + 8 * 1024,
-                     CONFIG_SYS_INIT_RAM_ADDR + 8 * 1024,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
-                     0, 0, BOOKE_PAGESZ_4K, 0),
-       SET_TLB_ENTRY(0, CONFIG_SYS_INIT_RAM_ADDR + 12 * 1024,
-                     CONFIG_SYS_INIT_RAM_ADDR + 12 * 1024,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
-                     0, 0, BOOKE_PAGESZ_4K, 0),
-
-       /* TLB 1 */
-       /* *I*** - Covers boot page */
-       SET_TLB_ENTRY(1, 0xfffff000, 0xfffff000,
-                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I,
-                     0, 0, BOOKE_PAGESZ_4K, 1),
-
-       /* *I*G* - CCSRBAR */
-       SET_TLB_ENTRY(1, CONFIG_SYS_CCSRBAR, CONFIG_SYS_CCSRBAR_PHYS,
-                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
-                     0, 1, BOOKE_PAGESZ_4M, 1),
-
-       /* *W*G* - BCSR and NOR flash on local bus*/
-       /* This will be changed to *I*G* after relocation to RAM. */
-       SET_TLB_ENTRY(1, CONFIG_SYS_BCSR_BASE, CONFIG_SYS_BCSR_BASE_PHYS,
-                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_W|MAS2_G,
-                     0, 2, BOOKE_PAGESZ_256M, 1),
-
-       /* *I*G* - PCI */
-       SET_TLB_ENTRY(1, CONFIG_SYS_PCIE3_MEM_VIRT, CONFIG_SYS_PCIE3_MEM_PHYS,
-                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
-                     0, 3, BOOKE_PAGESZ_1G, 1),
-
-       /* *I*G* - PCI */
-       SET_TLB_ENTRY(1, CONFIG_SYS_PCIE3_MEM_VIRT + 0x40000000,
-                     CONFIG_SYS_PCIE3_MEM_PHYS + 0x40000000,
-                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
-                     0, 4, BOOKE_PAGESZ_256M, 1),
-
-       SET_TLB_ENTRY(1, CONFIG_SYS_PCIE3_MEM_VIRT + 0x50000000,
-                     CONFIG_SYS_PCIE3_MEM_PHYS + 0x50000000,
-                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
-                     0, 5, BOOKE_PAGESZ_256M, 1),
-
-       /* *I*G* - PCI I/O */
-       SET_TLB_ENTRY(1, CONFIG_SYS_PCIE3_IO_VIRT, CONFIG_SYS_PCIE3_IO_PHYS,
-                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
-                     0, 6, BOOKE_PAGESZ_256K, 1),
-
-       /* Bman/Qman */
-       SET_TLB_ENTRY(1, CONFIG_SYS_BMAN_MEM_BASE, CONFIG_SYS_BMAN_MEM_PHYS,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
-                     0, 7, BOOKE_PAGESZ_1M, 1),
-       SET_TLB_ENTRY(1, CONFIG_SYS_BMAN_MEM_BASE + 0x00100000,
-                     CONFIG_SYS_BMAN_MEM_PHYS + 0x00100000,
-                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
-                     0, 8, BOOKE_PAGESZ_1M, 1),
-       SET_TLB_ENTRY(1, CONFIG_SYS_QMAN_MEM_BASE, CONFIG_SYS_QMAN_MEM_PHYS,
-                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_M,
-                     0, 9, BOOKE_PAGESZ_1M, 1),
-       SET_TLB_ENTRY(1, CONFIG_SYS_QMAN_MEM_BASE + 0x00100000,
-                     CONFIG_SYS_QMAN_MEM_PHYS + 0x00100000,
-                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
-                     0, 10, BOOKE_PAGESZ_1M, 1),
-
-       /* *I*G - NAND */
-       SET_TLB_ENTRY(1, CONFIG_SYS_NAND_BASE, CONFIG_SYS_NAND_BASE_PHYS,
-                     MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
-                     0, 11, BOOKE_PAGESZ_1M, 1),
-
-#ifdef CONFIG_SYS_RAMBOOT
-       SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE,
-                     CONFIG_SYS_DDR_SDRAM_BASE,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
-                     0, 12, BOOKE_PAGESZ_1G, 1),
-
-       SET_TLB_ENTRY(1, CONFIG_SYS_DDR_SDRAM_BASE + 0x40000000,
-                     CONFIG_SYS_DDR_SDRAM_BASE + 0x40000000,
-                     MAS3_SX|MAS3_SW|MAS3_SR, 0,
-                     0, 13, BOOKE_PAGESZ_1G, 1),
-#endif
-};
-
-int num_tlb_entries = ARRAY_SIZE(tlb_table);
diff --git a/board/freescale/p1_p2_rdb/Kconfig b/board/freescale/p1_p2_rdb/Kconfig
new file mode 100644 (file)
index 0000000..6d718b9
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_P1_P2_RDB
+
+config SYS_BOARD
+       string
+       default "p1_p2_rdb"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "P1_P2_RDB"
+
+endif
diff --git a/board/freescale/p1_p2_rdb/MAINTAINERS b/board/freescale/p1_p2_rdb/MAINTAINERS
new file mode 100644 (file)
index 0000000..ad0a858
--- /dev/null
@@ -0,0 +1,37 @@
+P1_P2_RDB BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/p1_p2_rdb/
+F:     include/configs/P1_P2_RDB.h
+F:     configs/P1011RDB_defconfig
+F:     configs/P1011RDB_36BIT_defconfig
+F:     configs/P1011RDB_36BIT_SDCARD_defconfig
+F:     configs/P1011RDB_36BIT_SPIFLASH_defconfig
+F:     configs/P1011RDB_NAND_defconfig
+F:     configs/P1011RDB_SDCARD_defconfig
+F:     configs/P1011RDB_SPIFLASH_defconfig
+F:     configs/P1020RDB_defconfig
+F:     configs/P1020RDB_36BIT_defconfig
+F:     configs/P1020RDB_36BIT_SDCARD_defconfig
+F:     configs/P1020RDB_36BIT_SPIFLASH_defconfig
+F:     configs/P1020RDB_NAND_defconfig
+F:     configs/P1020RDB_SDCARD_defconfig
+F:     configs/P1020RDB_SPIFLASH_defconfig
+F:     configs/P2010RDB_defconfig
+F:     configs/P2010RDB_36BIT_defconfig
+F:     configs/P2010RDB_36BIT_SDCARD_defconfig
+F:     configs/P2010RDB_36BIT_SPIFLASH_defconfig
+F:     configs/P2010RDB_NAND_defconfig
+F:     configs/P2010RDB_SDCARD_defconfig
+F:     configs/P2010RDB_SPIFLASH_defconfig
+F:     configs/P2020RDB_36BIT_defconfig
+F:     configs/P2020RDB_36BIT_SDCARD_defconfig
+F:     configs/P2020RDB_36BIT_SPIFLASH_defconfig
+F:     configs/P2020RDB_NAND_defconfig
+F:     configs/P2020RDB_SDCARD_defconfig
+F:     configs/P2020RDB_SPIFLASH_defconfig
+
+P2020RDB BOARD
+M:     Poonam Aggrwal <poonam.aggrwal@freescale.com>
+S:     Maintained
+F:     configs/P2020RDB_defconfig
index 3df557d6a3d445f2cd817d58ec66bec3484968f2..aba4f534b8655b5d532dd36e2086328013cbcc84 100644 (file)
@@ -128,7 +128,7 @@ int misc_init_r(void)
 int board_early_init_r(void)
 {
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
        volatile ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
        unsigned int orig_bus = i2c_get_bus_num();
        u8 i2c_data;
@@ -163,8 +163,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,
                        MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
diff --git a/board/freescale/p1_p2_rdb_pc/Kconfig b/board/freescale/p1_p2_rdb_pc/Kconfig
new file mode 100644 (file)
index 0000000..01b89fa
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_P1_P2_RDB_PC
+
+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"
+
+endif
diff --git a/board/freescale/p1_p2_rdb_pc/MAINTAINERS b/board/freescale/p1_p2_rdb_pc/MAINTAINERS
new file mode 100644 (file)
index 0000000..4d429fe
--- /dev/null
@@ -0,0 +1,51 @@
+P1_P2_RDB_PC BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/p1_p2_rdb_pc/
+F:     include/configs/p1_p2_rdb_pc.h
+F:     configs/P1020MBG-PC_defconfig
+F:     configs/P1020MBG-PC_36BIT_defconfig
+F:     configs/P1020MBG-PC_36BIT_SDCARD_defconfig
+F:     configs/P1020MBG-PC_SDCARD_defconfig
+F:     configs/P1020RDB-PC_defconfig
+F:     configs/P1020RDB-PC_36BIT_defconfig
+F:     configs/P1020RDB-PC_36BIT_NAND_defconfig
+F:     configs/P1020RDB-PC_36BIT_SDCARD_defconfig
+F:     configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
+F:     configs/P1020RDB-PC_NAND_defconfig
+F:     configs/P1020RDB-PC_SDCARD_defconfig
+F:     configs/P1020RDB-PC_SPIFLASH_defconfig
+F:     configs/P1020RDB-PD_defconfig
+F:     configs/P1020RDB-PD_NAND_defconfig
+F:     configs/P1020RDB-PD_SDCARD_defconfig
+F:     configs/P1020RDB-PD_SPIFLASH_defconfig
+F:     configs/P1020UTM-PC_defconfig
+F:     configs/P1020UTM-PC_36BIT_defconfig
+F:     configs/P1020UTM-PC_36BIT_SDCARD_defconfig
+F:     configs/P1020UTM-PC_SDCARD_defconfig
+F:     configs/P1021RDB-PC_defconfig
+F:     configs/P1021RDB-PC_36BIT_defconfig
+F:     configs/P1021RDB-PC_36BIT_NAND_defconfig
+F:     configs/P1021RDB-PC_36BIT_SDCARD_defconfig
+F:     configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig
+F:     configs/P1021RDB-PC_NAND_defconfig
+F:     configs/P1021RDB-PC_SDCARD_defconfig
+F:     configs/P1021RDB-PC_SPIFLASH_defconfig
+F:     configs/P1024RDB_defconfig
+F:     configs/P1024RDB_36BIT_defconfig
+F:     configs/P1024RDB_NAND_defconfig
+F:     configs/P1024RDB_SDCARD_defconfig
+F:     configs/P1024RDB_SPIFLASH_defconfig
+F:     configs/P1025RDB_defconfig
+F:     configs/P1025RDB_36BIT_defconfig
+F:     configs/P1025RDB_NAND_defconfig
+F:     configs/P1025RDB_SDCARD_defconfig
+F:     configs/P1025RDB_SPIFLASH_defconfig
+F:     configs/P2020RDB-PC_defconfig
+F:     configs/P2020RDB-PC_36BIT_defconfig
+F:     configs/P2020RDB-PC_36BIT_NAND_defconfig
+F:     configs/P2020RDB-PC_36BIT_SDCARD_defconfig
+F:     configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
+F:     configs/P2020RDB-PC_NAND_defconfig
+F:     configs/P2020RDB-PC_SDCARD_defconfig
+F:     configs/P2020RDB-PC_SPIFLASH_defconfig
index 5f3d6fd28bf6676af107fb49a2144d961bb1005c..a6756c68f40f3698a330249299a13b3bb9317a95 100644 (file)
@@ -288,7 +288,7 @@ void pci_init_board(void)
 int board_early_init_r(void)
 {
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
 
        /*
         * Remap Boot flash region to caching-inhibited
@@ -299,8 +299,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS, /* tlb, epn, rpn */
                MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,/* perms, wimge */
diff --git a/board/freescale/p1_twr/Kconfig b/board/freescale/p1_twr/Kconfig
new file mode 100644 (file)
index 0000000..5fb4705
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_P1_TWR
+
+config SYS_BOARD
+       string
+       default "p1_twr"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "p1_twr"
+
+endif
diff --git a/board/freescale/p1_twr/MAINTAINERS b/board/freescale/p1_twr/MAINTAINERS
new file mode 100644 (file)
index 0000000..2d7d7e1
--- /dev/null
@@ -0,0 +1,6 @@
+P1_TWR BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/p1_twr/
+F:     include/configs/p1_twr.h
+F:     configs/TWR-P1025_defconfig
index 0e0d0587d794741504a5bfb5ffca02b3539aad65..a0a416ba17667784044ab961376ce1532830dd11 100644 (file)
@@ -155,7 +155,7 @@ void pci_init_board(void)
 int board_early_init_r(void)
 {
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
 
        /*
         * Remap Boot flash region to caching-inhibited
@@ -166,8 +166,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS, /* tlb, epn, rpn */
                MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,           /* perms, wimge */
diff --git a/board/freescale/p2020come/Kconfig b/board/freescale/p2020come/Kconfig
new file mode 100644 (file)
index 0000000..d4d7e13
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_P2020COME
+
+config SYS_BOARD
+       string
+       default "p2020come"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "P2020COME"
+
+endif
diff --git a/board/freescale/p2020come/MAINTAINERS b/board/freescale/p2020come/MAINTAINERS
new file mode 100644 (file)
index 0000000..ab3ef94
--- /dev/null
@@ -0,0 +1,7 @@
+P2020COME BOARD
+M:     Ira W. Snyder <iws@ovro.caltech.edu>
+S:     Maintained
+F:     board/freescale/p2020come/
+F:     include/configs/P2020COME.h
+F:     configs/P2020COME_SDCARD_defconfig
+F:     configs/P2020COME_SPIFLASH_defconfig
diff --git a/board/freescale/p2020ds/Kconfig b/board/freescale/p2020ds/Kconfig
new file mode 100644 (file)
index 0000000..29031d0
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_P2020DS
+
+config SYS_BOARD
+       string
+       default "p2020ds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "P2020DS"
+
+endif
diff --git a/board/freescale/p2020ds/MAINTAINERS b/board/freescale/p2020ds/MAINTAINERS
new file mode 100644 (file)
index 0000000..42cb18d
--- /dev/null
@@ -0,0 +1,10 @@
+P2020DS BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/p2020ds/
+F:     include/configs/P2020DS.h
+F:     configs/P2020DS_defconfig
+F:     configs/P2020DS_36BIT_defconfig
+F:     configs/P2020DS_DDR2_defconfig
+F:     configs/P2020DS_SDCARD_defconfig
+F:     configs/P2020DS_SPIFLASH_defconfig
index a0cf927038f625acbdbc8c0d4ee731d021831ab4..b72fcffdd08dd9e579ae901a50902ff9e328692a 100644 (file)
@@ -159,7 +159,7 @@ void pci_init_board(void)
 int board_early_init_r(void)
 {
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
 
        /*
         * Remap Boot flash + PROMJET region to caching-inhibited
@@ -170,8 +170,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash + promjet */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash + promjet */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,
                        MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
diff --git a/board/freescale/p2041rdb/Kconfig b/board/freescale/p2041rdb/Kconfig
new file mode 100644 (file)
index 0000000..b086b1b
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_P2041RDB
+
+config SYS_BOARD
+       string
+       default "p2041rdb"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "P2041RDB"
+
+endif
diff --git a/board/freescale/p2041rdb/MAINTAINERS b/board/freescale/p2041rdb/MAINTAINERS
new file mode 100644 (file)
index 0000000..bb5bb83
--- /dev/null
@@ -0,0 +1,11 @@
+P2041RDB BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/p2041rdb/
+F:     include/configs/P2041RDB.h
+F:     configs/P2041RDB_defconfig
+F:     configs/P2041RDB_NAND_defconfig
+F:     configs/P2041RDB_SDCARD_defconfig
+F:     configs/P2041RDB_SECURE_BOOT_defconfig
+F:     configs/P2041RDB_SPIFLASH_defconfig
+F:     configs/P2041RDB_SRIO_PCIE_BOOT_defconfig
index 8554512df69eabea0ff8fe6b35bb2d1f80687a54..a14b43b5a503e4a272e7e6baab96e37ce858467c 100644 (file)
@@ -116,7 +116,7 @@ void board_config_lanes_mux(void)
 int board_early_init_r(void)
 {
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
 
        /*
         * Remap Boot flash + PROMJET region to caching-inhibited
@@ -127,8 +127,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash + promjet */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash + promjet */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,
                        MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
diff --git a/board/freescale/qemu-ppce500/Kconfig b/board/freescale/qemu-ppce500/Kconfig
new file mode 100644 (file)
index 0000000..314f6a1
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_QEMU_PPCE500
+
+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/qemu-ppce500/MAINTAINERS b/board/freescale/qemu-ppce500/MAINTAINERS
new file mode 100644 (file)
index 0000000..77d0a4a
--- /dev/null
@@ -0,0 +1,6 @@
+QEMU-PPCE500 BOARD
+M:     Alexander Graf <agraf@suse.de>
+S:     Maintained
+F:     board/freescale/qemu-ppce500/
+F:     include/configs/qemu-ppce500.h
+F:     configs/qemu-ppce500_defconfig
diff --git a/board/freescale/t1040qds/Kconfig b/board/freescale/t1040qds/Kconfig
new file mode 100644 (file)
index 0000000..c1c96f0
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_T1040QDS
+
+config SYS_BOARD
+       string
+       default "t1040qds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "T1040QDS"
+
+endif
diff --git a/board/freescale/t1040qds/MAINTAINERS b/board/freescale/t1040qds/MAINTAINERS
new file mode 100644 (file)
index 0000000..83f6b3c
--- /dev/null
@@ -0,0 +1,12 @@
+T1040QDS BOARD
+M:     Poonam Aggrwal <poonam.aggrwal@freescale.com>
+S:     Maintained
+F:     board/freescale/t1040qds/
+F:     include/configs/T1040QDS.h
+F:     configs/T1040QDS_defconfig
+F:     configs/T1040QDS_D4_defconfig
+
+T1040QDS_SECURE_BOOT BOARD
+M:     Aneesh Bansal <aneesh.bansal@freescale.com>
+S:     Maintained
+F:     configs/T1040QDS_SECURE_BOOT_defconfig
index 3077b4ae2c5258139638476837705e7ad43ac4c6..1929bba20b3b1215f48e124348ee1f374bc60e15 100644 (file)
@@ -355,7 +355,9 @@ static void set_brdcfg9_for_gtx_clk(void)
 {
        u8 brdcfg9;
        brdcfg9 = QIXIS_READ(brdcfg[9]);
-       brdcfg9 |= (1 << 5);
+/* Initializing EPHY2 clock to RGMII mode */
+       brdcfg9 &= ~(BRDCFG9_EPHY2_MASK);
+       brdcfg9 |= (BRDCFG9_EPHY2_VAL);
        QIXIS_WRITE(brdcfg[9], brdcfg9);
 }
 
index 0e83d172dac53f582ac8f00f7b247893dfd95fb0..19af46e48fdb1ba15a7d828cf40fdd49eb577f28 100644 (file)
@@ -119,7 +119,7 @@ int board_early_init_r(void)
 {
 #ifdef CONFIG_SYS_FLASH_BASE
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
 
        /*
         * Remap Boot flash + PROMJET region to caching-inhibited
@@ -130,8 +130,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash + promjet */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash + promjet */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,
                MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
index 98d2d39e6d66a2df1334296e6676ce0bcb3c2b04..cef8ad0bfaf26bc502726a57501a39a6096255c8 100644 (file)
 #define BRDCFG5_IMX_MASK               0xC0
 #define BRDCFG5_IMX_DIU                        0x80
 
+/* BRDCFG9[2] controls EPHY2 Clock */
+#define BRDCFG9_EPHY2_MASK              0x20
+#define BRDCFG9_EPHY2_VAL               0x00
+
 /* BRDCFG15[3] controls LCD Panel Powerdown*/
 #define BRDCFG15_LCDPD_MASK            0x10
 #define BRDCFG15_LCDPD_ENABLED         0x00
diff --git a/board/freescale/t104xrdb/Kconfig b/board/freescale/t104xrdb/Kconfig
new file mode 100644 (file)
index 0000000..d0fd3de
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_T104XRDB
+
+config SYS_BOARD
+       string
+       default "t104xrdb"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "T104xRDB"
+
+endif
diff --git a/board/freescale/t104xrdb/MAINTAINERS b/board/freescale/t104xrdb/MAINTAINERS
new file mode 100644 (file)
index 0000000..364b0a9
--- /dev/null
@@ -0,0 +1,22 @@
+T104XRDB BOARD
+M:     Priyanka Jain  <Priyanka.Jain@freescale.com>
+S:     Maintained
+F:     board/freescale/t104xrdb/
+F:     include/configs/T104xRDB.h
+F:     configs/T1040RDB_defconfig
+F:     configs/T1040RDB_NAND_defconfig
+F:     configs/T1040RDB_SPIFLASH_defconfig
+F:     configs/T1042RDB_PI_defconfig
+F:     configs/T1042RDB_PI_NAND_defconfig
+F:     configs/T1042RDB_PI_SPIFLASH_defconfig
+
+T1040RDB_SDCARD BOARD
+M:     -
+S:     Maintained
+F:     configs/T1040RDB_SDCARD_defconfig
+F:     configs/T1042RDB_PI_SDCARD_defconfig
+
+T1040RDB_SECURE_BOOT BOARD
+M:     Aneesh Bansal  <aneesh.bansal@freescale.com>
+S:     Maintained
+F:     configs/T1040RDB_SECURE_BOOT_defconfig
index a5e5fffac4c8fc48da640d8a89b59d389acf234b..ddb669fb06c9b8b5e982863477395f9eb971571a 100644 (file)
@@ -48,7 +48,7 @@ int board_early_init_r(void)
 {
 #ifdef CONFIG_SYS_FLASH_BASE
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
 
        /*
         * Remap Boot flash region to caching-inhibited
@@ -59,8 +59,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,
                MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
diff --git a/board/freescale/t208xqds/Kconfig b/board/freescale/t208xqds/Kconfig
new file mode 100644 (file)
index 0000000..3d0c6ab
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_T208XQDS
+
+config SYS_BOARD
+       string
+       default "t208xqds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "T208xQDS"
+
+endif
diff --git a/board/freescale/t208xqds/MAINTAINERS b/board/freescale/t208xqds/MAINTAINERS
new file mode 100644 (file)
index 0000000..643926f
--- /dev/null
@@ -0,0 +1,20 @@
+T208XQDS BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/t208xqds/
+F:     include/configs/T208xQDS.h
+F:     configs/T2080QDS_defconfig
+F:     configs/T2080QDS_NAND_defconfig
+F:     configs/T2080QDS_SDCARD_defconfig
+F:     configs/T2080QDS_SPIFLASH_defconfig
+F:     configs/T2080QDS_SRIO_PCIE_BOOT_defconfig
+F:     configs/T2081QDS_defconfig
+F:     configs/T2081QDS_NAND_defconfig
+F:     configs/T2081QDS_SDCARD_defconfig
+F:     configs/T2081QDS_SPIFLASH_defconfig
+F:     configs/T2081QDS_SRIO_PCIE_BOOT_defconfig
+
+T2080QDS_SECURE_BOOT BOARD
+M:     Aneesh Bansal <aneesh.bansal@freescale.com>
+S:     Maintained
+F:     configs/T2080QDS_SECURE_BOOT_defconfig
index 135343949ee6d3995bf31bfaa04485262dae318e..fc6d25611171603fb1963c58392270b3dbffd5da 100644 (file)
@@ -326,7 +326,7 @@ int brd_mux_lane_to_slot(void)
 int board_early_init_r(void)
 {
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
 
        /*
         * Remap Boot flash + PROMJET region to caching-inhibited
@@ -337,8 +337,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash + promjet */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash + promjet */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,
                MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
diff --git a/board/freescale/t208xrdb/Kconfig b/board/freescale/t208xrdb/Kconfig
new file mode 100644 (file)
index 0000000..f8d2c3c
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_T208XRDB
+
+config SYS_BOARD
+       string
+       default "t208xrdb"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "T208xRDB"
+
+endif
diff --git a/board/freescale/t208xrdb/MAINTAINERS b/board/freescale/t208xrdb/MAINTAINERS
new file mode 100644 (file)
index 0000000..5987143
--- /dev/null
@@ -0,0 +1,15 @@
+T208XRDB BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/t208xrdb/
+F:     include/configs/T208xRDB.h
+F:     configs/T2080RDB_defconfig
+F:     configs/T2080RDB_NAND_defconfig
+F:     configs/T2080RDB_SDCARD_defconfig
+F:     configs/T2080RDB_SPIFLASH_defconfig
+F:     configs/T2080RDB_SRIO_PCIE_BOOT_defconfig
+
+T2080RDB_SECURE_BOOT BOARD
+M:     Aneesh Bansal <aneesh.bansal@freescale.com>
+S:     Maintained
+F:     configs/T2080RDB_SECURE_BOOT_defconfig
index 265c1f97ddbb6bb927bc2d24129419100647ab85..be99fb806dd73648918bd8eaf829912f4b85fb4e 100644 (file)
@@ -58,7 +58,7 @@ int checkboard(void)
 int board_early_init_r(void)
 {
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
        /*
         * Remap Boot flash + PROMJET region to caching-inhibited
         * so that flash can be erased properly.
@@ -67,9 +67,14 @@ int board_early_init_r(void)
        /* Flush d-cache and invalidate i-cache of any FLASH data */
        flush_dcache();
        invalidate_icache();
-
-       /* invalidate existing TLB entry for flash + promjet */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash + promjet */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,
                MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
diff --git a/board/freescale/t4qds/Kconfig b/board/freescale/t4qds/Kconfig
new file mode 100644 (file)
index 0000000..f4b0ba2
--- /dev/null
@@ -0,0 +1,31 @@
+if TARGET_T4240EMU
+
+config SYS_BOARD
+       string
+       default "t4qds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "T4240EMU"
+
+endif
+
+if TARGET_T4240QDS
+
+config SYS_BOARD
+       string
+       default "t4qds"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "T4240QDS"
+
+endif
diff --git a/board/freescale/t4qds/MAINTAINERS b/board/freescale/t4qds/MAINTAINERS
new file mode 100644 (file)
index 0000000..da796bd
--- /dev/null
@@ -0,0 +1,26 @@
+T4QDS BOARD
+M:     -
+S:     Maintained
+F:     board/freescale/t4qds/
+F:     include/configs/T4240QDS.h
+F:     configs/T4160QDS_defconfig
+F:     configs/T4160QDS_NAND_defconfig
+F:     configs/T4160QDS_SDCARD_defconfig
+F:     configs/T4160QDS_SPIFLASH_defconfig
+F:     configs/T4240QDS_defconfig
+F:     configs/T4240QDS_NAND_defconfig
+F:     configs/T4240QDS_SDCARD_defconfig
+F:     configs/T4240QDS_SPIFLASH_defconfig
+F:     configs/T4240QDS_SRIO_PCIE_BOOT_defconfig
+
+T4160QDS_SECURE_BOOT BOARD
+M:     Aneesh Bansal <aneesh.bansal@freescale.com>
+S:     Maintained
+F:     configs/T4160QDS_SECURE_BOOT_defconfig
+F:     configs/T4240QDS_SECURE_BOOT_defconfig
+
+T4240EMU BOARD
+M:     York Sun <yorksun@freescale.com>
+S:     Maintained
+F:     include/configs/T4240EMU.h
+F:     configs/T4240EMU_defconfig
index 7a610367da4322fff5853d40dc4df4c37e9f31b0..479e124a3969d13f9b2bc6b5c95dc44827267529 100644 (file)
@@ -32,7 +32,7 @@ int checkboard(void)
 int board_early_init_r(void)
 {
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
 
        /*
         * Remap Boot flash + PROMJET region to caching-inhibited
@@ -43,8 +43,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,
                MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
index fe1bc7f08df918eeb01ed0be831ab2ed91bab195..6205fea35e72dc9fbaad6ec18e567997212c7d7d 100644 (file)
@@ -528,7 +528,7 @@ int config_backside_crossbar_mux(void)
 int board_early_init_r(void)
 {
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
 
        /*
         * Remap Boot flash + PROMJET region to caching-inhibited
@@ -539,8 +539,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash + promjet */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash + promjet */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,
                MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
@@ -638,9 +644,10 @@ unsigned long get_board_ddr_clk(void)
 int misc_init_r(void)
 {
        u8 sw;
-       serdes_corenet_t *srds_regs =
-               (void *)CONFIG_SYS_FSL_CORENET_SERDES_ADDR;
+       void *srds_base = (void *)CONFIG_SYS_FSL_CORENET_SERDES_ADDR;
+       serdes_corenet_t *srds_regs;
        u32 actual[MAX_SERDES];
+       u32 pllcr0, expected;
        unsigned int i;
 
        sw = QIXIS_READ(brdcfg[2]);
@@ -663,8 +670,9 @@ int misc_init_r(void)
        }
 
        for (i = 0; i < MAX_SERDES; i++) {
-               u32 pllcr0 = srds_regs->bank[i].pllcr0;
-               u32 expected = pllcr0 & SRDS_PLLCR0_RFCK_SEL_MASK;
+               srds_regs = srds_base + i * 0x1000;
+               pllcr0 = srds_regs->bank[0].pllcr0;
+               expected = pllcr0 & SRDS_PLLCR0_RFCK_SEL_MASK;
                if (expected != actual[i]) {
                        printf("Warning: SERDES%u expects reference clock %sMHz, but actual is %sMHz\n",
                               i + 1, serdes_clock_to_string(expected),
diff --git a/board/freescale/t4rdb/Kconfig b/board/freescale/t4rdb/Kconfig
new file mode 100644 (file)
index 0000000..07e3c0d
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_T4240RDB
+
+config SYS_BOARD
+       string
+       default "t4rdb"
+
+config SYS_VENDOR
+       string
+       default "freescale"
+
+config SYS_CONFIG_NAME
+       string
+       default "T4240RDB"
+
+endif
diff --git a/board/freescale/t4rdb/MAINTAINERS b/board/freescale/t4rdb/MAINTAINERS
new file mode 100644 (file)
index 0000000..845c1b6
--- /dev/null
@@ -0,0 +1,7 @@
+T4RDB BOARD
+M:     Chunhe Lan <Chunhe.Lan@freescale.com>
+S:     Maintained
+F:     board/freescale/t4rdb/
+F:     include/configs/T4240RDB.h
+F:     configs/T4160RDB_defconfig
+F:     configs/T4240RDB_defconfig
index 5448c86c48237150dcfcb8ff7109f1bd9a9bda7e..afef7e93d03b6efe06d2b2c913fdff50a2d61211 100644 (file)
@@ -39,7 +39,7 @@ int checkboard(void)
 int board_early_init_r(void)
 {
        const unsigned int flashbase = CONFIG_SYS_FLASH_BASE;
-       const u8 flash_esel = find_tlb_idx((void *)flashbase, 1);
+       int flash_esel = find_tlb_idx((void *)flashbase, 1);
 
        /*
         * Remap Boot flash + PROMJET region to caching-inhibited
@@ -50,8 +50,14 @@ int board_early_init_r(void)
        flush_dcache();
        invalidate_icache();
 
-       /* invalidate existing TLB entry for flash + promjet */
-       disable_tlb(flash_esel);
+       if (flash_esel == -1) {
+               /* very unlikely unless something is messed up */
+               puts("Error: Could not find TLB for FLASH BASE\n");
+               flash_esel = 2; /* give our best effort to continue */
+       } else {
+               /* invalidate existing TLB entry for flash + promjet */
+               disable_tlb(flash_esel);
+       }
 
        set_tlb(1, flashbase, CONFIG_SYS_FLASH_BASE_PHYS,
                MAS3_SX|MAS3_SW|MAS3_SR, MAS2_I|MAS2_G,
diff --git a/board/freescale/vf610twr/Kconfig b/board/freescale/vf610twr/Kconfig
new file mode 100644 (file)
index 0000000..56bc52a
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/freescale/vf610twr/MAINTAINERS b/board/freescale/vf610twr/MAINTAINERS
new file mode 100644 (file)
index 0000000..56a09c9
--- /dev/null
@@ -0,0 +1,6 @@
+VF610TWR BOARD
+M:     Alison Wang <b18965@freescale.com>
+S:     Maintained
+F:     board/freescale/vf610twr/
+F:     include/configs/vf610twr.h
+F:     configs/vf610twr_defconfig
diff --git a/board/funkwerk/vovpn-gw/Kconfig b/board/funkwerk/vovpn-gw/Kconfig
new file mode 100644 (file)
index 0000000..dc3deca
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_VOVPN_GW
+
+config SYS_BOARD
+       string
+       default "vovpn-gw"
+
+config SYS_VENDOR
+       string
+       default "funkwerk"
+
+config SYS_CONFIG_NAME
+       string
+       default "VoVPN-GW"
+
+endif
diff --git a/board/funkwerk/vovpn-gw/MAINTAINERS b/board/funkwerk/vovpn-gw/MAINTAINERS
new file mode 100644 (file)
index 0000000..9af5f78
--- /dev/null
@@ -0,0 +1,6 @@
+VOVPN-GW BOARD
+M:     -
+S:     Maintained
+F:     board/funkwerk/vovpn-gw/
+F:     include/configs/VoVPN-GW.h
+F:     configs/VoVPN-GW_66MHz_defconfig
diff --git a/board/g2000/Kconfig b/board/g2000/Kconfig
new file mode 100644 (file)
index 0000000..eae4886
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_G2000
+
+config SYS_BOARD
+       string
+       default "g2000"
+
+config SYS_CONFIG_NAME
+       string
+       default "G2000"
+
+endif
diff --git a/board/g2000/MAINTAINERS b/board/g2000/MAINTAINERS
new file mode 100644 (file)
index 0000000..8171b10
--- /dev/null
@@ -0,0 +1,6 @@
+G2000 BOARD
+M:     Matthias Fuchs <matthias.fuchs@esd-electronics.com>
+S:     Maintained
+F:     board/g2000/
+F:     include/configs/G2000.h
+F:     configs/G2000_defconfig
diff --git a/board/gaisler/gr_cpci_ax2000/Kconfig b/board/gaisler/gr_cpci_ax2000/Kconfig
new file mode 100644 (file)
index 0000000..d5a2eb4
--- /dev/null
@@ -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_cpci_ax2000/MAINTAINERS b/board/gaisler/gr_cpci_ax2000/MAINTAINERS
new file mode 100644 (file)
index 0000000..493c31e
--- /dev/null
@@ -0,0 +1,6 @@
+GR_CPCI_AX2000 BOARD
+M:     -
+S:     Maintained
+F:     board/gaisler/gr_cpci_ax2000/
+F:     include/configs/gr_cpci_ax2000.h
+F:     configs/gr_cpci_ax2000_defconfig
diff --git a/board/gaisler/gr_ep2s60/Kconfig b/board/gaisler/gr_ep2s60/Kconfig
new file mode 100644 (file)
index 0000000..e742ea8
--- /dev/null
@@ -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_ep2s60/MAINTAINERS b/board/gaisler/gr_ep2s60/MAINTAINERS
new file mode 100644 (file)
index 0000000..151bef1
--- /dev/null
@@ -0,0 +1,6 @@
+GR_EP2S60 BOARD
+M:     -
+S:     Maintained
+F:     board/gaisler/gr_ep2s60/
+F:     include/configs/gr_ep2s60.h
+F:     configs/gr_ep2s60_defconfig
diff --git a/board/gaisler/gr_xc3s_1500/Kconfig b/board/gaisler/gr_xc3s_1500/Kconfig
new file mode 100644 (file)
index 0000000..6d9f107
--- /dev/null
@@ -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/gr_xc3s_1500/MAINTAINERS b/board/gaisler/gr_xc3s_1500/MAINTAINERS
new file mode 100644 (file)
index 0000000..187f323
--- /dev/null
@@ -0,0 +1,6 @@
+GR_XC3S_1500 BOARD
+M:     -
+S:     Maintained
+F:     board/gaisler/gr_xc3s_1500/
+F:     include/configs/gr_xc3s_1500.h
+F:     configs/gr_xc3s_1500_defconfig
diff --git a/board/gaisler/grsim/Kconfig b/board/gaisler/grsim/Kconfig
new file mode 100644 (file)
index 0000000..10f51e1
--- /dev/null
@@ -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/MAINTAINERS b/board/gaisler/grsim/MAINTAINERS
new file mode 100644 (file)
index 0000000..acb863c
--- /dev/null
@@ -0,0 +1,6 @@
+GRSIM BOARD
+M:     -
+S:     Maintained
+F:     board/gaisler/grsim/
+F:     include/configs/grsim.h
+F:     configs/grsim_defconfig
diff --git a/board/gaisler/grsim_leon2/Kconfig b/board/gaisler/grsim_leon2/Kconfig
new file mode 100644 (file)
index 0000000..8dd2d27
--- /dev/null
@@ -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/gaisler/grsim_leon2/MAINTAINERS b/board/gaisler/grsim_leon2/MAINTAINERS
new file mode 100644 (file)
index 0000000..6da9b78
--- /dev/null
@@ -0,0 +1,6 @@
+GRSIM_LEON2 BOARD
+M:     -
+S:     Maintained
+F:     board/gaisler/grsim_leon2/
+F:     include/configs/grsim_leon2.h
+F:     configs/grsim_leon2_defconfig
diff --git a/board/galaxy5200/Kconfig b/board/galaxy5200/Kconfig
new file mode 100644 (file)
index 0000000..04f079c
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_GALAXY5200
+
+config SYS_BOARD
+       string
+       default "galaxy5200"
+
+config SYS_CONFIG_NAME
+       string
+       default "galaxy5200"
+
+endif
diff --git a/board/galaxy5200/MAINTAINERS b/board/galaxy5200/MAINTAINERS
new file mode 100644 (file)
index 0000000..f070132
--- /dev/null
@@ -0,0 +1,7 @@
+GALAXY5200 BOARD
+M:     Eric Millbrandt <emillbrandt@dekaresearch.com>
+S:     Orphan (since 2014-06)
+F:     board/galaxy5200/
+F:     include/configs/galaxy5200.h
+F:     configs/galaxy5200_defconfig
+F:     configs/galaxy5200_LOWBOOT_defconfig
diff --git a/board/gateworks/gw_ventana/Kconfig b/board/gateworks/gw_ventana/Kconfig
new file mode 100644 (file)
index 0000000..a9ff70a
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_GW_VENTANA
+
+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"
+
+endif
diff --git a/board/gateworks/gw_ventana/MAINTAINERS b/board/gateworks/gw_ventana/MAINTAINERS
new file mode 100644 (file)
index 0000000..b44fb4d
--- /dev/null
@@ -0,0 +1,6 @@
+GW_VENTANA BOARD
+M:     Tim Harvey <tharvey@gateworks.com>
+S:     Maintained
+F:     board/gateworks/gw_ventana/
+F:     include/configs/gw_ventana.h
+F:     configs/gwventana_defconfig
diff --git a/board/gdsys/405ep/Kconfig b/board/gdsys/405ep/Kconfig
new file mode 100644 (file)
index 0000000..8a5d3f5
--- /dev/null
@@ -0,0 +1,63 @@
+if TARGET_DLVISION_10G
+
+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_BOARD
+       string
+       default "405ep"
+
+config SYS_VENDOR
+       string
+       default "gdsys"
+
+config SYS_CONFIG_NAME
+       string
+       default "io"
+
+endif
+
+if TARGET_IOCON
+
+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_BOARD
+       string
+       default "405ep"
+
+config SYS_VENDOR
+       string
+       default "gdsys"
+
+config SYS_CONFIG_NAME
+       string
+       default "neo"
+
+endif
diff --git a/board/gdsys/405ep/MAINTAINERS b/board/gdsys/405ep/MAINTAINERS
new file mode 100644 (file)
index 0000000..1403880
--- /dev/null
@@ -0,0 +1,12 @@
+405EP BOARD
+M:     Dirk Eibach <eibach@gdsys.de>
+S:     Maintained
+F:     board/gdsys/405ep/
+F:     include/configs/dlvision-10g.h
+F:     configs/dlvision-10g_defconfig
+F:     include/configs/io.h
+F:     configs/io_defconfig
+F:     include/configs/iocon.h
+F:     configs/iocon_defconfig
+F:     include/configs/neo.h
+F:     configs/neo_defconfig
diff --git a/board/gdsys/405ex/Kconfig b/board/gdsys/405ex/Kconfig
new file mode 100644 (file)
index 0000000..b4fb975
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_IO64
+
+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/405ex/MAINTAINERS b/board/gdsys/405ex/MAINTAINERS
new file mode 100644 (file)
index 0000000..395b1ac
--- /dev/null
@@ -0,0 +1,6 @@
+405EX BOARD
+M:     Dirk Eibach <eibach@gdsys.de>
+S:     Maintained
+F:     board/gdsys/405ex/
+F:     include/configs/io64.h
+F:     configs/io64_defconfig
diff --git a/board/gdsys/dlvision/Kconfig b/board/gdsys/dlvision/Kconfig
new file mode 100644 (file)
index 0000000..af8334e
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_DLVISION
+
+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/dlvision/MAINTAINERS b/board/gdsys/dlvision/MAINTAINERS
new file mode 100644 (file)
index 0000000..e4d40f8
--- /dev/null
@@ -0,0 +1,6 @@
+DLVISION BOARD
+M:     Dirk Eibach <eibach@gdsys.de>
+S:     Maintained
+F:     board/gdsys/dlvision/
+F:     include/configs/dlvision.h
+F:     configs/dlvision_defconfig
diff --git a/board/gdsys/gdppc440etx/Kconfig b/board/gdsys/gdppc440etx/Kconfig
new file mode 100644 (file)
index 0000000..5a05c1c
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_GDPPC440ETX
+
+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/gdppc440etx/MAINTAINERS b/board/gdsys/gdppc440etx/MAINTAINERS
new file mode 100644 (file)
index 0000000..cd8d1c6
--- /dev/null
@@ -0,0 +1,6 @@
+GDPPC440ETX BOARD
+M:     Dirk Eibach <eibach@gdsys.de>
+S:     Maintained
+F:     board/gdsys/gdppc440etx/
+F:     include/configs/gdppc440etx.h
+F:     configs/gdppc440etx_defconfig
diff --git a/board/gdsys/intip/Kconfig b/board/gdsys/intip/Kconfig
new file mode 100644 (file)
index 0000000..7be439c
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_INTIP
+
+config SYS_BOARD
+       string
+       default "intip"
+
+config SYS_VENDOR
+       string
+       default "gdsys"
+
+config SYS_CONFIG_NAME
+       string
+       default "intip"
+
+endif
diff --git a/board/gdsys/intip/MAINTAINERS b/board/gdsys/intip/MAINTAINERS
new file mode 100644 (file)
index 0000000..c99d507
--- /dev/null
@@ -0,0 +1,7 @@
+INTIP BOARD
+M:     Dirk Eibach <eibach@gdsys.de>
+S:     Maintained
+F:     board/gdsys/intip/
+F:     include/configs/intip.h
+F:     configs/devconcenter_defconfig
+F:     configs/intip_defconfig
diff --git a/board/gdsys/p1022/Kconfig b/board/gdsys/p1022/Kconfig
new file mode 100644 (file)
index 0000000..277ed7d
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_CONTROLCENTERD
+
+config SYS_BOARD
+       string
+       default "p1022"
+
+config SYS_VENDOR
+       string
+       default "gdsys"
+
+config SYS_CONFIG_NAME
+       string
+       default "controlcenterd"
+
+endif
diff --git a/board/gdsys/p1022/MAINTAINERS b/board/gdsys/p1022/MAINTAINERS
new file mode 100644 (file)
index 0000000..5119fbb
--- /dev/null
@@ -0,0 +1,9 @@
+P1022 BOARD
+M:     Dirk Eibach <eibach@gdsys.de>
+S:     Maintained
+F:     board/gdsys/p1022/
+F:     include/configs/controlcenterd.h
+F:     configs/controlcenterd_36BIT_SDCARD_defconfig
+F:     configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig
+F:     configs/controlcenterd_TRAILBLAZER_defconfig
+F:     configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig
diff --git a/board/gen860t/Kconfig b/board/gen860t/Kconfig
new file mode 100644 (file)
index 0000000..438f7cc
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_GEN860T
+
+config SYS_BOARD
+       string
+       default "gen860t"
+
+config SYS_CONFIG_NAME
+       string
+       default "GEN860T"
+
+endif
diff --git a/board/gen860t/MAINTAINERS b/board/gen860t/MAINTAINERS
new file mode 100644 (file)
index 0000000..c5d3da3
--- /dev/null
@@ -0,0 +1,7 @@
+GEN860T BOARD
+M:     Keith Outwater <Keith_Outwater@mvis.com>
+S:     Orphan (since 2014-06)
+F:     board/gen860t/
+F:     include/configs/GEN860T.h
+F:     configs/GEN860T_defconfig
+F:     configs/GEN860T_SC_defconfig
diff --git a/board/genesi/mx51_efikamx/Kconfig b/board/genesi/mx51_efikamx/Kconfig
new file mode 100644 (file)
index 0000000..adfddeb
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/genesi/mx51_efikamx/MAINTAINERS b/board/genesi/mx51_efikamx/MAINTAINERS
new file mode 100644 (file)
index 0000000..a85df77
--- /dev/null
@@ -0,0 +1,7 @@
+MX51_EFIKAMX BOARD
+M:     -
+S:     Maintained
+F:     board/genesi/mx51_efikamx/
+F:     include/configs/mx51_efikamx.h
+F:     configs/mx51_efikamx_defconfig
+F:     configs/mx51_efikasb_defconfig
diff --git a/board/gumstix/duovero/Kconfig b/board/gumstix/duovero/Kconfig
new file mode 100644 (file)
index 0000000..d1b5c66
--- /dev/null
@@ -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/duovero/MAINTAINERS b/board/gumstix/duovero/MAINTAINERS
new file mode 100644 (file)
index 0000000..87cd4e6
--- /dev/null
@@ -0,0 +1,6 @@
+DUOVERO BOARD
+M:     Ash Charles <ash@gumstix.com>
+S:     Maintained
+F:     board/gumstix/duovero/
+F:     include/configs/duovero.h
+F:     configs/duovero_defconfig
diff --git a/board/gumstix/pepper/Kconfig b/board/gumstix/pepper/Kconfig
new file mode 100644 (file)
index 0000000..290b428
--- /dev/null
@@ -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/gumstix/pepper/MAINTAINERS b/board/gumstix/pepper/MAINTAINERS
new file mode 100644 (file)
index 0000000..ae860ec
--- /dev/null
@@ -0,0 +1,6 @@
+PEPPER BOARD
+M:     Ash Charles <ash@gumstix.com>
+S:     Maintained
+F:     board/gumstix/pepper/
+F:     include/configs/pepper.h
+F:     configs/pepper_defconfig
diff --git a/board/gw8260/Kconfig b/board/gw8260/Kconfig
new file mode 100644 (file)
index 0000000..ce8d1b0
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_GW8260
+
+config SYS_BOARD
+       string
+       default "gw8260"
+
+config SYS_CONFIG_NAME
+       string
+       default "gw8260"
+
+endif
diff --git a/board/gw8260/MAINTAINERS b/board/gw8260/MAINTAINERS
new file mode 100644 (file)
index 0000000..5268d19
--- /dev/null
@@ -0,0 +1,6 @@
+GW8260 BOARD
+M:     Oliver Brown <obrown@adventnetworks.com>
+S:     Maintained
+F:     board/gw8260/
+F:     include/configs/gw8260.h
+F:     configs/gw8260_defconfig
diff --git a/board/h2200/Kconfig b/board/h2200/Kconfig
new file mode 100644 (file)
index 0000000..f36b4d9
--- /dev/null
@@ -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/h2200/MAINTAINERS b/board/h2200/MAINTAINERS
new file mode 100644 (file)
index 0000000..b66ff51
--- /dev/null
@@ -0,0 +1,6 @@
+H2200 BOARD
+M:     Lukasz Dalek <luk0104@gmail.com>
+S:     Maintained
+F:     board/h2200/
+F:     include/configs/h2200.h
+F:     configs/h2200_defconfig
diff --git a/board/hale/tt01/Kconfig b/board/hale/tt01/Kconfig
new file mode 100644 (file)
index 0000000..549c18b
--- /dev/null
@@ -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/hale/tt01/MAINTAINERS b/board/hale/tt01/MAINTAINERS
new file mode 100644 (file)
index 0000000..2f582be
--- /dev/null
@@ -0,0 +1,6 @@
+TT01 BOARD
+M:     Helmut Raiger <helmut.raiger@hale.at>
+S:     Maintained
+F:     board/hale/tt01/
+F:     include/configs/tt01.h
+F:     configs/tt01_defconfig
diff --git a/board/hermes/Kconfig b/board/hermes/Kconfig
new file mode 100644 (file)
index 0000000..9d80650
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_HERMES
+
+config SYS_BOARD
+       string
+       default "hermes"
+
+config SYS_CONFIG_NAME
+       string
+       default "hermes"
+
+endif
diff --git a/board/hermes/MAINTAINERS b/board/hermes/MAINTAINERS
new file mode 100644 (file)
index 0000000..a596dad
--- /dev/null
@@ -0,0 +1,6 @@
+HERMES BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/hermes/
+F:     include/configs/hermes.h
+F:     configs/hermes_defconfig
diff --git a/board/highbank/Kconfig b/board/highbank/Kconfig
new file mode 100644 (file)
index 0000000..1c32490
--- /dev/null
@@ -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/highbank/MAINTAINERS b/board/highbank/MAINTAINERS
new file mode 100644 (file)
index 0000000..69ddedd
--- /dev/null
@@ -0,0 +1,6 @@
+HIGHBANK BOARD
+M:     Rob Herring <robh@kernel.org>
+S:     Maintained
+F:     board/highbank/
+F:     include/configs/highbank.h
+F:     configs/highbank_defconfig
diff --git a/board/htkw/mcx/Kconfig b/board/htkw/mcx/Kconfig
new file mode 100644 (file)
index 0000000..1e2c679
--- /dev/null
@@ -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/htkw/mcx/MAINTAINERS b/board/htkw/mcx/MAINTAINERS
new file mode 100644 (file)
index 0000000..c5f8873
--- /dev/null
@@ -0,0 +1,6 @@
+MCX BOARD
+M:     Ilya Yanok <yanok@emcraft.com>
+S:     Maintained
+F:     board/htkw/mcx/
+F:     include/configs/mcx.h
+F:     configs/mcx_defconfig
diff --git a/board/hymod/Kconfig b/board/hymod/Kconfig
new file mode 100644 (file)
index 0000000..106a837
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_HYMOD
+
+config SYS_BOARD
+       string
+       default "hymod"
+
+config SYS_CONFIG_NAME
+       string
+       default "hymod"
+
+endif
diff --git a/board/hymod/MAINTAINERS b/board/hymod/MAINTAINERS
new file mode 100644 (file)
index 0000000..e27fe97
--- /dev/null
@@ -0,0 +1,6 @@
+HYMOD BOARD
+M:     Murray Jensen <Murray.Jensen@csiro.au>
+S:     Maintained
+F:     board/hymod/
+F:     include/configs/hymod.h
+F:     configs/hymod_defconfig
diff --git a/board/ibf-dsp561/Kconfig b/board/ibf-dsp561/Kconfig
new file mode 100644 (file)
index 0000000..5183aff
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_IBF_DSP561
+
+config SYS_BOARD
+       string
+       default "ibf-dsp561"
+
+config SYS_CONFIG_NAME
+       string
+       default "ibf-dsp561"
+
+endif
diff --git a/board/ibf-dsp561/MAINTAINERS b/board/ibf-dsp561/MAINTAINERS
new file mode 100644 (file)
index 0000000..dfd0f90
--- /dev/null
@@ -0,0 +1,6 @@
+IBF-DSP561 BOARD
+M:     I-SYST Micromodule <support@i-syst.com>
+S:     Maintained
+F:     board/ibf-dsp561/
+F:     include/configs/ibf-dsp561.h
+F:     configs/ibf-dsp561_defconfig
diff --git a/board/icecube/Kconfig b/board/icecube/Kconfig
new file mode 100644 (file)
index 0000000..d409cd7
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_ICECUBE
+
+config SYS_BOARD
+       string
+       default "icecube"
+
+config SYS_CONFIG_NAME
+       string
+       default "IceCube"
+
+endif
diff --git a/board/icecube/MAINTAINERS b/board/icecube/MAINTAINERS
new file mode 100644 (file)
index 0000000..02e6c04
--- /dev/null
@@ -0,0 +1,21 @@
+ICECUBE BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/icecube/
+F:     include/configs/IceCube.h
+F:     configs/icecube_5200_defconfig
+
+ICECUBE_5200_DDR BOARD
+M:     -
+S:     Maintained
+F:     configs/icecube_5200_DDR_defconfig
+F:     configs/icecube_5200_DDR_LOWBOOT_defconfig
+F:     configs/icecube_5200_DDR_LOWBOOT08_defconfig
+F:     configs/icecube_5200_LOWBOOT_defconfig
+F:     configs/icecube_5200_LOWBOOT08_defconfig
+F:     configs/Lite5200_defconfig
+F:     configs/Lite5200_LOWBOOT_defconfig
+F:     configs/Lite5200_LOWBOOT08_defconfig
+F:     configs/lite5200b_defconfig
+F:     configs/lite5200b_LOWBOOT_defconfig
+F:     configs/lite5200b_PM_defconfig
diff --git a/board/icpdas/lp8x4x/Kconfig b/board/icpdas/lp8x4x/Kconfig
new file mode 100644 (file)
index 0000000..6d58984
--- /dev/null
@@ -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/icpdas/lp8x4x/MAINTAINERS b/board/icpdas/lp8x4x/MAINTAINERS
new file mode 100644 (file)
index 0000000..90a82e3
--- /dev/null
@@ -0,0 +1,6 @@
+LP8X4X BOARD
+M:     Sergey Yanovich <ynvich@gmail.com>
+S:     Maintained
+F:     board/icpdas/lp8x4x/
+F:     include/configs/lp8x4x.h
+F:     configs/lp8x4x_defconfig
diff --git a/board/icu862/Kconfig b/board/icu862/Kconfig
new file mode 100644 (file)
index 0000000..d2a7a0a
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_ICU862
+
+config SYS_BOARD
+       string
+       default "icu862"
+
+config SYS_CONFIG_NAME
+       string
+       default "ICU862"
+
+endif
diff --git a/board/icu862/MAINTAINERS b/board/icu862/MAINTAINERS
new file mode 100644 (file)
index 0000000..7fe16d1
--- /dev/null
@@ -0,0 +1,7 @@
+ICU862 BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/icu862/
+F:     include/configs/ICU862.h
+F:     configs/ICU862_defconfig
+F:     configs/ICU862_100MHz_defconfig
diff --git a/board/ids/ids8247/Kconfig b/board/ids/ids8247/Kconfig
new file mode 100644 (file)
index 0000000..a80af9e
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_IDS8247
+
+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/ids8247/MAINTAINERS b/board/ids/ids8247/MAINTAINERS
new file mode 100644 (file)
index 0000000..3173cdf
--- /dev/null
@@ -0,0 +1,6 @@
+IDS8247 BOARD
+M:     Heiko Schocher <hs@denx.de>
+S:     Maintained
+F:     board/ids/ids8247/
+F:     include/configs/IDS8247.h
+F:     configs/IDS8247_defconfig
diff --git a/board/ids/ids8313/Kconfig b/board/ids/ids8313/Kconfig
new file mode 100644 (file)
index 0000000..b38877b
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_IDS8313
+
+config SYS_BOARD
+       string
+       default "ids8313"
+
+config SYS_VENDOR
+       string
+       default "ids"
+
+config SYS_CONFIG_NAME
+       string
+       default "ids8313"
+
+endif
diff --git a/board/ids/ids8313/MAINTAINERS b/board/ids/ids8313/MAINTAINERS
new file mode 100644 (file)
index 0000000..c5b2f9e
--- /dev/null
@@ -0,0 +1,6 @@
+IDS8313 BOARD
+M:     Heiko Schocher <hs@denx.de>
+S:     Maintained
+F:     board/ids/ids8313/
+F:     include/configs/ids8313.h
+F:     configs/ids8313_defconfig
diff --git a/board/ifm/ac14xx/Kconfig b/board/ifm/ac14xx/Kconfig
new file mode 100644 (file)
index 0000000..0772d57
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_AC14XX
+
+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/ac14xx/MAINTAINERS b/board/ifm/ac14xx/MAINTAINERS
new file mode 100644 (file)
index 0000000..8fd74e5
--- /dev/null
@@ -0,0 +1,6 @@
+AC14XX BOARD
+M:     Anatolij Gustschin <agust@denx.de>
+S:     Maintained
+F:     board/ifm/ac14xx/
+F:     include/configs/ac14xx.h
+F:     configs/ac14xx_defconfig
diff --git a/board/ifm/o2dnt2/Kconfig b/board/ifm/o2dnt2/Kconfig
new file mode 100644 (file)
index 0000000..53e9c0f
--- /dev/null
@@ -0,0 +1,95 @@
+if TARGET_O2D
+
+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_BOARD
+       string
+       default "o2dnt2"
+
+config SYS_VENDOR
+       string
+       default "ifm"
+
+config SYS_CONFIG_NAME
+       string
+       default "o2d300"
+
+endif
+
+if TARGET_O2DNT2
+
+config SYS_BOARD
+       string
+       default "o2dnt2"
+
+config SYS_VENDOR
+       string
+       default "ifm"
+
+config SYS_CONFIG_NAME
+       string
+       default "o2dnt2"
+
+endif
+
+if TARGET_O2I
+
+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_BOARD
+       string
+       default "o2dnt2"
+
+config SYS_VENDOR
+       string
+       default "ifm"
+
+config SYS_CONFIG_NAME
+       string
+       default "o2mnt"
+
+endif
+
+if TARGET_O3DNT
+
+config SYS_BOARD
+       string
+       default "o2dnt2"
+
+config SYS_VENDOR
+       string
+       default "ifm"
+
+config SYS_CONFIG_NAME
+       string
+       default "o3dnt"
+
+endif
diff --git a/board/ifm/o2dnt2/MAINTAINERS b/board/ifm/o2dnt2/MAINTAINERS
new file mode 100644 (file)
index 0000000..002f89e
--- /dev/null
@@ -0,0 +1,20 @@
+O2DNT2 BOARD
+M:     Anatolij Gustschin <agust@denx.de>
+S:     Maintained
+F:     board/ifm/o2dnt2/
+F:     include/configs/o2d.h
+F:     configs/O2D_defconfig
+F:     include/configs/o2d300.h
+F:     configs/O2D300_defconfig
+F:     include/configs/o2dnt2.h
+F:     configs/O2DNT2_defconfig
+F:     configs/O2DNT2_RAMBOOT_defconfig
+F:     include/configs/o2i.h
+F:     configs/O2I_defconfig
+F:     include/configs/o2mnt.h
+F:     configs/O2MNT_defconfig
+F:     configs/O2MNT_O2M110_defconfig
+F:     configs/O2MNT_O2M112_defconfig
+F:     configs/O2MNT_O2M113_defconfig
+F:     include/configs/o3dnt.h
+F:     configs/O3DNT_defconfig
diff --git a/board/imgtec/malta/Kconfig b/board/imgtec/malta/Kconfig
new file mode 100644 (file)
index 0000000..8e5cab1
--- /dev/null
@@ -0,0 +1,19 @@
+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"
+
+endif
diff --git a/board/imgtec/malta/MAINTAINERS b/board/imgtec/malta/MAINTAINERS
new file mode 100644 (file)
index 0000000..a0b3284
--- /dev/null
@@ -0,0 +1,7 @@
+MALTA BOARD
+M:     Paul Burton <paul.burton@imgtec.com>
+S:     Maintained
+F:     board/imgtec/malta/
+F:     include/configs/malta.h
+F:     configs/malta_defconfig
+F:     configs/maltael_defconfig
diff --git a/board/imx31_phycore/Kconfig b/board/imx31_phycore/Kconfig
new file mode 100644 (file)
index 0000000..c74f4a6
--- /dev/null
@@ -0,0 +1,19 @@
+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
diff --git a/board/imx31_phycore/MAINTAINERS b/board/imx31_phycore/MAINTAINERS
new file mode 100644 (file)
index 0000000..efd5e77
--- /dev/null
@@ -0,0 +1,11 @@
+IMX31_PHYCORE BOARD
+M:     -
+S:     Maintained
+F:     board/imx31_phycore/
+F:     include/configs/imx31_phycore.h
+F:     configs/imx31_phycore_defconfig
+
+IMX31_PHYCORE_EET BOARD
+M:     (resigned) Guennadi Liakhovetski <g.liakhovetski@gmx.de>
+S:     Orphan (since 2013-09)
+F:     configs/imx31_phycore_eet_defconfig
diff --git a/board/in-circuit/grasshopper/Kconfig b/board/in-circuit/grasshopper/Kconfig
new file mode 100644 (file)
index 0000000..da3bcc3
--- /dev/null
@@ -0,0 +1,19 @@
+if TARGET_GRASSHOPPER
+
+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/in-circuit/grasshopper/MAINTAINERS b/board/in-circuit/grasshopper/MAINTAINERS
new file mode 100644 (file)
index 0000000..db8bd0a
--- /dev/null
@@ -0,0 +1,6 @@
+GRASSHOPPER BOARD
+M:     Andreas Bießmann <andreas.devel@googlemail.com>
+S:     Maintained
+F:     board/in-circuit/grasshopper/
+F:     include/configs/grasshopper.h
+F:     configs/grasshopper_defconfig
diff --git a/board/inka4x0/Kconfig b/board/inka4x0/Kconfig
new file mode 100644 (file)
index 0000000..44bca35
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_INKA4X0
+
+config SYS_BOARD
+       string
+       default "inka4x0"
+
+config SYS_CONFIG_NAME
+       string
+       default "inka4x0"
+
+endif
diff --git a/board/inka4x0/MAINTAINERS b/board/inka4x0/MAINTAINERS
new file mode 100644 (file)
index 0000000..246b2d4
--- /dev/null
@@ -0,0 +1,6 @@
+INKA4X0 BOARD
+M:     Detlev Zundel <dzu@denx.de>
+S:     Maintained
+F:     board/inka4x0/
+F:     include/configs/inka4x0.h
+F:     configs/inka4x0_defconfig
diff --git a/board/intercontrol/digsy_mtc/Kconfig b/board/intercontrol/digsy_mtc/Kconfig
new file mode 100644 (file)
index 0000000..0b14bc0
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_DIGSY_MTC
+
+config SYS_BOARD
+       string
+       default "digsy_mtc"
+
+config SYS_VENDOR
+       string
+       default "intercontrol"
+
+config SYS_CONFIG_NAME
+       string
+       default "digsy_mtc"
+
+endif
diff --git a/board/intercontrol/digsy_mtc/MAINTAINERS b/board/intercontrol/digsy_mtc/MAINTAINERS
new file mode 100644 (file)
index 0000000..c83ebcd
--- /dev/null
@@ -0,0 +1,9 @@
+DIGSY_MTC BOARD
+M:     Werner Pfister <Pfister_Werner@intercontrol.de>
+S:     Maintained
+F:     board/intercontrol/digsy_mtc/
+F:     include/configs/digsy_mtc.h
+F:     configs/digsy_mtc_defconfig
+F:     configs/digsy_mtc_RAMBOOT_defconfig
+F:     configs/digsy_mtc_rev5_defconfig
+F:     configs/digsy_mtc_rev5_RAMBOOT_defconfig
diff --git a/board/iomega/iconnect/Kconfig b/board/iomega/iconnect/Kconfig
new file mode 100644 (file)
index 0000000..8ac21d2
--- /dev/null
@@ -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/iomega/iconnect/MAINTAINERS b/board/iomega/iconnect/MAINTAINERS
new file mode 100644 (file)
index 0000000..167cf07
--- /dev/null
@@ -0,0 +1,6 @@
+ICONNECT BOARD
+M:     Luka Perkov <luka@openwrt.org>
+S:     Maintained
+F:     board/iomega/iconnect/
+F:     include/configs/iconnect.h
+F:     configs/iconnect_defconfig
diff --git a/board/ip04/Kconfig b/board/ip04/Kconfig
new file mode 100644 (file)
index 0000000..95abe63
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_IP04
+
+config SYS_BOARD
+       string
+       default "ip04"
+
+config SYS_CONFIG_NAME
+       string
+       default "ip04"
+
+endif
diff --git a/board/ip04/MAINTAINERS b/board/ip04/MAINTAINERS
new file mode 100644 (file)
index 0000000..278072b
--- /dev/null
@@ -0,0 +1,6 @@
+IP04 BOARD
+M:     Brent Kandetzki <brentk@teleco.com>
+S:     Orphan (since 2014-06)
+F:     board/ip04/
+F:     include/configs/ip04.h
+F:     configs/ip04_defconfig
diff --git a/board/ip860/Kconfig b/board/ip860/Kconfig
new file mode 100644 (file)
index 0000000..df1ce8d
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_IP860
+
+config SYS_BOARD
+       string
+       default "ip860"
+
+config SYS_CONFIG_NAME
+       string
+       default "IP860"
+
+endif
diff --git a/board/ip860/MAINTAINERS b/board/ip860/MAINTAINERS
new file mode 100644 (file)
index 0000000..36d5690
--- /dev/null
@@ -0,0 +1,6 @@
+IP860 BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/ip860/
+F:     include/configs/IP860.h
+F:     configs/IP860_defconfig
diff --git a/board/ipek01/Kconfig b/board/ipek01/Kconfig
new file mode 100644 (file)
index 0000000..a2a1f86
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_IPEK01
+
+config SYS_BOARD
+       string
+       default "ipek01"
+
+config SYS_CONFIG_NAME
+       string
+       default "ipek01"
+
+endif
diff --git a/board/ipek01/MAINTAINERS b/board/ipek01/MAINTAINERS
new file mode 100644 (file)
index 0000000..060f8a5
--- /dev/null
@@ -0,0 +1,6 @@
+IPEK01 BOARD
+M:     Wolfgang Grandegger <wg@denx.de>
+S:     Maintained
+F:     board/ipek01/
+F:     include/configs/ipek01.h
+F:     configs/ipek01_defconfig
diff --git a/board/iphase4539/Kconfig b/board/iphase4539/Kconfig
new file mode 100644 (file)
index 0000000..1ce42f3
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_IPHASE4539
+
+config SYS_BOARD
+       string
+       default "iphase4539"
+
+config SYS_CONFIG_NAME
+       string
+       default "IPHASE4539"
+
+endif
diff --git a/board/iphase4539/MAINTAINERS b/board/iphase4539/MAINTAINERS
new file mode 100644 (file)
index 0000000..ddf6814
--- /dev/null
@@ -0,0 +1,6 @@
+IPHASE4539 BOARD
+M:     Wolfgang Grandegger <wg@denx.de>
+S:     Maintained
+F:     board/iphase4539/
+F:     include/configs/IPHASE4539.h
+F:     configs/IPHASE4539_defconfig
diff --git a/board/isee/igep0033/Kconfig b/board/isee/igep0033/Kconfig
new file mode 100644 (file)
index 0000000..cdb67ed
--- /dev/null
@@ -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/igep0033/MAINTAINERS b/board/isee/igep0033/MAINTAINERS
new file mode 100644 (file)
index 0000000..d162d77
--- /dev/null
@@ -0,0 +1,6 @@
+IGEP0033 BOARD
+M:     Enric Balletbo i Serra <eballetbo@iseebcn.com>
+S:     Maintained
+F:     board/isee/igep0033/
+F:     include/configs/am335x_igep0033.h
+F:     configs/am335x_igep0033_defconfig
diff --git a/board/isee/igep00x0/Kconfig b/board/isee/igep00x0/Kconfig
new file mode 100644 (file)
index 0000000..c9f2969
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_OMAP3_IGEP00X0
+
+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"
+
+endif
diff --git a/board/isee/igep00x0/MAINTAINERS b/board/isee/igep00x0/MAINTAINERS
new file mode 100644 (file)
index 0000000..fe4a8cd
--- /dev/null
@@ -0,0 +1,14 @@
+IGEP00X0 BOARD
+M:     Enric Balletbo i Serra <eballetbo@iseebcn.com>
+S:     Maintained
+F:     board/isee/igep00x0/
+F:     include/configs/omap3_igep00x0.h
+F:     configs/igep0020_defconfig
+F:     configs/igep0030_defconfig
+F:     configs/igep0032_defconfig
+
+IGEP0020_NAND BOARD
+M:     -
+S:     Maintained
+F:     configs/igep0020_nand_defconfig
+F:     configs/igep0030_nand_defconfig
diff --git a/board/ivm/Kconfig b/board/ivm/Kconfig
new file mode 100644 (file)
index 0000000..ab3da79
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_IVML24
+
+config SYS_BOARD
+       string
+       default "ivm"
+
+config SYS_CONFIG_NAME
+       string
+       default "IVML24"
+
+endif
+
+if TARGET_IVMS8
+
+config SYS_BOARD
+       string
+       default "ivm"
+
+config SYS_CONFIG_NAME
+       string
+       default "IVMS8"
+
+endif
diff --git a/board/ivm/MAINTAINERS b/board/ivm/MAINTAINERS
new file mode 100644 (file)
index 0000000..6a9082c
--- /dev/null
@@ -0,0 +1,12 @@
+IVM BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/ivm/
+F:     include/configs/IVML24.h
+F:     configs/IVML24_defconfig
+F:     configs/IVML24_128_defconfig
+F:     configs/IVML24_256_defconfig
+F:     include/configs/IVMS8.h
+F:     configs/IVMS8_defconfig
+F:     configs/IVMS8_128_defconfig
+F:     configs/IVMS8_256_defconfig
diff --git a/board/jornada/Kconfig b/board/jornada/Kconfig
new file mode 100644 (file)
index 0000000..345d3b6
--- /dev/null
@@ -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/jornada/MAINTAINERS b/board/jornada/MAINTAINERS
new file mode 100644 (file)
index 0000000..c77d745
--- /dev/null
@@ -0,0 +1,6 @@
+JORNADA BOARD
+M:     Kristoffer Ericson <kristoffer.ericson@gmail.com>
+S:     Maintained
+F:     board/jornada/
+F:     include/configs/jornada.h
+F:     configs/jornada_defconfig
diff --git a/board/jse/Kconfig b/board/jse/Kconfig
new file mode 100644 (file)
index 0000000..bb265f2
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_JSE
+
+config SYS_BOARD
+       string
+       default "jse"
+
+config SYS_CONFIG_NAME
+       string
+       default "JSE"
+
+endif
diff --git a/board/jse/MAINTAINERS b/board/jse/MAINTAINERS
new file mode 100644 (file)
index 0000000..818a5a0
--- /dev/null
@@ -0,0 +1,6 @@
+JSE BOARD
+M:     Stephen Williams <steve@icarus.com>
+S:     Maintained
+F:     board/jse/
+F:     include/configs/JSE.h
+F:     configs/JSE_defconfig
diff --git a/board/jupiter/Kconfig b/board/jupiter/Kconfig
new file mode 100644 (file)
index 0000000..36e43b7
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_JUPITER
+
+config SYS_BOARD
+       string
+       default "jupiter"
+
+config SYS_CONFIG_NAME
+       string
+       default "jupiter"
+
+endif
diff --git a/board/jupiter/MAINTAINERS b/board/jupiter/MAINTAINERS
new file mode 100644 (file)
index 0000000..5a79a61
--- /dev/null
@@ -0,0 +1,6 @@
+JUPITER BOARD
+M:     Heiko Schocher <hs@denx.de>
+S:     Maintained
+F:     board/jupiter/
+F:     include/configs/jupiter.h
+F:     configs/jupiter_defconfig
diff --git a/board/karo/tk71/Kconfig b/board/karo/tk71/Kconfig
new file mode 100644 (file)
index 0000000..546491b
--- /dev/null
@@ -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/tk71/MAINTAINERS b/board/karo/tk71/MAINTAINERS
new file mode 100644 (file)
index 0000000..39b2b1d
--- /dev/null
@@ -0,0 +1,6 @@
+TK71 BOARD
+M:     -
+S:     Maintained
+F:     board/karo/tk71/
+F:     include/configs/tk71.h
+F:     configs/tk71_defconfig
diff --git a/board/karo/tx25/Kconfig b/board/karo/tx25/Kconfig
new file mode 100644 (file)
index 0000000..095b1a5
--- /dev/null
@@ -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/karo/tx25/MAINTAINERS b/board/karo/tx25/MAINTAINERS
new file mode 100644 (file)
index 0000000..2defe34
--- /dev/null
@@ -0,0 +1,6 @@
+TX25 BOARD
+M:     John Rigby <jcrigby@gmail.com>
+S:     Maintained
+F:     board/karo/tx25/
+F:     include/configs/tx25.h
+F:     configs/tx25_defconfig
diff --git a/board/keymile/km82xx/Kconfig b/board/keymile/km82xx/Kconfig
new file mode 100644 (file)
index 0000000..c29032a
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_KM82XX
+
+config SYS_BOARD
+       string
+       default "km82xx"
+
+config SYS_VENDOR
+       string
+       default "keymile"
+
+config SYS_CONFIG_NAME
+       string
+       default "km82xx"
+
+endif
diff --git a/board/keymile/km82xx/MAINTAINERS b/board/keymile/km82xx/MAINTAINERS
new file mode 100644 (file)
index 0000000..50e06b2
--- /dev/null
@@ -0,0 +1,7 @@
+KM82XX BOARD
+M:     Holger Brunck <holger.brunck@keymile.com>
+S:     Maintained
+F:     board/keymile/km82xx/
+F:     include/configs/km82xx.h
+F:     configs/mgcoge_defconfig
+F:     configs/mgcoge3ne_defconfig
diff --git a/board/keymile/km83xx/Kconfig b/board/keymile/km83xx/Kconfig
new file mode 100644 (file)
index 0000000..934c45d
--- /dev/null
@@ -0,0 +1,47 @@
+if TARGET_KM8360
+
+config SYS_BOARD
+       string
+       default "km83xx"
+
+config SYS_VENDOR
+       string
+       default "keymile"
+
+config SYS_CONFIG_NAME
+       string
+       default "km8360"
+
+endif
+
+if TARGET_SUVD3
+
+config SYS_BOARD
+       string
+       default "km83xx"
+
+config SYS_VENDOR
+       string
+       default "keymile"
+
+config SYS_CONFIG_NAME
+       string
+       default "suvd3"
+
+endif
+
+if TARGET_TUXX1
+
+config SYS_BOARD
+       string
+       default "km83xx"
+
+config SYS_VENDOR
+       string
+       default "keymile"
+
+config SYS_CONFIG_NAME
+       string
+       default "tuxx1"
+
+endif
diff --git a/board/keymile/km83xx/MAINTAINERS b/board/keymile/km83xx/MAINTAINERS
new file mode 100644 (file)
index 0000000..cee7e08
--- /dev/null
@@ -0,0 +1,19 @@
+KM83XX BOARD
+M:     Holger Brunck <holger.brunck@keymile.com>
+S:     Maintained
+F:     board/keymile/km83xx/
+F:     include/configs/km8360.h
+F:     configs/kmcoge5ne_defconfig
+F:     configs/kmeter1_defconfig
+F:     include/configs/tuxx1.h
+F:     configs/kmopti2_defconfig
+F:     include/configs/suvd3.h
+F:     configs/kmvect1_defconfig
+F:     configs/suvd3_defconfig
+F:     configs/tuge1_defconfig
+F:     configs/tuxx1_defconfig
+
+KMSUPX5 BOARD
+M:     Heiko Schocher <hs@denx.de>
+S:     Maintained
+F:     configs/kmsupx5_defconfig
diff --git a/board/keymile/km_arm/Kconfig b/board/keymile/km_arm/Kconfig
new file mode 100644 (file)
index 0000000..dec4626
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/keymile/km_arm/MAINTAINERS b/board/keymile/km_arm/MAINTAINERS
new file mode 100644 (file)
index 0000000..079c803
--- /dev/null
@@ -0,0 +1,14 @@
+KM_ARM BOARD
+M:     Valentin Longchamp <valentin.longchamp@keymile.com>
+S:     Maintained
+F:     board/keymile/km_arm/
+F:     include/configs/km_kirkwood.h
+F:     configs/km_kirkwood_defconfig
+F:     configs/km_kirkwood_128m16_defconfig
+F:     configs/km_kirkwood_pci_defconfig
+F:     configs/kmcoge5un_defconfig
+F:     configs/kmnusa_defconfig
+F:     configs/kmsugp1_defconfig
+F:     configs/kmsuv31_defconfig
+F:     configs/mgcoge3un_defconfig
+F:     configs/portl2_defconfig
diff --git a/board/keymile/kmp204x/Kconfig b/board/keymile/kmp204x/Kconfig
new file mode 100644 (file)
index 0000000..0236f69
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_KMP204X
+
+config SYS_BOARD
+       string
+       default "kmp204x"
+
+config SYS_VENDOR
+       string
+       default "keymile"
+
+config SYS_CONFIG_NAME
+       string
+       default "kmp204x"
+
+endif
diff --git a/board/keymile/kmp204x/MAINTAINERS b/board/keymile/kmp204x/MAINTAINERS
new file mode 100644 (file)
index 0000000..93b6bad
--- /dev/null
@@ -0,0 +1,7 @@
+KMP204X BOARD
+M:     Valentin Longchamp <valentin.longchamp@keymile.com>
+S:     Maintained
+F:     board/keymile/kmp204x/
+F:     include/configs/kmp204x.h
+F:     configs/kmcoge4_defconfig
+F:     configs/kmlion1_defconfig
index 6bc8eb85eaa9a9c58ec6da57c054c137c0464e9c..cd083795b86a27160ce0b6475299e9aa48fb8c73 100644 (file)
@@ -80,14 +80,29 @@ int get_scl(void)
 
 #define ZL30158_RST    8
 #define BFTIC4_RST     0
+#define RSTRQSR1_WDT_RR        0x00200000
+#define RSTRQSR1_SW_RR 0x00100000
 
 int board_early_init_f(void)
 {
        ccsr_gur_t *gur = (void *)(CONFIG_SYS_MPC85xx_GUTS_ADDR);
+       bool cpuwd_flag = false;
+
+       /* configure mode for uP reset request */
+       qrio_uprstreq(UPREQ_CORE_RST);
 
        /* board only uses the DDR_MCK0, so disable the DDR_MCK1/2/3 */
        setbits_be32(&gur->ddrclkdr, 0x001f000f);
 
+       /* set reset reason according CPU register */
+       if ((gur->rstrqsr1 & (RSTRQSR1_WDT_RR | RSTRQSR1_SW_RR)) ==
+           RSTRQSR1_WDT_RR)
+               cpuwd_flag = true;
+
+       qrio_cpuwd_flag(cpuwd_flag);
+       /* clear CPU bits by writing 1 */
+       setbits_be32(&gur->rstrqsr1, RSTRQSR1_WDT_RR | RSTRQSR1_SW_RR);
+
        /* set the BFTIC's prstcfg to reset at power-up and unit reset only */
        qrio_prstcfg(BFTIC4_RST, PRSTCFG_POWUP_UNIT_RST);
        /* and enable WD on it */
index afede994f17367ca4d86e7f1504285a488ce33ef..e90e8abd43df2ac86248a52e01b5d48ee8d167bd 100644 (file)
@@ -24,5 +24,12 @@ void qrio_wdmask(u8 bit, bool wden);
 void qrio_prstcfg(u8 bit, u8 mode);
 void qrio_set_leds(void);
 void qrio_enable_app_buffer(void);
+void qrio_cpuwd_flag(bool flag);
+int qrio_reset_reason(void);
+
+#define UPREQ_UNIT_RST         0x0
+#define UPREQ_CORE_RST         0x1
+
+void qrio_uprstreq(u8 mode);
 
 void pci_of_setup(void *blob, bd_t *bd);
index b6ba93ada8f0bebd6d583d9ca85a3508d862b2c0..edf3bf11a89403c3d02026282aee77248157c45e 100644 (file)
@@ -173,3 +173,35 @@ void qrio_enable_app_buffer(void)
        ctrll |= (CTRLL_WRB_BUFENA);
        out_8(qrio_base + CTRLL_OFF, ctrll);
 }
+
+#define REASON1_OFF    0x12
+#define REASON1_CPUWD  0x01
+
+void qrio_cpuwd_flag(bool flag)
+{
+       u8 reason1;
+       void __iomem *qrio_base = (void *)CONFIG_SYS_QRIO_BASE;
+       reason1 = in_8(qrio_base + REASON1_OFF);
+       if (flag)
+               reason1 |= REASON1_CPUWD;
+       else
+               reason1 &= ~REASON1_CPUWD;
+       out_8(qrio_base + REASON1_OFF, reason1);
+}
+
+#define RSTCFG_OFF     0x11
+
+void qrio_uprstreq(u8 mode)
+{
+       u32 rstcfg;
+       void __iomem *qrio_base = (void *)CONFIG_SYS_QRIO_BASE;
+
+       rstcfg = in_8(qrio_base + RSTCFG_OFF);
+
+       if (mode & UPREQ_CORE_RST)
+               rstcfg |= UPREQ_CORE_RST;
+       else
+               rstcfg &= ~UPREQ_CORE_RST;
+
+       out_8(qrio_base + RSTCFG_OFF, rstcfg);
+}
diff --git a/board/kmc/kzm9g/Kconfig b/board/kmc/kzm9g/Kconfig
new file mode 100644 (file)
index 0000000..2d40173
--- /dev/null
@@ -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/kmc/kzm9g/MAINTAINERS b/board/kmc/kzm9g/MAINTAINERS
new file mode 100644 (file)
index 0000000..411efd1
--- /dev/null
@@ -0,0 +1,7 @@
+KZM9G BOARD
+M:     Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
+M:     Tetsuyuki Kobayashi <koba@kmckk.co.jp>
+S:     Maintained
+F:     board/kmc/kzm9g/
+F:     include/configs/kzm9g.h
+F:     configs/kzm9g_defconfig
diff --git a/board/korat/Kconfig b/board/korat/Kconfig
new file mode 100644 (file)
index 0000000..c23061c
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_KORAT
+
+config SYS_BOARD
+       string
+       default "korat"
+
+config SYS_CONFIG_NAME
+       string
+       default "korat"
+
+endif
diff --git a/board/korat/MAINTAINERS b/board/korat/MAINTAINERS
new file mode 100644 (file)
index 0000000..8b96846
--- /dev/null
@@ -0,0 +1,7 @@
+KORAT BOARD
+M:     Larry Johnson <lrj@acm.org>
+S:     Maintained
+F:     board/korat/
+F:     include/configs/korat.h
+F:     configs/korat_defconfig
+F:     configs/korat_perm_defconfig
diff --git a/board/kup/kup4k/Kconfig b/board/kup/kup4k/Kconfig
new file mode 100644 (file)
index 0000000..bac89aa
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_KUP4K
+
+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/kup4k/MAINTAINERS b/board/kup/kup4k/MAINTAINERS
new file mode 100644 (file)
index 0000000..25d90cf
--- /dev/null
@@ -0,0 +1,6 @@
+KUP4K BOARD
+M:     Klaus Heydeck <heydeck@kieback-peter.de>
+S:     Maintained
+F:     board/kup/kup4k/
+F:     include/configs/KUP4K.h
+F:     configs/KUP4K_defconfig
diff --git a/board/kup/kup4x/Kconfig b/board/kup/kup4x/Kconfig
new file mode 100644 (file)
index 0000000..e04b919
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_KUP4X
+
+config SYS_BOARD
+       string
+       default "kup4x"
+
+config SYS_VENDOR
+       string
+       default "kup"
+
+config SYS_CONFIG_NAME
+       string
+       default "KUP4X"
+
+endif
diff --git a/board/kup/kup4x/MAINTAINERS b/board/kup/kup4x/MAINTAINERS
new file mode 100644 (file)
index 0000000..85159e4
--- /dev/null
@@ -0,0 +1,6 @@
+KUP4X BOARD
+M:     Klaus Heydeck <heydeck@kieback-peter.de>
+S:     Maintained
+F:     board/kup/kup4x/
+F:     include/configs/KUP4X.h
+F:     configs/KUP4X_defconfig
diff --git a/board/logicpd/am3517evm/Kconfig b/board/logicpd/am3517evm/Kconfig
new file mode 100644 (file)
index 0000000..9bc5ae5
--- /dev/null
@@ -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/am3517evm/MAINTAINERS b/board/logicpd/am3517evm/MAINTAINERS
new file mode 100644 (file)
index 0000000..7f03ac1
--- /dev/null
@@ -0,0 +1,6 @@
+AM3517EVM BOARD
+M:     Vaibhav Hiremath <hvaibhav@ti.com>
+S:     Maintained
+F:     board/logicpd/am3517evm/
+F:     include/configs/am3517_evm.h
+F:     configs/am3517_evm_defconfig
diff --git a/board/logicpd/imx27lite/Kconfig b/board/logicpd/imx27lite/Kconfig
new file mode 100644 (file)
index 0000000..f107267
--- /dev/null
@@ -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/imx27lite/MAINTAINERS b/board/logicpd/imx27lite/MAINTAINERS
new file mode 100644 (file)
index 0000000..a7b22ac
--- /dev/null
@@ -0,0 +1,12 @@
+IMX27LITE BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/logicpd/imx27lite/
+F:     include/configs/imx27lite.h
+F:     configs/imx27lite_defconfig
+
+MAGNESIUM BOARD
+M:     Heiko Schocher <hs@denx.de>
+S:     Maintained
+F:     include/configs/magnesium.h
+F:     configs/magnesium_defconfig
diff --git a/board/logicpd/imx31_litekit/Kconfig b/board/logicpd/imx31_litekit/Kconfig
new file mode 100644 (file)
index 0000000..ae3343b
--- /dev/null
@@ -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/imx31_litekit/MAINTAINERS b/board/logicpd/imx31_litekit/MAINTAINERS
new file mode 100644 (file)
index 0000000..98cc7bd
--- /dev/null
@@ -0,0 +1,6 @@
+IMX31_LITEKIT BOARD
+M:     -
+S:     Maintained
+F:     board/logicpd/imx31_litekit/
+F:     include/configs/imx31_litekit.h
+F:     configs/imx31_litekit_defconfig
diff --git a/board/logicpd/omap3som/Kconfig b/board/logicpd/omap3som/Kconfig
new file mode 100644 (file)
index 0000000..daaefa6
--- /dev/null
@@ -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/omap3som/MAINTAINERS b/board/logicpd/omap3som/MAINTAINERS
new file mode 100644 (file)
index 0000000..ffe2201
--- /dev/null
@@ -0,0 +1,6 @@
+OMAP3SOM BOARD
+M:     Peter Barada <peter.barada@logicpd.com>
+S:     Maintained
+F:     board/logicpd/omap3som/
+F:     include/configs/omap3_logic.h
+F:     configs/omap3_logic_defconfig
diff --git a/board/logicpd/zoom1/Kconfig b/board/logicpd/zoom1/Kconfig
new file mode 100644 (file)
index 0000000..3199130
--- /dev/null
@@ -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/logicpd/zoom1/MAINTAINERS b/board/logicpd/zoom1/MAINTAINERS
new file mode 100644 (file)
index 0000000..338b965
--- /dev/null
@@ -0,0 +1,6 @@
+ZOOM1 BOARD
+M:     Nishanth Menon <nm@ti.com>
+S:     Maintained
+F:     board/logicpd/zoom1/
+F:     include/configs/omap3_zoom1.h
+F:     configs/omap3_zoom1_defconfig
diff --git a/board/lwmon/Kconfig b/board/lwmon/Kconfig
new file mode 100644 (file)
index 0000000..a0c7587
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_LWMON
+
+config SYS_BOARD
+       string
+       default "lwmon"
+
+config SYS_CONFIG_NAME
+       string
+       default "lwmon"
+
+endif
diff --git a/board/lwmon/MAINTAINERS b/board/lwmon/MAINTAINERS
new file mode 100644 (file)
index 0000000..763ce22
--- /dev/null
@@ -0,0 +1,6 @@
+LWMON BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/lwmon/
+F:     include/configs/lwmon.h
+F:     configs/lwmon_defconfig
diff --git a/board/lwmon5/Kconfig b/board/lwmon5/Kconfig
new file mode 100644 (file)
index 0000000..79cf08e
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_LWMON5
+
+config SYS_BOARD
+       string
+       default "lwmon5"
+
+config SYS_CONFIG_NAME
+       string
+       default "lwmon5"
+
+endif
diff --git a/board/lwmon5/MAINTAINERS b/board/lwmon5/MAINTAINERS
new file mode 100644 (file)
index 0000000..7402ab6
--- /dev/null
@@ -0,0 +1,7 @@
+LWMON5 BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/lwmon5/
+F:     include/configs/lwmon5.h
+F:     configs/lcd4_lwmon5_defconfig
+F:     configs/lwmon5_defconfig
diff --git a/board/manroland/hmi1001/Kconfig b/board/manroland/hmi1001/Kconfig
new file mode 100644 (file)
index 0000000..2f576dd
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_HMI1001
+
+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/hmi1001/MAINTAINERS b/board/manroland/hmi1001/MAINTAINERS
new file mode 100644 (file)
index 0000000..bdfdc01
--- /dev/null
@@ -0,0 +1,6 @@
+HMI1001 BOARD
+M:     -
+S:     Maintained
+F:     board/manroland/hmi1001/
+F:     include/configs/hmi1001.h
+F:     configs/hmi1001_defconfig
diff --git a/board/manroland/mucmc52/Kconfig b/board/manroland/mucmc52/Kconfig
new file mode 100644 (file)
index 0000000..4be0722
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MUCMC52
+
+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/mucmc52/MAINTAINERS b/board/manroland/mucmc52/MAINTAINERS
new file mode 100644 (file)
index 0000000..45a2764
--- /dev/null
@@ -0,0 +1,6 @@
+MUCMC52 BOARD
+M:     Heiko Schocher <hs@denx.de>
+S:     Maintained
+F:     board/manroland/mucmc52/
+F:     include/configs/mucmc52.h
+F:     configs/mucmc52_defconfig
diff --git a/board/manroland/uc100/Kconfig b/board/manroland/uc100/Kconfig
new file mode 100644 (file)
index 0000000..a41a780
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_UC100
+
+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/uc100/MAINTAINERS b/board/manroland/uc100/MAINTAINERS
new file mode 100644 (file)
index 0000000..260471c
--- /dev/null
@@ -0,0 +1,6 @@
+UC100 BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/manroland/uc100/
+F:     include/configs/uc100.h
+F:     configs/uc100_defconfig
diff --git a/board/manroland/uc101/Kconfig b/board/manroland/uc101/Kconfig
new file mode 100644 (file)
index 0000000..07cfcc6
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_UC101
+
+config SYS_BOARD
+       string
+       default "uc101"
+
+config SYS_VENDOR
+       string
+       default "manroland"
+
+config SYS_CONFIG_NAME
+       string
+       default "uc101"
+
+endif
diff --git a/board/manroland/uc101/MAINTAINERS b/board/manroland/uc101/MAINTAINERS
new file mode 100644 (file)
index 0000000..0fc7b85
--- /dev/null
@@ -0,0 +1,6 @@
+UC101 BOARD
+M:     Heiko Schocher <hs@denx.de>
+S:     Maintained
+F:     board/manroland/uc101/
+F:     include/configs/uc101.h
+F:     configs/uc101_defconfig
diff --git a/board/matrix_vision/mergerbox/Kconfig b/board/matrix_vision/mergerbox/Kconfig
new file mode 100644 (file)
index 0000000..5b292dc
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MERGERBOX
+
+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/mergerbox/MAINTAINERS b/board/matrix_vision/mergerbox/MAINTAINERS
new file mode 100644 (file)
index 0000000..22be981
--- /dev/null
@@ -0,0 +1,6 @@
+MERGERBOX BOARD
+M:     Andre Schwarz <andre.schwarz@matrix-vision.de>
+S:     Orphan (since 2014-03)
+F:     board/matrix_vision/mergerbox/
+F:     include/configs/MERGERBOX.h
+F:     configs/MERGERBOX_defconfig
diff --git a/board/matrix_vision/mvbc_p/Kconfig b/board/matrix_vision/mvbc_p/Kconfig
new file mode 100644 (file)
index 0000000..ab1fe65
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MVBC_P
+
+config SYS_BOARD
+       string
+       default "mvbc_p"
+
+config SYS_VENDOR
+       string
+       default "matrix_vision"
+
+config SYS_CONFIG_NAME
+       string
+       default "MVBC_P"
+
+endif
diff --git a/board/matrix_vision/mvbc_p/MAINTAINERS b/board/matrix_vision/mvbc_p/MAINTAINERS
new file mode 100644 (file)
index 0000000..9e76b57
--- /dev/null
@@ -0,0 +1,6 @@
+MVBC_P BOARD
+M:     Andre Schwarz <andre.schwarz@matrix-vision.de>
+S:     Orphan (since 2014-03)
+F:     board/matrix_vision/mvbc_p/
+F:     include/configs/MVBC_P.h
+F:     configs/MVBC_P_defconfig
diff --git a/board/matrix_vision/mvblm7/Kconfig b/board/matrix_vision/mvblm7/Kconfig
new file mode 100644 (file)
index 0000000..c5998b3
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MVBLM7
+
+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/mvblm7/MAINTAINERS b/board/matrix_vision/mvblm7/MAINTAINERS
new file mode 100644 (file)
index 0000000..4f7ca50
--- /dev/null
@@ -0,0 +1,6 @@
+MVBLM7 BOARD
+M:     Andre Schwarz <andre.schwarz@matrix-vision.de>
+S:     Orphan (since 2014-03)
+F:     board/matrix_vision/mvblm7/
+F:     include/configs/MVBLM7.h
+F:     configs/MVBLM7_defconfig
diff --git a/board/matrix_vision/mvblx/Kconfig b/board/matrix_vision/mvblx/Kconfig
new file mode 100644 (file)
index 0000000..d89c1e3
--- /dev/null
@@ -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/mvblx/MAINTAINERS b/board/matrix_vision/mvblx/MAINTAINERS
new file mode 100644 (file)
index 0000000..2f9a153
--- /dev/null
@@ -0,0 +1,6 @@
+MVBLX BOARD
+M:     Michael Jones <michael.jones@matrix-vision.de>
+S:     Maintained
+F:     board/matrix_vision/mvblx/
+F:     include/configs/omap3_mvblx.h
+F:     configs/omap3_mvblx_defconfig
diff --git a/board/matrix_vision/mvsmr/Kconfig b/board/matrix_vision/mvsmr/Kconfig
new file mode 100644 (file)
index 0000000..1627a36
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MVSMR
+
+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/matrix_vision/mvsmr/MAINTAINERS b/board/matrix_vision/mvsmr/MAINTAINERS
new file mode 100644 (file)
index 0000000..9659730
--- /dev/null
@@ -0,0 +1,6 @@
+MVSMR BOARD
+M:     Andre Schwarz <andre.schwarz@matrix-vision.de>
+S:     Orphan (since 2014-03)
+F:     board/matrix_vision/mvsmr/
+F:     include/configs/MVSMR.h
+F:     configs/MVSMR_defconfig
diff --git a/board/mcc200/Kconfig b/board/mcc200/Kconfig
new file mode 100644 (file)
index 0000000..c4e8cf1
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_MCC200
+
+config SYS_BOARD
+       string
+       default "mcc200"
+
+config SYS_CONFIG_NAME
+       string
+       default "mcc200"
+
+endif
diff --git a/board/mcc200/MAINTAINERS b/board/mcc200/MAINTAINERS
new file mode 100644 (file)
index 0000000..3d02bc6
--- /dev/null
@@ -0,0 +1,17 @@
+MCC200 BOARD
+M:     -
+S:     Maintained
+F:     board/mcc200/
+F:     include/configs/mcc200.h
+F:     configs/mcc200_defconfig
+F:     configs/mcc200_COM12_defconfig
+F:     configs/mcc200_COM12_highboot_defconfig
+F:     configs/mcc200_COM12_highboot_SDRAM_defconfig
+F:     configs/mcc200_COM12_SDRAM_defconfig
+F:     configs/mcc200_highboot_defconfig
+F:     configs/mcc200_highboot_SDRAM_defconfig
+F:     configs/mcc200_SDRAM_defconfig
+F:     configs/prs200_defconfig
+F:     configs/prs200_DDR_defconfig
+F:     configs/prs200_highboot_defconfig
+F:     configs/prs200_highboot_DDR_defconfig
diff --git a/board/micronas/vct/Kconfig b/board/micronas/vct/Kconfig
new file mode 100644 (file)
index 0000000..76c5f7c
--- /dev/null
@@ -0,0 +1,19 @@
+if TARGET_VCT
+
+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"
+
+endif
diff --git a/board/micronas/vct/MAINTAINERS b/board/micronas/vct/MAINTAINERS
new file mode 100644 (file)
index 0000000..4b825d3
--- /dev/null
@@ -0,0 +1,17 @@
+VCT BOARD
+M:     -
+S:     Maintained
+F:     board/micronas/vct/
+F:     include/configs/vct.h
+F:     configs/vct_platinum_defconfig
+F:     configs/vct_platinum_onenand_defconfig
+F:     configs/vct_platinum_onenand_small_defconfig
+F:     configs/vct_platinum_small_defconfig
+F:     configs/vct_platinumavc_defconfig
+F:     configs/vct_platinumavc_onenand_defconfig
+F:     configs/vct_platinumavc_onenand_small_defconfig
+F:     configs/vct_platinumavc_small_defconfig
+F:     configs/vct_premium_defconfig
+F:     configs/vct_premium_onenand_defconfig
+F:     configs/vct_premium_onenand_small_defconfig
+F:     configs/vct_premium_small_defconfig
diff --git a/board/mimc/mimc200/Kconfig b/board/mimc/mimc200/Kconfig
new file mode 100644 (file)
index 0000000..146c3b7
--- /dev/null
@@ -0,0 +1,19 @@
+if TARGET_MIMC200
+
+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/mimc/mimc200/MAINTAINERS b/board/mimc/mimc200/MAINTAINERS
new file mode 100644 (file)
index 0000000..6cb51dd
--- /dev/null
@@ -0,0 +1,6 @@
+MIMC200 BOARD
+M:     Mark Jackson <mpfj@mimc.co.uk>
+S:     Maintained
+F:     board/mimc/mimc200/
+F:     include/configs/mimc200.h
+F:     configs/mimc200_defconfig
diff --git a/board/miromico/hammerhead/Kconfig b/board/miromico/hammerhead/Kconfig
new file mode 100644 (file)
index 0000000..9795e55
--- /dev/null
@@ -0,0 +1,19 @@
+if TARGET_HAMMERHEAD
+
+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/miromico/hammerhead/MAINTAINERS b/board/miromico/hammerhead/MAINTAINERS
new file mode 100644 (file)
index 0000000..a87ceee
--- /dev/null
@@ -0,0 +1,6 @@
+HAMMERHEAD BOARD
+M:     Alex Raimondi <alex.raimondi@miromico.ch>
+S:     Maintained
+F:     board/miromico/hammerhead/
+F:     include/configs/hammerhead.h
+F:     configs/hammerhead_defconfig
diff --git a/board/mosaixtech/icon/Kconfig b/board/mosaixtech/icon/Kconfig
new file mode 100644 (file)
index 0000000..c439b14
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_ICON
+
+config SYS_BOARD
+       string
+       default "icon"
+
+config SYS_VENDOR
+       string
+       default "mosaixtech"
+
+config SYS_CONFIG_NAME
+       string
+       default "icon"
+
+endif
diff --git a/board/mosaixtech/icon/MAINTAINERS b/board/mosaixtech/icon/MAINTAINERS
new file mode 100644 (file)
index 0000000..f3af072
--- /dev/null
@@ -0,0 +1,6 @@
+ICON BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/mosaixtech/icon/
+F:     include/configs/icon.h
+F:     configs/icon_defconfig
diff --git a/board/motionpro/Kconfig b/board/motionpro/Kconfig
new file mode 100644 (file)
index 0000000..c8ee043
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_MOTIONPRO
+
+config SYS_BOARD
+       string
+       default "motionpro"
+
+config SYS_CONFIG_NAME
+       string
+       default "motionpro"
+
+endif
diff --git a/board/motionpro/MAINTAINERS b/board/motionpro/MAINTAINERS
new file mode 100644 (file)
index 0000000..10a97cc
--- /dev/null
@@ -0,0 +1,6 @@
+MOTIONPRO BOARD
+M:     -
+S:     Maintained
+F:     board/motionpro/
+F:     include/configs/motionpro.h
+F:     configs/motionpro_defconfig
diff --git a/board/mpc8308_p1m/Kconfig b/board/mpc8308_p1m/Kconfig
new file mode 100644 (file)
index 0000000..6e84bdf
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_MPC8308_P1M
+
+config SYS_BOARD
+       string
+       default "mpc8308_p1m"
+
+config SYS_CONFIG_NAME
+       string
+       default "mpc8308_p1m"
+
+endif
diff --git a/board/mpc8308_p1m/MAINTAINERS b/board/mpc8308_p1m/MAINTAINERS
new file mode 100644 (file)
index 0000000..80d8de7
--- /dev/null
@@ -0,0 +1,6 @@
+MPC8308_P1M BOARD
+M:     Ilya Yanok <yanok@emcraft.com>
+S:     Maintained
+F:     board/mpc8308_p1m/
+F:     include/configs/mpc8308_p1m.h
+F:     configs/mpc8308_p1m_defconfig
diff --git a/board/mpl/mip405/Kconfig b/board/mpl/mip405/Kconfig
new file mode 100644 (file)
index 0000000..6705260
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MIP405
+
+config SYS_BOARD
+       string
+       default "mip405"
+
+config SYS_VENDOR
+       string
+       default "mpl"
+
+config SYS_CONFIG_NAME
+       string
+       default "MIP405"
+
+endif
diff --git a/board/mpl/mip405/MAINTAINERS b/board/mpl/mip405/MAINTAINERS
new file mode 100644 (file)
index 0000000..b323e5a
--- /dev/null
@@ -0,0 +1,7 @@
+MIP405 BOARD
+M:     Denis Peter <d.peter@mpl.ch>
+S:     Maintained
+F:     board/mpl/mip405/
+F:     include/configs/MIP405.h
+F:     configs/MIP405_defconfig
+F:     configs/MIP405T_defconfig
diff --git a/board/mpl/pati/Kconfig b/board/mpl/pati/Kconfig
new file mode 100644 (file)
index 0000000..b902cbd
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_PATI
+
+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/pati/MAINTAINERS b/board/mpl/pati/MAINTAINERS
new file mode 100644 (file)
index 0000000..f7c1bd8
--- /dev/null
@@ -0,0 +1,6 @@
+PATI BOARD
+M:     -
+S:     Maintained
+F:     board/mpl/pati/
+F:     include/configs/PATI.h
+F:     configs/PATI_defconfig
diff --git a/board/mpl/pip405/Kconfig b/board/mpl/pip405/Kconfig
new file mode 100644 (file)
index 0000000..1e1295b
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_PIP405
+
+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/pip405/MAINTAINERS b/board/mpl/pip405/MAINTAINERS
new file mode 100644 (file)
index 0000000..9b3b974
--- /dev/null
@@ -0,0 +1,6 @@
+PIP405 BOARD
+M:     Denis Peter <d.peter@mpl.ch>
+S:     Maintained
+F:     board/mpl/pip405/
+F:     include/configs/PIP405.h
+F:     configs/PIP405_defconfig
diff --git a/board/mpl/vcma9/Kconfig b/board/mpl/vcma9/Kconfig
new file mode 100644 (file)
index 0000000..91246be
--- /dev/null
@@ -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/mpl/vcma9/MAINTAINERS b/board/mpl/vcma9/MAINTAINERS
new file mode 100644 (file)
index 0000000..3817436
--- /dev/null
@@ -0,0 +1,6 @@
+VCMA9 BOARD
+M:     David Müller <d.mueller@elsoft.ch>
+S:     Maintained
+F:     board/mpl/vcma9/
+F:     include/configs/VCMA9.h
+F:     configs/VCMA9_defconfig
diff --git a/board/mpr2/Kconfig b/board/mpr2/Kconfig
new file mode 100644 (file)
index 0000000..93bec59
--- /dev/null
@@ -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/mpr2/MAINTAINERS b/board/mpr2/MAINTAINERS
new file mode 100644 (file)
index 0000000..beedf8d
--- /dev/null
@@ -0,0 +1,6 @@
+MPR2 BOARD
+M:     Mark Jonas <mark.jonas@de.bosch.com>
+S:     Maintained
+F:     board/mpr2/
+F:     include/configs/mpr2.h
+F:     configs/mpr2_defconfig
diff --git a/board/ms7720se/Kconfig b/board/ms7720se/Kconfig
new file mode 100644 (file)
index 0000000..8873062
--- /dev/null
@@ -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/ms7720se/MAINTAINERS b/board/ms7720se/MAINTAINERS
new file mode 100644 (file)
index 0000000..96a80f4
--- /dev/null
@@ -0,0 +1,6 @@
+MS7720SE BOARD
+M:     Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
+S:     Maintained
+F:     board/ms7720se/
+F:     include/configs/ms7720se.h
+F:     configs/ms7720se_defconfig
diff --git a/board/ms7722se/Kconfig b/board/ms7722se/Kconfig
new file mode 100644 (file)
index 0000000..c5b5b4f
--- /dev/null
@@ -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/ms7722se/MAINTAINERS b/board/ms7722se/MAINTAINERS
new file mode 100644 (file)
index 0000000..61614ba
--- /dev/null
@@ -0,0 +1,7 @@
+MS7722SE BOARD
+M:     Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
+M:     Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+S:     Maintained
+F:     board/ms7722se/
+F:     include/configs/ms7722se.h
+F:     configs/ms7722se_defconfig
diff --git a/board/ms7750se/Kconfig b/board/ms7750se/Kconfig
new file mode 100644 (file)
index 0000000..0c9d88f
--- /dev/null
@@ -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/ms7750se/MAINTAINERS b/board/ms7750se/MAINTAINERS
new file mode 100644 (file)
index 0000000..e23a532
--- /dev/null
@@ -0,0 +1,7 @@
+MS7750SE BOARD
+M:     Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
+M:     Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+S:     Maintained
+F:     board/ms7750se/
+F:     include/configs/ms7750se.h
+F:     configs/ms7750se_defconfig
diff --git a/board/muas3001/Kconfig b/board/muas3001/Kconfig
new file mode 100644 (file)
index 0000000..982d32f
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_MUAS3001
+
+config SYS_BOARD
+       string
+       default "muas3001"
+
+config SYS_CONFIG_NAME
+       string
+       default "muas3001"
+
+endif
diff --git a/board/muas3001/MAINTAINERS b/board/muas3001/MAINTAINERS
new file mode 100644 (file)
index 0000000..cfb5983
--- /dev/null
@@ -0,0 +1,7 @@
+MUAS3001 BOARD
+M:     Heiko Schocher <hs@denx.de>
+S:     Maintained
+F:     board/muas3001/
+F:     include/configs/muas3001.h
+F:     configs/muas3001_defconfig
+F:     configs/muas3001_dev_defconfig
diff --git a/board/munices/Kconfig b/board/munices/Kconfig
new file mode 100644 (file)
index 0000000..d242d56
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_MUNICES
+
+config SYS_BOARD
+       string
+       default "munices"
+
+config SYS_CONFIG_NAME
+       string
+       default "munices"
+
+endif
diff --git a/board/munices/MAINTAINERS b/board/munices/MAINTAINERS
new file mode 100644 (file)
index 0000000..b8f5761
--- /dev/null
@@ -0,0 +1,6 @@
+MUNICES BOARD
+M:     -
+S:     Maintained
+F:     board/munices/
+F:     include/configs/munices.h
+F:     configs/munices_defconfig
diff --git a/board/musenki/Kconfig b/board/musenki/Kconfig
new file mode 100644 (file)
index 0000000..ea33d16
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_MUSENKI
+
+config SYS_BOARD
+       string
+       default "musenki"
+
+config SYS_CONFIG_NAME
+       string
+       default "MUSENKI"
+
+endif
diff --git a/board/musenki/MAINTAINERS b/board/musenki/MAINTAINERS
new file mode 100644 (file)
index 0000000..03a1fe7
--- /dev/null
@@ -0,0 +1,6 @@
+MUSENKI BOARD
+M:     Jim Thompson <jim@musenki.com>
+S:     Orphan (since 2014-04)
+F:     board/musenki/
+F:     include/configs/MUSENKI.h
+F:     configs/MUSENKI_defconfig
diff --git a/board/mvblue/Kconfig b/board/mvblue/Kconfig
new file mode 100644 (file)
index 0000000..a70bcbe
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_MVBLUE
+
+config SYS_BOARD
+       string
+       default "mvblue"
+
+config SYS_CONFIG_NAME
+       string
+       default "MVBLUE"
+
+endif
diff --git a/board/mvblue/MAINTAINERS b/board/mvblue/MAINTAINERS
new file mode 100644 (file)
index 0000000..a809ba5
--- /dev/null
@@ -0,0 +1,6 @@
+MVBLUE BOARD
+M:     -
+S:     Maintained
+F:     board/mvblue/
+F:     include/configs/MVBLUE.h
+F:     configs/MVBLUE_defconfig
diff --git a/board/netvia/Kconfig b/board/netvia/Kconfig
new file mode 100644 (file)
index 0000000..d177b70
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_NETVIA
+
+config SYS_BOARD
+       string
+       default "netvia"
+
+config SYS_CONFIG_NAME
+       string
+       default "NETVIA"
+
+endif
diff --git a/board/netvia/MAINTAINERS b/board/netvia/MAINTAINERS
new file mode 100644 (file)
index 0000000..0313058
--- /dev/null
@@ -0,0 +1,7 @@
+NETVIA BOARD
+M:     Pantelis Antoniou <panto@intracom.gr>
+S:     Maintained
+F:     board/netvia/
+F:     include/configs/NETVIA.h
+F:     configs/NETVIA_defconfig
+F:     configs/NETVIA_V2_defconfig
diff --git a/board/nokia/rx51/Kconfig b/board/nokia/rx51/Kconfig
new file mode 100644 (file)
index 0000000..41d0daa
--- /dev/null
@@ -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/nokia/rx51/MAINTAINERS b/board/nokia/rx51/MAINTAINERS
new file mode 100644 (file)
index 0000000..8bdddc1
--- /dev/null
@@ -0,0 +1,6 @@
+RX51 BOARD
+M:     Pali Rohár <pali.rohar@gmail.com>
+S:     Maintained
+F:     board/nokia/rx51/
+F:     include/configs/nokia_rx51.h
+F:     configs/nokia_rx51_defconfig
diff --git a/board/nvidia/beaver/Kconfig b/board/nvidia/beaver/Kconfig
new file mode 100644 (file)
index 0000000..f052676
--- /dev/null
@@ -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/beaver/MAINTAINERS b/board/nvidia/beaver/MAINTAINERS
new file mode 100644 (file)
index 0000000..26bcacc
--- /dev/null
@@ -0,0 +1,7 @@
+BEAVER BOARD
+M:     Tom Warren <twarren@nvidia.com>
+M:     Stephen Warren <swarren@nvidia.com>
+S:     Maintained
+F:     board/nvidia/beaver/
+F:     include/configs/beaver.h
+F:     configs/beaver_defconfig
diff --git a/board/nvidia/cardhu/Kconfig b/board/nvidia/cardhu/Kconfig
new file mode 100644 (file)
index 0000000..9853114
--- /dev/null
@@ -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/cardhu/MAINTAINERS b/board/nvidia/cardhu/MAINTAINERS
new file mode 100644 (file)
index 0000000..d3c3e36
--- /dev/null
@@ -0,0 +1,6 @@
+CARDHU BOARD
+M:     Tom Warren <twarren@nvidia.com>
+S:     Maintained
+F:     board/nvidia/cardhu/
+F:     include/configs/cardhu.h
+F:     configs/cardhu_defconfig
diff --git a/board/nvidia/dalmore/Kconfig b/board/nvidia/dalmore/Kconfig
new file mode 100644 (file)
index 0000000..33b78db
--- /dev/null
@@ -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/dalmore/MAINTAINERS b/board/nvidia/dalmore/MAINTAINERS
new file mode 100644 (file)
index 0000000..fe86375
--- /dev/null
@@ -0,0 +1,6 @@
+DALMORE BOARD
+M:     Tom Warren <twarren@nvidia.com>
+S:     Maintained
+F:     board/nvidia/dalmore/
+F:     include/configs/dalmore.h
+F:     configs/dalmore_defconfig
diff --git a/board/nvidia/harmony/Kconfig b/board/nvidia/harmony/Kconfig
new file mode 100644 (file)
index 0000000..2a3bde4
--- /dev/null
@@ -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/harmony/MAINTAINERS b/board/nvidia/harmony/MAINTAINERS
new file mode 100644 (file)
index 0000000..f3508ed
--- /dev/null
@@ -0,0 +1,6 @@
+HARMONY BOARD
+M:     Tom Warren <twarren@nvidia.com>
+S:     Maintained
+F:     board/nvidia/harmony/
+F:     include/configs/harmony.h
+F:     configs/harmony_defconfig
diff --git a/board/nvidia/jetson-tk1/Kconfig b/board/nvidia/jetson-tk1/Kconfig
new file mode 100644 (file)
index 0000000..22b4c69
--- /dev/null
@@ -0,0 +1,24 @@
+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"
+
+endif
diff --git a/board/nvidia/jetson-tk1/MAINTAINERS b/board/nvidia/jetson-tk1/MAINTAINERS
new file mode 100644 (file)
index 0000000..a5c687d
--- /dev/null
@@ -0,0 +1,6 @@
+JETSON-TK1 BOARD
+M:     Stephen Warren <swarren@nvidia.com>
+S:     Maintained
+F:     board/nvidia/jetson-tk1/
+F:     include/configs/jetson-tk1.h
+F:     configs/jetson-tk1_defconfig
diff --git a/board/nvidia/seaboard/Kconfig b/board/nvidia/seaboard/Kconfig
new file mode 100644 (file)
index 0000000..39c65b5
--- /dev/null
@@ -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/seaboard/MAINTAINERS b/board/nvidia/seaboard/MAINTAINERS
new file mode 100644 (file)
index 0000000..7926ca1
--- /dev/null
@@ -0,0 +1,6 @@
+SEABOARD BOARD
+M:     Tom Warren <twarren@nvidia.com>
+S:     Maintained
+F:     board/nvidia/seaboard/
+F:     include/configs/seaboard.h
+F:     configs/seaboard_defconfig
diff --git a/board/nvidia/venice2/Kconfig b/board/nvidia/venice2/Kconfig
new file mode 100644 (file)
index 0000000..84a7160
--- /dev/null
@@ -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/venice2/MAINTAINERS b/board/nvidia/venice2/MAINTAINERS
new file mode 100644 (file)
index 0000000..221df65
--- /dev/null
@@ -0,0 +1,6 @@
+VENICE2 BOARD
+M:     Tom Warren <twarren@nvidia.com>
+S:     Maintained
+F:     board/nvidia/venice2/
+F:     include/configs/venice2.h
+F:     configs/venice2_defconfig
diff --git a/board/nvidia/ventana/Kconfig b/board/nvidia/ventana/Kconfig
new file mode 100644 (file)
index 0000000..59e85c4
--- /dev/null
@@ -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/ventana/MAINTAINERS b/board/nvidia/ventana/MAINTAINERS
new file mode 100644 (file)
index 0000000..285b84d
--- /dev/null
@@ -0,0 +1,7 @@
+VENTANA BOARD
+M:     Tom Warren <twarren@nvidia.com>
+M:     Stephen Warren <swarren@nvidia.com>
+S:     Maintained
+F:     board/nvidia/ventana/
+F:     include/configs/ventana.h
+F:     configs/ventana_defconfig
diff --git a/board/nvidia/whistler/Kconfig b/board/nvidia/whistler/Kconfig
new file mode 100644 (file)
index 0000000..f025413
--- /dev/null
@@ -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/nvidia/whistler/MAINTAINERS b/board/nvidia/whistler/MAINTAINERS
new file mode 100644 (file)
index 0000000..66e2c8d
--- /dev/null
@@ -0,0 +1,7 @@
+WHISTLER BOARD
+M:     Tom Warren <twarren@nvidia.com>
+M:     Stephen Warren <swarren@nvidia.com>
+S:     Maintained
+F:     board/nvidia/whistler/
+F:     include/configs/whistler.h
+F:     configs/whistler_defconfig
diff --git a/board/olimex/mx23_olinuxino/Kconfig b/board/olimex/mx23_olinuxino/Kconfig
new file mode 100644 (file)
index 0000000..07b3284
--- /dev/null
@@ -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/olimex/mx23_olinuxino/MAINTAINERS b/board/olimex/mx23_olinuxino/MAINTAINERS
new file mode 100644 (file)
index 0000000..25f4a10
--- /dev/null
@@ -0,0 +1,6 @@
+MX23_OLINUXINO BOARD
+M:     Marek Vasut <marek.vasut@gmail.com>
+S:     Maintained
+F:     board/olimex/mx23_olinuxino/
+F:     include/configs/mx23_olinuxino.h
+F:     configs/mx23_olinuxino_defconfig
diff --git a/board/omicron/calimain/Kconfig b/board/omicron/calimain/Kconfig
new file mode 100644 (file)
index 0000000..923af8a
--- /dev/null
@@ -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/omicron/calimain/MAINTAINERS b/board/omicron/calimain/MAINTAINERS
new file mode 100644 (file)
index 0000000..f6e37a2
--- /dev/null
@@ -0,0 +1,7 @@
+CALIMAIN BOARD
+M:     Manfred Rudigier <manfred.rudigier@omicron.at>
+M:     Christian Riesch <christian.riesch@omicron.at>
+S:     Maintained
+F:     board/omicron/calimain/
+F:     include/configs/calimain.h
+F:     configs/calimain_defconfig
diff --git a/board/openrisc/openrisc-generic/Kconfig b/board/openrisc/openrisc-generic/Kconfig
new file mode 100644 (file)
index 0000000..71a8246
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_OPENRISC_GENERIC
+
+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/openrisc/openrisc-generic/MAINTAINERS b/board/openrisc/openrisc-generic/MAINTAINERS
new file mode 100644 (file)
index 0000000..c8dbc74
--- /dev/null
@@ -0,0 +1,6 @@
+OPENRISC-GENERIC BOARD
+M:     Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
+S:     Maintained
+F:     board/openrisc/openrisc-generic/
+F:     include/configs/openrisc-generic.h
+F:     configs/openrisc-generic_defconfig
diff --git a/board/overo/Kconfig b/board/overo/Kconfig
new file mode 100644 (file)
index 0000000..1d4a261
--- /dev/null
@@ -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/overo/MAINTAINERS b/board/overo/MAINTAINERS
new file mode 100644 (file)
index 0000000..8f089e8
--- /dev/null
@@ -0,0 +1,6 @@
+OVERO BOARD
+M:     Steve Sakoman <sakoman@gmail.com>
+S:     Maintained
+F:     board/overo/
+F:     include/configs/omap3_overo.h
+F:     configs/omap3_overo_defconfig
diff --git a/board/palmld/Kconfig b/board/palmld/Kconfig
new file mode 100644 (file)
index 0000000..bed99b6
--- /dev/null
@@ -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/palmld/MAINTAINERS b/board/palmld/MAINTAINERS
new file mode 100644 (file)
index 0000000..7d21b7b
--- /dev/null
@@ -0,0 +1,6 @@
+PALMLD BOARD
+M:     Marek Vasut <marek.vasut@gmail.com>
+S:     Maintained
+F:     board/palmld/
+F:     include/configs/palmld.h
+F:     configs/palmld_defconfig
diff --git a/board/palmtc/Kconfig b/board/palmtc/Kconfig
new file mode 100644 (file)
index 0000000..86fb63b
--- /dev/null
@@ -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/palmtc/MAINTAINERS b/board/palmtc/MAINTAINERS
new file mode 100644 (file)
index 0000000..57b6a22
--- /dev/null
@@ -0,0 +1,6 @@
+PALMTC BOARD
+M:     Marek Vasut <marek.vasut@gmail.com>
+S:     Maintained
+F:     board/palmtc/
+F:     include/configs/palmtc.h
+F:     configs/palmtc_defconfig
diff --git a/board/palmtreo680/Kconfig b/board/palmtreo680/Kconfig
new file mode 100644 (file)
index 0000000..4df6c63
--- /dev/null
@@ -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/palmtreo680/MAINTAINERS b/board/palmtreo680/MAINTAINERS
new file mode 100644 (file)
index 0000000..bdc034e
--- /dev/null
@@ -0,0 +1,6 @@
+PALMTREO680 BOARD
+M:     Mike Dunn <mikedunn@newsguy.com>
+S:     Orphan (since 2014-06)
+F:     board/palmtreo680/
+F:     include/configs/palmtreo680.h
+F:     configs/palmtreo680_defconfig
diff --git a/board/pandora/Kconfig b/board/pandora/Kconfig
new file mode 100644 (file)
index 0000000..a36c0c8
--- /dev/null
@@ -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/pandora/MAINTAINERS b/board/pandora/MAINTAINERS
new file mode 100644 (file)
index 0000000..e123517
--- /dev/null
@@ -0,0 +1,6 @@
+PANDORA BOARD
+M:     Grazvydas Ignotas <notasas@gmail.com>
+S:     Maintained
+F:     board/pandora/
+F:     include/configs/omap3_pandora.h
+F:     configs/omap3_pandora_defconfig
diff --git a/board/pb1x00/Kconfig b/board/pb1x00/Kconfig
new file mode 100644 (file)
index 0000000..0ad3f23
--- /dev/null
@@ -0,0 +1,19 @@
+if TARGET_PB1X00
+
+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"
+
+endif
diff --git a/board/pb1x00/MAINTAINERS b/board/pb1x00/MAINTAINERS
new file mode 100644 (file)
index 0000000..6c5c2bb
--- /dev/null
@@ -0,0 +1,6 @@
+PB1X00 BOARD
+M:     -
+S:     Maintained
+F:     board/pb1x00/
+F:     include/configs/pb1x00.h
+F:     configs/pb1000_defconfig
diff --git a/board/pcs440ep/Kconfig b/board/pcs440ep/Kconfig
new file mode 100644 (file)
index 0000000..7e69fd3
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_PCS440EP
+
+config SYS_BOARD
+       string
+       default "pcs440ep"
+
+config SYS_CONFIG_NAME
+       string
+       default "pcs440ep"
+
+endif
diff --git a/board/pcs440ep/MAINTAINERS b/board/pcs440ep/MAINTAINERS
new file mode 100644 (file)
index 0000000..6eccc85
--- /dev/null
@@ -0,0 +1,6 @@
+PCS440EP BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/pcs440ep/
+F:     include/configs/pcs440ep.h
+F:     configs/pcs440ep_defconfig
diff --git a/board/pdm360ng/Kconfig b/board/pdm360ng/Kconfig
new file mode 100644 (file)
index 0000000..e7a8985
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_PDM360NG
+
+config SYS_BOARD
+       string
+       default "pdm360ng"
+
+config SYS_CONFIG_NAME
+       string
+       default "pdm360ng"
+
+endif
diff --git a/board/pdm360ng/MAINTAINERS b/board/pdm360ng/MAINTAINERS
new file mode 100644 (file)
index 0000000..5c99f59
--- /dev/null
@@ -0,0 +1,6 @@
+PDM360NG BOARD
+M:     Michael Weiss <michael.weiss@ifm.com>
+S:     Maintained
+F:     board/pdm360ng/
+F:     include/configs/pdm360ng.h
+F:     configs/pdm360ng_defconfig
diff --git a/board/phytec/pcm030/Kconfig b/board/phytec/pcm030/Kconfig
new file mode 100644 (file)
index 0000000..6eea7e8
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_PCM030
+
+config SYS_BOARD
+       string
+       default "pcm030"
+
+config SYS_VENDOR
+       string
+       default "phytec"
+
+config SYS_CONFIG_NAME
+       string
+       default "pcm030"
+
+endif
diff --git a/board/phytec/pcm030/MAINTAINERS b/board/phytec/pcm030/MAINTAINERS
new file mode 100644 (file)
index 0000000..4e2ab0d
--- /dev/null
@@ -0,0 +1,7 @@
+PCM030 BOARD
+M:     Jon Smirl <jonsmirl@gmail.com>
+S:     Maintained
+F:     board/phytec/pcm030/
+F:     include/configs/pcm030.h
+F:     configs/pcm030_defconfig
+F:     configs/pcm030_LOWBOOT_defconfig
diff --git a/board/phytec/pcm051/Kconfig b/board/phytec/pcm051/Kconfig
new file mode 100644 (file)
index 0000000..e710445
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_PCM051
+
+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"
+
+endif
diff --git a/board/phytec/pcm051/MAINTAINERS b/board/phytec/pcm051/MAINTAINERS
new file mode 100644 (file)
index 0000000..18ea636
--- /dev/null
@@ -0,0 +1,7 @@
+PCM051 BOARD
+M:     Lars Poeschel <poeschel@lemonage.de>
+S:     Maintained
+F:     board/phytec/pcm051/
+F:     include/configs/pcm051.h
+F:     configs/pcm051_rev1_defconfig
+F:     configs/pcm051_rev3_defconfig
diff --git a/board/pm520/Kconfig b/board/pm520/Kconfig
new file mode 100644 (file)
index 0000000..d32f857
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_PM520
+
+config SYS_BOARD
+       string
+       default "pm520"
+
+config SYS_CONFIG_NAME
+       string
+       default "PM520"
+
+endif
diff --git a/board/pm520/MAINTAINERS b/board/pm520/MAINTAINERS
new file mode 100644 (file)
index 0000000..7b255bc
--- /dev/null
@@ -0,0 +1,9 @@
+PM520 BOARD
+M:     Josef Wagner <Wagner@Microsys.de>
+S:     Maintained
+F:     board/pm520/
+F:     include/configs/PM520.h
+F:     configs/PM520_defconfig
+F:     configs/PM520_DDR_defconfig
+F:     configs/PM520_ROMBOOT_defconfig
+F:     configs/PM520_ROMBOOT_DDR_defconfig
diff --git a/board/pm826/Kconfig b/board/pm826/Kconfig
new file mode 100644 (file)
index 0000000..f1de16a
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_PM826
+
+config SYS_BOARD
+       string
+       default "pm826"
+
+config SYS_CONFIG_NAME
+       string
+       default "PM826"
+
+endif
diff --git a/board/pm826/MAINTAINERS b/board/pm826/MAINTAINERS
new file mode 100644 (file)
index 0000000..41df4c9
--- /dev/null
@@ -0,0 +1,13 @@
+PM826 BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/pm826/
+F:     include/configs/PM826.h
+F:     configs/PM825_defconfig
+F:     configs/PM825_BIGFLASH_defconfig
+F:     configs/PM825_ROMBOOT_defconfig
+F:     configs/PM825_ROMBOOT_BIGFLASH_defconfig
+F:     configs/PM826_defconfig
+F:     configs/PM826_BIGFLASH_defconfig
+F:     configs/PM826_ROMBOOT_defconfig
+F:     configs/PM826_ROMBOOT_BIGFLASH_defconfig
diff --git a/board/pm828/Kconfig b/board/pm828/Kconfig
new file mode 100644 (file)
index 0000000..20f6b34
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_PM828
+
+config SYS_BOARD
+       string
+       default "pm828"
+
+config SYS_CONFIG_NAME
+       string
+       default "PM828"
+
+endif
diff --git a/board/pm828/MAINTAINERS b/board/pm828/MAINTAINERS
new file mode 100644 (file)
index 0000000..767a84d
--- /dev/null
@@ -0,0 +1,9 @@
+PM828 BOARD
+M:     -
+S:     Maintained
+F:     board/pm828/
+F:     include/configs/PM828.h
+F:     configs/PM828_defconfig
+F:     configs/PM828_PCI_defconfig
+F:     configs/PM828_ROMBOOT_defconfig
+F:     configs/PM828_ROMBOOT_PCI_defconfig
diff --git a/board/ppcag/bg0900/Kconfig b/board/ppcag/bg0900/Kconfig
new file mode 100644 (file)
index 0000000..e4fb601
--- /dev/null
@@ -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/ppcag/bg0900/MAINTAINERS b/board/ppcag/bg0900/MAINTAINERS
new file mode 100644 (file)
index 0000000..853c0d5
--- /dev/null
@@ -0,0 +1,6 @@
+BG0900 BOARD
+M:     Marek Vasut <marex@denx.de>
+S:     Maintained
+F:     board/ppcag/bg0900/
+F:     include/configs/bg0900.h
+F:     configs/bg0900_defconfig
diff --git a/board/ppmc7xx/Kconfig b/board/ppmc7xx/Kconfig
new file mode 100644 (file)
index 0000000..a28ab98
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_PPMC7XX
+
+config SYS_BOARD
+       string
+       default "ppmc7xx"
+
+config SYS_CONFIG_NAME
+       string
+       default "ppmc7xx"
+
+endif
diff --git a/board/ppmc7xx/MAINTAINERS b/board/ppmc7xx/MAINTAINERS
new file mode 100644 (file)
index 0000000..5b21aa7
--- /dev/null
@@ -0,0 +1,6 @@
+PPMC7XX BOARD
+M:     -
+S:     Maintained
+F:     board/ppmc7xx/
+F:     include/configs/ppmc7xx.h
+F:     configs/ppmc7xx_defconfig
diff --git a/board/ppmc8260/Kconfig b/board/ppmc8260/Kconfig
new file mode 100644 (file)
index 0000000..e2e8793
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_PPMC8260
+
+config SYS_BOARD
+       string
+       default "ppmc8260"
+
+config SYS_CONFIG_NAME
+       string
+       default "ppmc8260"
+
+endif
diff --git a/board/ppmc8260/MAINTAINERS b/board/ppmc8260/MAINTAINERS
new file mode 100644 (file)
index 0000000..768d092
--- /dev/null
@@ -0,0 +1,6 @@
+PPMC8260 BOARD
+M:     Brad Kemp <Brad.Kemp@seranoa.com>
+S:     Orphan (since 2014-04)
+F:     board/ppmc8260/
+F:     include/configs/ppmc8260.h
+F:     configs/ppmc8260_defconfig
diff --git a/board/pr1/Kconfig b/board/pr1/Kconfig
new file mode 100644 (file)
index 0000000..2d80cd4
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_PR1
+
+config SYS_BOARD
+       string
+       default "pr1"
+
+config SYS_CONFIG_NAME
+       string
+       default "pr1"
+
+endif
diff --git a/board/pr1/MAINTAINERS b/board/pr1/MAINTAINERS
new file mode 100644 (file)
index 0000000..23fdbc7
--- /dev/null
@@ -0,0 +1,6 @@
+PR1 BOARD
+M:     Dimitar Penev <dpn@switchfin.org>
+S:     Maintained
+F:     board/pr1/
+F:     include/configs/pr1.h
+F:     configs/pr1_defconfig
diff --git a/board/prodrive/alpr/Kconfig b/board/prodrive/alpr/Kconfig
new file mode 100644 (file)
index 0000000..6e99fc7
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_ALPR
+
+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/alpr/MAINTAINERS b/board/prodrive/alpr/MAINTAINERS
new file mode 100644 (file)
index 0000000..31baabb
--- /dev/null
@@ -0,0 +1,6 @@
+ALPR BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/prodrive/alpr/
+F:     include/configs/alpr.h
+F:     configs/alpr_defconfig
diff --git a/board/prodrive/p3mx/Kconfig b/board/prodrive/p3mx/Kconfig
new file mode 100644 (file)
index 0000000..89dcba0
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_P3MX
+
+config SYS_BOARD
+       string
+       default "p3mx"
+
+config SYS_VENDOR
+       string
+       default "prodrive"
+
+config SYS_CONFIG_NAME
+       string
+       default "p3mx"
+
+endif
diff --git a/board/prodrive/p3mx/MAINTAINERS b/board/prodrive/p3mx/MAINTAINERS
new file mode 100644 (file)
index 0000000..e60fdb6
--- /dev/null
@@ -0,0 +1,7 @@
+P3MX BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/prodrive/p3mx/
+F:     include/configs/p3mx.h
+F:     configs/p3m7448_defconfig
+F:     configs/p3m750_defconfig
diff --git a/board/prodrive/p3p440/Kconfig b/board/prodrive/p3p440/Kconfig
new file mode 100644 (file)
index 0000000..a0eabe1
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_P3P440
+
+config SYS_BOARD
+       string
+       default "p3p440"
+
+config SYS_VENDOR
+       string
+       default "prodrive"
+
+config SYS_CONFIG_NAME
+       string
+       default "p3p440"
+
+endif
diff --git a/board/prodrive/p3p440/MAINTAINERS b/board/prodrive/p3p440/MAINTAINERS
new file mode 100644 (file)
index 0000000..68fd1a9
--- /dev/null
@@ -0,0 +1,6 @@
+P3P440 BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/prodrive/p3p440/
+F:     include/configs/p3p440.h
+F:     configs/p3p440_defconfig
diff --git a/board/psyent/pci5441/Kconfig b/board/psyent/pci5441/Kconfig
new file mode 100644 (file)
index 0000000..d722f31
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_PCI5441
+
+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/pci5441/MAINTAINERS b/board/psyent/pci5441/MAINTAINERS
new file mode 100644 (file)
index 0000000..f1f10e9
--- /dev/null
@@ -0,0 +1,6 @@
+PCI5441 BOARD
+M:     Scott McNutt <smcnutt@psyent.com>
+S:     Maintained
+F:     board/psyent/pci5441/
+F:     include/configs/PCI5441.h
+F:     configs/PCI5441_defconfig
diff --git a/board/psyent/pk1c20/Kconfig b/board/psyent/pk1c20/Kconfig
new file mode 100644 (file)
index 0000000..75f6cd1
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_PK1C20
+
+config SYS_BOARD
+       string
+       default "pk1c20"
+
+config SYS_VENDOR
+       string
+       default "psyent"
+
+config SYS_CONFIG_NAME
+       string
+       default "PK1C20"
+
+endif
diff --git a/board/psyent/pk1c20/MAINTAINERS b/board/psyent/pk1c20/MAINTAINERS
new file mode 100644 (file)
index 0000000..32b901a
--- /dev/null
@@ -0,0 +1,6 @@
+PK1C20 BOARD
+M:     Scott McNutt <smcnutt@psyent.com>
+S:     Maintained
+F:     board/psyent/pk1c20/
+F:     include/configs/PK1C20.h
+F:     configs/PK1C20_defconfig
diff --git a/board/pxa255_idp/Kconfig b/board/pxa255_idp/Kconfig
new file mode 100644 (file)
index 0000000..e231f28
--- /dev/null
@@ -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/pxa255_idp/MAINTAINERS b/board/pxa255_idp/MAINTAINERS
new file mode 100644 (file)
index 0000000..24d7236
--- /dev/null
@@ -0,0 +1,6 @@
+PXA255_IDP BOARD
+M:     Cliff Brake <cliff.brake@gmail.com>
+S:     Maintained
+F:     board/pxa255_idp/
+F:     include/configs/pxa255_idp.h
+F:     configs/pxa255_idp_defconfig
diff --git a/board/qemu-mips/Kconfig b/board/qemu-mips/Kconfig
new file mode 100644 (file)
index 0000000..0ca816d
--- /dev/null
@@ -0,0 +1,31 @@
+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"
+
+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"
+
+endif
diff --git a/board/qemu-mips/MAINTAINERS b/board/qemu-mips/MAINTAINERS
new file mode 100644 (file)
index 0000000..079949a
--- /dev/null
@@ -0,0 +1,14 @@
+QEMU-MIPS BOARD
+M:     Vlad Lungu <vlad.lungu@windriver.com>
+S:     Maintained
+F:     board/qemu-mips/
+F:     include/configs/qemu-mips.h
+F:     configs/qemu_mips_defconfig
+
+QEMU_MIPSEL BOARD
+M:     -
+S:     Maintained
+F:     configs/qemu_mipsel_defconfig
+F:     include/configs/qemu-mips64.h
+F:     configs/qemu_mips64_defconfig
+F:     configs/qemu_mips64el_defconfig
diff --git a/board/r360mpi/Kconfig b/board/r360mpi/Kconfig
new file mode 100644 (file)
index 0000000..ea4614f
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_R360MPI
+
+config SYS_BOARD
+       string
+       default "r360mpi"
+
+config SYS_CONFIG_NAME
+       string
+       default "R360MPI"
+
+endif
diff --git a/board/r360mpi/MAINTAINERS b/board/r360mpi/MAINTAINERS
new file mode 100644 (file)
index 0000000..a67ab0c
--- /dev/null
@@ -0,0 +1,6 @@
+R360MPI BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/r360mpi/
+F:     include/configs/R360MPI.h
+F:     configs/R360MPI_defconfig
diff --git a/board/raidsonic/ib62x0/Kconfig b/board/raidsonic/ib62x0/Kconfig
new file mode 100644 (file)
index 0000000..1e667c4
--- /dev/null
@@ -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/raidsonic/ib62x0/MAINTAINERS b/board/raidsonic/ib62x0/MAINTAINERS
new file mode 100644 (file)
index 0000000..423aa0c
--- /dev/null
@@ -0,0 +1,6 @@
+IB62X0 BOARD
+M:     Luka Perkov <luka@openwrt.org>
+S:     Maintained
+F:     board/raidsonic/ib62x0/
+F:     include/configs/ib62x0.h
+F:     configs/ib62x0_defconfig
diff --git a/board/raspberrypi/rpi_b/Kconfig b/board/raspberrypi/rpi_b/Kconfig
new file mode 100644 (file)
index 0000000..6e99c91
--- /dev/null
@@ -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/raspberrypi/rpi_b/MAINTAINERS b/board/raspberrypi/rpi_b/MAINTAINERS
new file mode 100644 (file)
index 0000000..14f3948
--- /dev/null
@@ -0,0 +1,6 @@
+RPI_B BOARD
+M:     Stephen Warren <swarren@wwwdotorg.org>
+S:     Maintained
+F:     board/raspberrypi/rpi_b/
+F:     include/configs/rpi_b.h
+F:     configs/rpi_b_defconfig
diff --git a/board/renesas/MigoR/Kconfig b/board/renesas/MigoR/Kconfig
new file mode 100644 (file)
index 0000000..d72a453
--- /dev/null
@@ -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/MigoR/MAINTAINERS b/board/renesas/MigoR/MAINTAINERS
new file mode 100644 (file)
index 0000000..9368b05
--- /dev/null
@@ -0,0 +1,6 @@
+MIGOR BOARD
+M:     -
+S:     Maintained
+F:     board/renesas/MigoR/
+F:     include/configs/MigoR.h
+F:     configs/MigoR_defconfig
diff --git a/board/renesas/alt/Kconfig b/board/renesas/alt/Kconfig
new file mode 100644 (file)
index 0000000..d317025
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_ALT
+
+config SYS_CPU
+       string
+       default "armv7"
+
+config SYS_BOARD
+       string
+       default "alt"
+
+config SYS_VENDOR
+       string
+       default "renesas"
+
+config SYS_SOC
+       string
+       default "rmobile"
+
+config SYS_CONFIG_NAME
+       string
+       default "alt"
+
+endif
diff --git a/board/renesas/alt/MAINTAINERS b/board/renesas/alt/MAINTAINERS
new file mode 100644 (file)
index 0000000..6ec140b
--- /dev/null
@@ -0,0 +1,6 @@
+ALT BOARD
+M:     Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
+S:     Maintained
+F:     board/renesas/alt/
+F:     include/configs/alt.h
+F:     configs/alt_defconfig
diff --git a/board/renesas/ap325rxa/Kconfig b/board/renesas/ap325rxa/Kconfig
new file mode 100644 (file)
index 0000000..ac1e9ef
--- /dev/null
@@ -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/ap325rxa/MAINTAINERS b/board/renesas/ap325rxa/MAINTAINERS
new file mode 100644 (file)
index 0000000..bdc49c5
--- /dev/null
@@ -0,0 +1,7 @@
+AP325RXA BOARD
+M:     Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
+M:     Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+S:     Maintained
+F:     board/renesas/ap325rxa/
+F:     include/configs/ap325rxa.h
+F:     configs/ap325rxa_defconfig
diff --git a/board/renesas/ecovec/Kconfig b/board/renesas/ecovec/Kconfig
new file mode 100644 (file)
index 0000000..d62389e
--- /dev/null
@@ -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/ecovec/MAINTAINERS b/board/renesas/ecovec/MAINTAINERS
new file mode 100644 (file)
index 0000000..439b528
--- /dev/null
@@ -0,0 +1,7 @@
+ECOVEC BOARD
+M:     Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
+M:     Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+S:     Maintained
+F:     board/renesas/ecovec/
+F:     include/configs/ecovec.h
+F:     configs/ecovec_defconfig
diff --git a/board/renesas/koelsch/Kconfig b/board/renesas/koelsch/Kconfig
new file mode 100644 (file)
index 0000000..0def847
--- /dev/null
@@ -0,0 +1,23 @@
+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
diff --git a/board/renesas/koelsch/MAINTAINERS b/board/renesas/koelsch/MAINTAINERS
new file mode 100644 (file)
index 0000000..5267b9f
--- /dev/null
@@ -0,0 +1,6 @@
+KOELSCH BOARD
+M:     Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
+S:     Maintained
+F:     board/renesas/koelsch/
+F:     include/configs/koelsch.h
+F:     configs/koelsch_defconfig
diff --git a/board/renesas/lager/Kconfig b/board/renesas/lager/Kconfig
new file mode 100644 (file)
index 0000000..e88f4f6
--- /dev/null
@@ -0,0 +1,23 @@
+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
diff --git a/board/renesas/lager/MAINTAINERS b/board/renesas/lager/MAINTAINERS
new file mode 100644 (file)
index 0000000..a098686
--- /dev/null
@@ -0,0 +1,6 @@
+LAGER BOARD
+M:     Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
+S:     Maintained
+F:     board/renesas/lager/
+F:     include/configs/lager.h
+F:     configs/lager_defconfig
diff --git a/board/renesas/r0p7734/Kconfig b/board/renesas/r0p7734/Kconfig
new file mode 100644 (file)
index 0000000..2eb1de2
--- /dev/null
@@ -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/r0p7734/MAINTAINERS b/board/renesas/r0p7734/MAINTAINERS
new file mode 100644 (file)
index 0000000..c169ad7
--- /dev/null
@@ -0,0 +1,7 @@
+R0P7734 BOARD
+M:     Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
+M:     Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+S:     Maintained
+F:     board/renesas/r0p7734/
+F:     include/configs/r0p7734.h
+F:     configs/r0p7734_defconfig
diff --git a/board/renesas/r2dplus/Kconfig b/board/renesas/r2dplus/Kconfig
new file mode 100644 (file)
index 0000000..d674d77
--- /dev/null
@@ -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/r2dplus/MAINTAINERS b/board/renesas/r2dplus/MAINTAINERS
new file mode 100644 (file)
index 0000000..58877c5
--- /dev/null
@@ -0,0 +1,7 @@
+R2DPLUS BOARD
+M:     Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
+M:     Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+S:     Maintained
+F:     board/renesas/r2dplus/
+F:     include/configs/r2dplus.h
+F:     configs/r2dplus_defconfig
diff --git a/board/renesas/r7780mp/Kconfig b/board/renesas/r7780mp/Kconfig
new file mode 100644 (file)
index 0000000..a862f59
--- /dev/null
@@ -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/r7780mp/MAINTAINERS b/board/renesas/r7780mp/MAINTAINERS
new file mode 100644 (file)
index 0000000..56ec21f
--- /dev/null
@@ -0,0 +1,7 @@
+R7780MP BOARD
+M:     Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
+M:     Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+S:     Maintained
+F:     board/renesas/r7780mp/
+F:     include/configs/r7780mp.h
+F:     configs/r7780mp_defconfig
diff --git a/board/renesas/rsk7203/Kconfig b/board/renesas/rsk7203/Kconfig
new file mode 100644 (file)
index 0000000..61e9913
--- /dev/null
@@ -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/rsk7203/MAINTAINERS b/board/renesas/rsk7203/MAINTAINERS
new file mode 100644 (file)
index 0000000..18d3663
--- /dev/null
@@ -0,0 +1,7 @@
+RSK7203 BOARD
+M:     Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
+M:     Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+S:     Maintained
+F:     board/renesas/rsk7203/
+F:     include/configs/rsk7203.h
+F:     configs/rsk7203_defconfig
diff --git a/board/renesas/rsk7264/Kconfig b/board/renesas/rsk7264/Kconfig
new file mode 100644 (file)
index 0000000..a32d3ca
--- /dev/null
@@ -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/rsk7264/MAINTAINERS b/board/renesas/rsk7264/MAINTAINERS
new file mode 100644 (file)
index 0000000..f6202b7
--- /dev/null
@@ -0,0 +1,6 @@
+RSK7264 BOARD
+M:     Phil Edworthy <phil.edworthy@renesas.com>
+S:     Maintained
+F:     board/renesas/rsk7264/
+F:     include/configs/rsk7264.h
+F:     configs/rsk7264_defconfig
diff --git a/board/renesas/rsk7269/Kconfig b/board/renesas/rsk7269/Kconfig
new file mode 100644 (file)
index 0000000..c126fcb
--- /dev/null
@@ -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/rsk7269/MAINTAINERS b/board/renesas/rsk7269/MAINTAINERS
new file mode 100644 (file)
index 0000000..d3c77c3
--- /dev/null
@@ -0,0 +1,6 @@
+RSK7269 BOARD
+M:     -
+S:     Maintained
+F:     board/renesas/rsk7269/
+F:     include/configs/rsk7269.h
+F:     configs/rsk7269_defconfig
diff --git a/board/renesas/sh7752evb/Kconfig b/board/renesas/sh7752evb/Kconfig
new file mode 100644 (file)
index 0000000..12e52b4
--- /dev/null
@@ -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/sh7752evb/MAINTAINERS b/board/renesas/sh7752evb/MAINTAINERS
new file mode 100644 (file)
index 0000000..8910669
--- /dev/null
@@ -0,0 +1,6 @@
+SH7752EVB BOARD
+M:     -
+S:     Maintained
+F:     board/renesas/sh7752evb/
+F:     include/configs/sh7752evb.h
+F:     configs/sh7752evb_defconfig
diff --git a/board/renesas/sh7753evb/Kconfig b/board/renesas/sh7753evb/Kconfig
new file mode 100644 (file)
index 0000000..a1f4cd0
--- /dev/null
@@ -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/sh7753evb/MAINTAINERS b/board/renesas/sh7753evb/MAINTAINERS
new file mode 100644 (file)
index 0000000..03e6c8c
--- /dev/null
@@ -0,0 +1,6 @@
+SH7753EVB BOARD
+M:     -
+S:     Maintained
+F:     board/renesas/sh7753evb/
+F:     include/configs/sh7753evb.h
+F:     configs/sh7753evb_defconfig
diff --git a/board/renesas/sh7757lcr/Kconfig b/board/renesas/sh7757lcr/Kconfig
new file mode 100644 (file)
index 0000000..a0e3265
--- /dev/null
@@ -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/sh7757lcr/MAINTAINERS b/board/renesas/sh7757lcr/MAINTAINERS
new file mode 100644 (file)
index 0000000..bbdd6d0
--- /dev/null
@@ -0,0 +1,6 @@
+SH7757LCR BOARD
+M:     -
+S:     Maintained
+F:     board/renesas/sh7757lcr/
+F:     include/configs/sh7757lcr.h
+F:     configs/sh7757lcr_defconfig
diff --git a/board/renesas/sh7763rdp/Kconfig b/board/renesas/sh7763rdp/Kconfig
new file mode 100644 (file)
index 0000000..fbc11af
--- /dev/null
@@ -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/sh7763rdp/MAINTAINERS b/board/renesas/sh7763rdp/MAINTAINERS
new file mode 100644 (file)
index 0000000..6ee8f9f
--- /dev/null
@@ -0,0 +1,7 @@
+SH7763RDP BOARD
+M:     Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
+M:     Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+S:     Maintained
+F:     board/renesas/sh7763rdp/
+F:     include/configs/sh7763rdp.h
+F:     configs/sh7763rdp_defconfig
diff --git a/board/renesas/sh7785lcr/Kconfig b/board/renesas/sh7785lcr/Kconfig
new file mode 100644 (file)
index 0000000..8939f7d
--- /dev/null
@@ -0,0 +1,19 @@
+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
diff --git a/board/renesas/sh7785lcr/MAINTAINERS b/board/renesas/sh7785lcr/MAINTAINERS
new file mode 100644 (file)
index 0000000..0d99de6
--- /dev/null
@@ -0,0 +1,7 @@
+SH7785LCR BOARD
+M:     -
+S:     Maintained
+F:     board/renesas/sh7785lcr/
+F:     include/configs/sh7785lcr.h
+F:     configs/sh7785lcr_defconfig
+F:     configs/sh7785lcr_32bit_defconfig
diff --git a/board/ronetix/pm9261/Kconfig b/board/ronetix/pm9261/Kconfig
new file mode 100644 (file)
index 0000000..1cb9149
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/ronetix/pm9261/MAINTAINERS b/board/ronetix/pm9261/MAINTAINERS
new file mode 100644 (file)
index 0000000..a09b6c0
--- /dev/null
@@ -0,0 +1,6 @@
+PM9261 BOARD
+M:     Ilko Iliev <iliev@ronetix.at>
+S:     Maintained
+F:     board/ronetix/pm9261/
+F:     include/configs/pm9261.h
+F:     configs/pm9261_defconfig
diff --git a/board/ronetix/pm9263/Kconfig b/board/ronetix/pm9263/Kconfig
new file mode 100644 (file)
index 0000000..292ccd6
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/ronetix/pm9263/MAINTAINERS b/board/ronetix/pm9263/MAINTAINERS
new file mode 100644 (file)
index 0000000..f26e82a
--- /dev/null
@@ -0,0 +1,6 @@
+PM9263 BOARD
+M:     Ilko Iliev <iliev@ronetix.at>
+S:     Maintained
+F:     board/ronetix/pm9263/
+F:     include/configs/pm9263.h
+F:     configs/pm9263_defconfig
diff --git a/board/ronetix/pm9g45/Kconfig b/board/ronetix/pm9g45/Kconfig
new file mode 100644 (file)
index 0000000..e60e9aa
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/ronetix/pm9g45/MAINTAINERS b/board/ronetix/pm9g45/MAINTAINERS
new file mode 100644 (file)
index 0000000..255a357
--- /dev/null
@@ -0,0 +1,6 @@
+PM9G45 BOARD
+M:     Ilko Iliev <iliev@ronetix.at>
+S:     Maintained
+F:     board/ronetix/pm9g45/
+F:     include/configs/pm9g45.h
+F:     configs/pm9g45_defconfig
diff --git a/board/sacsng/Kconfig b/board/sacsng/Kconfig
new file mode 100644 (file)
index 0000000..f716a91
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_SACSNG
+
+config SYS_BOARD
+       string
+       default "sacsng"
+
+config SYS_CONFIG_NAME
+       string
+       default "sacsng"
+
+endif
diff --git a/board/sacsng/MAINTAINERS b/board/sacsng/MAINTAINERS
new file mode 100644 (file)
index 0000000..c2c8ee3
--- /dev/null
@@ -0,0 +1,6 @@
+SACSNG BOARD
+M:     Jerry Van Baren <gerald.vanbaren@smiths-aerospace.com>
+S:     Orphan (since 2014-06)
+F:     board/sacsng/
+F:     include/configs/sacsng.h
+F:     configs/sacsng_defconfig
diff --git a/board/samsung/arndale/Kconfig b/board/samsung/arndale/Kconfig
new file mode 100644 (file)
index 0000000..c3af0ec
--- /dev/null
@@ -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/arndale/MAINTAINERS b/board/samsung/arndale/MAINTAINERS
new file mode 100644 (file)
index 0000000..0a01a07
--- /dev/null
@@ -0,0 +1,6 @@
+ARNDALE BOARD
+M:     Inderpal Singh <inderpal.singh@linaro.org>
+S:     Maintained
+F:     board/samsung/arndale/
+F:     include/configs/arndale.h
+F:     configs/arndale_defconfig
diff --git a/board/samsung/goni/Kconfig b/board/samsung/goni/Kconfig
new file mode 100644 (file)
index 0000000..0be535e
--- /dev/null
@@ -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/goni/MAINTAINERS b/board/samsung/goni/MAINTAINERS
new file mode 100644 (file)
index 0000000..248ec3c
--- /dev/null
@@ -0,0 +1,6 @@
+GONI BOARD
+M:     Robert Baldyga <r.baldyga@samsung.com>
+S:     Maintained
+F:     board/samsung/goni/
+F:     include/configs/s5p_goni.h
+F:     configs/s5p_goni_defconfig
diff --git a/board/samsung/origen/Kconfig b/board/samsung/origen/Kconfig
new file mode 100644 (file)
index 0000000..f52de83
--- /dev/null
@@ -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/origen/MAINTAINERS b/board/samsung/origen/MAINTAINERS
new file mode 100644 (file)
index 0000000..8bf373e
--- /dev/null
@@ -0,0 +1,6 @@
+ORIGEN BOARD
+M:     Chander Kashyap <k.chander@samsung.com>
+S:     Maintained
+F:     board/samsung/origen/
+F:     include/configs/origen.h
+F:     configs/origen_defconfig
diff --git a/board/samsung/smdk2410/Kconfig b/board/samsung/smdk2410/Kconfig
new file mode 100644 (file)
index 0000000..e921c09
--- /dev/null
@@ -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/smdk2410/MAINTAINERS b/board/samsung/smdk2410/MAINTAINERS
new file mode 100644 (file)
index 0000000..12a25e8
--- /dev/null
@@ -0,0 +1,6 @@
+SMDK2410 BOARD
+M:     David Müller <d.mueller@elsoft.ch>
+S:     Maintained
+F:     board/samsung/smdk2410/
+F:     include/configs/smdk2410.h
+F:     configs/smdk2410_defconfig
diff --git a/board/samsung/smdk5250/Kconfig b/board/samsung/smdk5250/Kconfig
new file mode 100644 (file)
index 0000000..edebbde
--- /dev/null
@@ -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/smdk5250/MAINTAINERS b/board/samsung/smdk5250/MAINTAINERS
new file mode 100644 (file)
index 0000000..8a2a4aa
--- /dev/null
@@ -0,0 +1,12 @@
+SMDK5250 BOARD
+M:     Chander Kashyap <k.chander@samsung.com>
+S:     Maintained
+F:     board/samsung/smdk5250/
+F:     include/configs/smdk5250.h
+F:     configs/smdk5250_defconfig
+
+SNOW BOARD
+M:     Rajeshwari Shinde <rajeshwari.s@samsung.com>
+S:     Maintained
+F:     include/configs/snow.h
+F:     configs/snow_defconfig
diff --git a/board/samsung/smdk5420/Kconfig b/board/samsung/smdk5420/Kconfig
new file mode 100644 (file)
index 0000000..052c275
--- /dev/null
@@ -0,0 +1,47 @@
+if TARGET_PEACH_PIT
+
+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 "peach-pit"
+
+endif
+
+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/smdk5420/MAINTAINERS b/board/samsung/smdk5420/MAINTAINERS
new file mode 100644 (file)
index 0000000..c8241a8
--- /dev/null
@@ -0,0 +1,12 @@
+SMDK5420 BOARD
+M:     Akshay Saraswat <akshay.s@samsung.com>
+S:     Maintained
+F:     board/samsung/smdk5420/
+F:     include/configs/peach-pit.h
+F:     configs/peach-pit_defconfig
+
+SMDK5420 BOARD
+M:     Rajeshwari Shinde <rajeshwari.s@samsung.com>
+S:     Maintained
+F:     include/configs/smdk5420.h
+F:     configs/smdk5420_defconfig
diff --git a/board/samsung/smdkc100/Kconfig b/board/samsung/smdkc100/Kconfig
new file mode 100644 (file)
index 0000000..9c2b4da
--- /dev/null
@@ -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/smdkc100/MAINTAINERS b/board/samsung/smdkc100/MAINTAINERS
new file mode 100644 (file)
index 0000000..39949e4
--- /dev/null
@@ -0,0 +1,6 @@
+SMDKC100 BOARD
+M:     Minkyu Kang <mk7.kang@samsung.com>
+S:     Maintained
+F:     board/samsung/smdkc100/
+F:     include/configs/smdkc100.h
+F:     configs/smdkc100_defconfig
diff --git a/board/samsung/smdkv310/Kconfig b/board/samsung/smdkv310/Kconfig
new file mode 100644 (file)
index 0000000..e467092
--- /dev/null
@@ -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/smdkv310/MAINTAINERS b/board/samsung/smdkv310/MAINTAINERS
new file mode 100644 (file)
index 0000000..1e058cb
--- /dev/null
@@ -0,0 +1,6 @@
+SMDKV310 BOARD
+M:     Chander Kashyap <k.chander@samsung.com>
+S:     Maintained
+F:     board/samsung/smdkv310/
+F:     include/configs/smdkv310.h
+F:     configs/smdkv310_defconfig
diff --git a/board/samsung/trats/Kconfig b/board/samsung/trats/Kconfig
new file mode 100644 (file)
index 0000000..040413e
--- /dev/null
@@ -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/trats/MAINTAINERS b/board/samsung/trats/MAINTAINERS
new file mode 100644 (file)
index 0000000..1b219b4
--- /dev/null
@@ -0,0 +1,6 @@
+TRATS BOARD
+M:     Lukasz Majewski <l.majewski@samsung.com>
+S:     Maintained
+F:     board/samsung/trats/
+F:     include/configs/trats.h
+F:     configs/trats_defconfig
diff --git a/board/samsung/trats2/Kconfig b/board/samsung/trats2/Kconfig
new file mode 100644 (file)
index 0000000..a82fdfb
--- /dev/null
@@ -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/trats2/MAINTAINERS b/board/samsung/trats2/MAINTAINERS
new file mode 100644 (file)
index 0000000..7018300
--- /dev/null
@@ -0,0 +1,6 @@
+TRATS2 BOARD
+M:     Lukasz Majewski <l.majewski@samsung.com>
+S:     Maintained
+F:     board/samsung/trats2/
+F:     include/configs/trats2.h
+F:     configs/trats2_defconfig
diff --git a/board/samsung/universal_c210/Kconfig b/board/samsung/universal_c210/Kconfig
new file mode 100644 (file)
index 0000000..082168f
--- /dev/null
@@ -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/samsung/universal_c210/MAINTAINERS b/board/samsung/universal_c210/MAINTAINERS
new file mode 100644 (file)
index 0000000..6760678
--- /dev/null
@@ -0,0 +1,6 @@
+UNIVERSAL_C210 BOARD
+M:     Przemyslaw Marczak <p.marczak@samsung.com>
+S:     Maintained
+F:     board/samsung/universal_c210/
+F:     include/configs/s5pc210_universal.h
+F:     configs/s5pc210_universal_defconfig
diff --git a/board/sandbox/MAINTAINERS b/board/sandbox/MAINTAINERS
new file mode 100644 (file)
index 0000000..10d88a2
--- /dev/null
@@ -0,0 +1,6 @@
+SANDBOX BOARD
+M:     Simon Glass <sjg@chromium.org>
+S:     Maintained
+F:     board/sandbox/
+F:     include/configs/sandbox.h
+F:     configs/sandbox_defconfig
diff --git a/board/sandburst/karef/Kconfig b/board/sandburst/karef/Kconfig
new file mode 100644 (file)
index 0000000..d4aaea5
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_KAREF
+
+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/karef/MAINTAINERS b/board/sandburst/karef/MAINTAINERS
new file mode 100644 (file)
index 0000000..4c29ae7
--- /dev/null
@@ -0,0 +1,6 @@
+KAREF BOARD
+M:     Travis Sawyer <travis.sawyer@sandburst.com>
+S:     Orphan (since 2014-03)
+F:     board/sandburst/karef/
+F:     include/configs/KAREF.h
+F:     configs/KAREF_defconfig
diff --git a/board/sandburst/metrobox/Kconfig b/board/sandburst/metrobox/Kconfig
new file mode 100644 (file)
index 0000000..be2affc
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_METROBOX
+
+config SYS_BOARD
+       string
+       default "metrobox"
+
+config SYS_VENDOR
+       string
+       default "sandburst"
+
+config SYS_CONFIG_NAME
+       string
+       default "METROBOX"
+
+endif
diff --git a/board/sandburst/metrobox/MAINTAINERS b/board/sandburst/metrobox/MAINTAINERS
new file mode 100644 (file)
index 0000000..f5734ba
--- /dev/null
@@ -0,0 +1,6 @@
+METROBOX BOARD
+M:     Travis Sawyer <travis.sawyer@sandburst.com>
+S:     Orphan (since 2014-03)
+F:     board/sandburst/metrobox/
+F:     include/configs/METROBOX.h
+F:     configs/METROBOX_defconfig
diff --git a/board/sandisk/sansa_fuze_plus/Kconfig b/board/sandisk/sansa_fuze_plus/Kconfig
new file mode 100644 (file)
index 0000000..eddbfd8
--- /dev/null
@@ -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/sandisk/sansa_fuze_plus/MAINTAINERS b/board/sandisk/sansa_fuze_plus/MAINTAINERS
new file mode 100644 (file)
index 0000000..ccfd399
--- /dev/null
@@ -0,0 +1,6 @@
+SANSA_FUZE_PLUS BOARD
+M:     Marek Vasut <marek.vasut@gmail.com>
+S:     Maintained
+F:     board/sandisk/sansa_fuze_plus/
+F:     include/configs/sansa_fuze_plus.h
+F:     configs/sansa_fuze_plus_defconfig
diff --git a/board/sandpoint/Kconfig b/board/sandpoint/Kconfig
new file mode 100644 (file)
index 0000000..3cc99de
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_SANDPOINT8240
+
+config SYS_BOARD
+       string
+       default "sandpoint"
+
+config SYS_CONFIG_NAME
+       string
+       default "Sandpoint8240"
+
+endif
+
+if TARGET_SANDPOINT8245
+
+config SYS_BOARD
+       string
+       default "sandpoint"
+
+config SYS_CONFIG_NAME
+       string
+       default "Sandpoint8245"
+
+endif
diff --git a/board/sandpoint/MAINTAINERS b/board/sandpoint/MAINTAINERS
new file mode 100644 (file)
index 0000000..f28c309
--- /dev/null
@@ -0,0 +1,12 @@
+SANDPOINT BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/sandpoint/
+F:     include/configs/Sandpoint8240.h
+F:     configs/Sandpoint8240_defconfig
+
+SANDPOINT8245 BOARD
+M:     Jim Thompson <jim@musenki.com>
+S:     Orphan (since 2014-04)
+F:     include/configs/Sandpoint8245.h
+F:     configs/Sandpoint8245_defconfig
diff --git a/board/sbc405/Kconfig b/board/sbc405/Kconfig
new file mode 100644 (file)
index 0000000..77082bf
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_SBC405
+
+config SYS_BOARD
+       string
+       default "sbc405"
+
+config SYS_CONFIG_NAME
+       string
+       default "sbc405"
+
+endif
diff --git a/board/sbc405/MAINTAINERS b/board/sbc405/MAINTAINERS
new file mode 100644 (file)
index 0000000..dbb4451
--- /dev/null
@@ -0,0 +1,6 @@
+SBC405 BOARD
+M:     -
+S:     Maintained
+F:     board/sbc405/
+F:     include/configs/sbc405.h
+F:     configs/sbc405_defconfig
diff --git a/board/sbc8349/Kconfig b/board/sbc8349/Kconfig
new file mode 100644 (file)
index 0000000..5b851f8
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_SBC8349
+
+config SYS_BOARD
+       string
+       default "sbc8349"
+
+config SYS_CONFIG_NAME
+       string
+       default "sbc8349"
+
+endif
diff --git a/board/sbc8349/MAINTAINERS b/board/sbc8349/MAINTAINERS
new file mode 100644 (file)
index 0000000..af95c1d
--- /dev/null
@@ -0,0 +1,8 @@
+SBC8349 BOARD
+M:     Paul Gortmaker <paul.gortmaker@windriver.com>
+S:     Maintained
+F:     board/sbc8349/
+F:     include/configs/sbc8349.h
+F:     configs/sbc8349_defconfig
+F:     configs/sbc8349_PCI_33_defconfig
+F:     configs/sbc8349_PCI_66_defconfig
diff --git a/board/sbc8548/Kconfig b/board/sbc8548/Kconfig
new file mode 100644 (file)
index 0000000..5223d3d
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_SBC8548
+
+config SYS_BOARD
+       string
+       default "sbc8548"
+
+config SYS_CONFIG_NAME
+       string
+       default "sbc8548"
+
+endif
diff --git a/board/sbc8548/MAINTAINERS b/board/sbc8548/MAINTAINERS
new file mode 100644 (file)
index 0000000..ba1f247
--- /dev/null
@@ -0,0 +1,10 @@
+SBC8548 BOARD
+M:     Paul Gortmaker <paul.gortmaker@windriver.com>
+S:     Maintained
+F:     board/sbc8548/
+F:     include/configs/sbc8548.h
+F:     configs/sbc8548_defconfig
+F:     configs/sbc8548_PCI_33_defconfig
+F:     configs/sbc8548_PCI_33_PCIE_defconfig
+F:     configs/sbc8548_PCI_66_defconfig
+F:     configs/sbc8548_PCI_66_PCIE_defconfig
diff --git a/board/sbc8641d/Kconfig b/board/sbc8641d/Kconfig
new file mode 100644 (file)
index 0000000..7f77bca
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_SBC8641D
+
+config SYS_BOARD
+       string
+       default "sbc8641d"
+
+config SYS_CONFIG_NAME
+       string
+       default "sbc8641d"
+
+endif
diff --git a/board/sbc8641d/MAINTAINERS b/board/sbc8641d/MAINTAINERS
new file mode 100644 (file)
index 0000000..a50b541
--- /dev/null
@@ -0,0 +1,6 @@
+SBC8641D BOARD
+M:     Paul Gortmaker <paul.gortmaker@windriver.com>
+S:     Maintained
+F:     board/sbc8641d/
+F:     include/configs/sbc8641d.h
+F:     configs/sbc8641d_defconfig
diff --git a/board/sc3/Kconfig b/board/sc3/Kconfig
new file mode 100644 (file)
index 0000000..74694be
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_SC3
+
+config SYS_BOARD
+       string
+       default "sc3"
+
+config SYS_CONFIG_NAME
+       string
+       default "sc3"
+
+endif
diff --git a/board/sc3/MAINTAINERS b/board/sc3/MAINTAINERS
new file mode 100644 (file)
index 0000000..b86c6e6
--- /dev/null
@@ -0,0 +1,6 @@
+SC3 BOARD
+M:     Heiko Schocher <hs@denx.de>
+S:     Maintained
+F:     board/sc3/
+F:     include/configs/sc3.h
+F:     configs/sc3_defconfig
diff --git a/board/scb9328/Kconfig b/board/scb9328/Kconfig
new file mode 100644 (file)
index 0000000..040d055
--- /dev/null
@@ -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/scb9328/MAINTAINERS b/board/scb9328/MAINTAINERS
new file mode 100644 (file)
index 0000000..0917266
--- /dev/null
@@ -0,0 +1,6 @@
+SCB9328 BOARD
+M:     Torsten Koschorrek <koschorrek@synertronixx.de>
+S:     Maintained
+F:     board/scb9328/
+F:     include/configs/scb9328.h
+F:     configs/scb9328_defconfig
diff --git a/board/schulercontrol/sc_sps_1/Kconfig b/board/schulercontrol/sc_sps_1/Kconfig
new file mode 100644 (file)
index 0000000..30071ed
--- /dev/null
@@ -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/schulercontrol/sc_sps_1/MAINTAINERS b/board/schulercontrol/sc_sps_1/MAINTAINERS
new file mode 100644 (file)
index 0000000..74849cd
--- /dev/null
@@ -0,0 +1,6 @@
+SC_SPS_1 BOARD
+M:     Marek Vasut <marek.vasut@gmail.com>
+S:     Maintained
+F:     board/schulercontrol/sc_sps_1/
+F:     include/configs/sc_sps_1.h
+F:     configs/sc_sps_1_defconfig
diff --git a/board/shmin/Kconfig b/board/shmin/Kconfig
new file mode 100644 (file)
index 0000000..cb9fb9f
--- /dev/null
@@ -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/shmin/MAINTAINERS b/board/shmin/MAINTAINERS
new file mode 100644 (file)
index 0000000..5dee37b
--- /dev/null
@@ -0,0 +1,7 @@
+SHMIN BOARD
+M:     Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
+M:     Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
+S:     Maintained
+F:     board/shmin/
+F:     include/configs/shmin.h
+F:     configs/shmin_defconfig
diff --git a/board/siemens/corvus/Kconfig b/board/siemens/corvus/Kconfig
new file mode 100644 (file)
index 0000000..e24364c
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/siemens/corvus/MAINTAINERS b/board/siemens/corvus/MAINTAINERS
new file mode 100644 (file)
index 0000000..59176aa
--- /dev/null
@@ -0,0 +1,6 @@
+CORVUS BOARD
+M:     Heiko Schocher <hs@denx.de>
+S:     Maintained
+F:     board/siemens/corvus/
+F:     include/configs/corvus.h
+F:     configs/corvus_defconfig
diff --git a/board/siemens/draco/Kconfig b/board/siemens/draco/Kconfig
new file mode 100644 (file)
index 0000000..c6dac1c
--- /dev/null
@@ -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/draco/MAINTAINERS b/board/siemens/draco/MAINTAINERS
new file mode 100644 (file)
index 0000000..f6b68ca
--- /dev/null
@@ -0,0 +1,8 @@
+DRACO BOARD
+M:     Roger Meier <r.meier@siemens.com>
+S:     Maintained
+F:     board/siemens/draco/
+F:     include/configs/draco.h
+F:     configs/draco_defconfig
+F:     include/configs/dxr2.h
+F:     configs/dxr2_defconfig
diff --git a/board/siemens/pxm2/Kconfig b/board/siemens/pxm2/Kconfig
new file mode 100644 (file)
index 0000000..db69537
--- /dev/null
@@ -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/pxm2/MAINTAINERS b/board/siemens/pxm2/MAINTAINERS
new file mode 100644 (file)
index 0000000..fa734c9
--- /dev/null
@@ -0,0 +1,6 @@
+PXM2 BOARD
+M:     Roger Meier <r.meier@siemens.com>
+S:     Maintained
+F:     board/siemens/pxm2/
+F:     include/configs/pxm2.h
+F:     configs/pxm2_defconfig
diff --git a/board/siemens/rut/Kconfig b/board/siemens/rut/Kconfig
new file mode 100644 (file)
index 0000000..c4d9e7e
--- /dev/null
@@ -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/rut/MAINTAINERS b/board/siemens/rut/MAINTAINERS
new file mode 100644 (file)
index 0000000..8c1b770
--- /dev/null
@@ -0,0 +1,6 @@
+RUT BOARD
+M:     Roger Meier <r.meier@siemens.com>
+S:     Maintained
+F:     board/siemens/rut/
+F:     include/configs/rut.h
+F:     configs/rut_defconfig
diff --git a/board/siemens/taurus/Kconfig b/board/siemens/taurus/Kconfig
new file mode 100644 (file)
index 0000000..3ef14c6
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/siemens/taurus/MAINTAINERS b/board/siemens/taurus/MAINTAINERS
new file mode 100644 (file)
index 0000000..74e3518
--- /dev/null
@@ -0,0 +1,7 @@
+TAURUS BOARD
+M:     Heiko Schocher <hs@denx.de>
+S:     Maintained
+F:     board/siemens/taurus/
+F:     include/configs/taurus.h
+F:     configs/axm_defconfig
+F:     configs/taurus_defconfig
diff --git a/board/silica/pengwyn/Kconfig b/board/silica/pengwyn/Kconfig
new file mode 100644 (file)
index 0000000..abf86b1
--- /dev/null
@@ -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/silica/pengwyn/MAINTAINERS b/board/silica/pengwyn/MAINTAINERS
new file mode 100644 (file)
index 0000000..14ef775
--- /dev/null
@@ -0,0 +1,6 @@
+PENGWYN BOARD
+M:     Lothar Felten <lothar.felten@gmail.com>
+S:     Maintained
+F:     board/silica/pengwyn/
+F:     include/configs/pengwyn.h
+F:     configs/pengwyn_defconfig
diff --git a/board/sixnet/Kconfig b/board/sixnet/Kconfig
new file mode 100644 (file)
index 0000000..2c1b995
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_SXNI855T
+
+config SYS_BOARD
+       string
+       default "sixnet"
+
+config SYS_CONFIG_NAME
+       string
+       default "SXNI855T"
+
+endif
diff --git a/board/sixnet/MAINTAINERS b/board/sixnet/MAINTAINERS
new file mode 100644 (file)
index 0000000..eedb409
--- /dev/null
@@ -0,0 +1,6 @@
+SIXNET BOARD
+M:     Dave Ellis <DGE@sixnetio.com>
+S:     Orphan (since 2014-06)
+F:     board/sixnet/
+F:     include/configs/SXNI855T.h
+F:     configs/SXNI855T_defconfig
diff --git a/board/socrates/Kconfig b/board/socrates/Kconfig
new file mode 100644 (file)
index 0000000..06abd9d
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_SOCRATES
+
+config SYS_BOARD
+       string
+       default "socrates"
+
+config SYS_CONFIG_NAME
+       string
+       default "socrates"
+
+endif
diff --git a/board/socrates/MAINTAINERS b/board/socrates/MAINTAINERS
new file mode 100644 (file)
index 0000000..fc3e11d
--- /dev/null
@@ -0,0 +1,6 @@
+SOCRATES BOARD
+M:     -
+S:     Maintained
+F:     board/socrates/
+F:     include/configs/socrates.h
+F:     configs/socrates_defconfig
diff --git a/board/solidrun/hummingboard/Kconfig b/board/solidrun/hummingboard/Kconfig
new file mode 100644 (file)
index 0000000..a412347
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_HUMMINGBOARD
+
+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"
+
+endif
diff --git a/board/solidrun/hummingboard/MAINTAINERS b/board/solidrun/hummingboard/MAINTAINERS
new file mode 100644 (file)
index 0000000..c0c062a
--- /dev/null
@@ -0,0 +1,6 @@
+HUMMINGBOARD BOARD
+M:     Jon Nettleton <jon.nettleton@gmail.com>
+S:     Maintained
+F:     board/solidrun/hummingboard/
+F:     include/configs/hummingboard.h
+F:     configs/hummingboard_solo_defconfig
diff --git a/board/spd8xx/Kconfig b/board/spd8xx/Kconfig
new file mode 100644 (file)
index 0000000..4845cba
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_SPD823TS
+
+config SYS_BOARD
+       string
+       default "spd8xx"
+
+config SYS_CONFIG_NAME
+       string
+       default "SPD823TS"
+
+endif
diff --git a/board/spd8xx/MAINTAINERS b/board/spd8xx/MAINTAINERS
new file mode 100644 (file)
index 0000000..7ed9423
--- /dev/null
@@ -0,0 +1,6 @@
+SPD8XX BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/spd8xx/
+F:     include/configs/SPD823TS.h
+F:     configs/SPD823TS_defconfig
diff --git a/board/spear/spear300/Kconfig b/board/spear/spear300/Kconfig
new file mode 100644 (file)
index 0000000..7e49e34
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/spear/spear300/MAINTAINERS b/board/spear/spear300/MAINTAINERS
new file mode 100644 (file)
index 0000000..15164fe
--- /dev/null
@@ -0,0 +1,13 @@
+SPEAR300 BOARD
+M:     Vipin Kumar <vipin.kumar@st.com>
+S:     Maintained
+F:     board/spear/spear300/
+F:     include/configs/spear3xx_evb.h
+F:     configs/spear300_defconfig
+
+SPEAR300_NAND BOARD
+M:     -
+S:     Maintained
+F:     configs/spear300_nand_defconfig
+F:     configs/spear300_usbtty_defconfig
+F:     configs/spear300_usbtty_nand_defconfig
diff --git a/board/spear/spear310/Kconfig b/board/spear/spear310/Kconfig
new file mode 100644 (file)
index 0000000..de71040
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/spear/spear310/MAINTAINERS b/board/spear/spear310/MAINTAINERS
new file mode 100644 (file)
index 0000000..3a7e610
--- /dev/null
@@ -0,0 +1,15 @@
+SPEAR310 BOARD
+M:     Vipin Kumar <vipin.kumar@st.com>
+S:     Maintained
+F:     board/spear/spear310/
+F:     include/configs/spear3xx_evb.h
+F:     configs/spear310_defconfig
+
+SPEAR310_NAND BOARD
+M:     -
+S:     Maintained
+F:     configs/spear310_nand_defconfig
+F:     configs/spear310_pnor_defconfig
+F:     configs/spear310_usbtty_defconfig
+F:     configs/spear310_usbtty_nand_defconfig
+F:     configs/spear310_usbtty_pnor_defconfig
diff --git a/board/spear/spear320/Kconfig b/board/spear/spear320/Kconfig
new file mode 100644 (file)
index 0000000..4cf6baf
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/spear/spear320/MAINTAINERS b/board/spear/spear320/MAINTAINERS
new file mode 100644 (file)
index 0000000..414beca
--- /dev/null
@@ -0,0 +1,15 @@
+SPEAR320 BOARD
+M:     Vipin Kumar <vipin.kumar@st.com>
+S:     Maintained
+F:     board/spear/spear320/
+F:     include/configs/spear3xx_evb.h
+F:     configs/spear320_defconfig
+
+SPEAR320_NAND BOARD
+M:     -
+S:     Maintained
+F:     configs/spear320_nand_defconfig
+F:     configs/spear320_pnor_defconfig
+F:     configs/spear320_usbtty_defconfig
+F:     configs/spear320_usbtty_nand_defconfig
+F:     configs/spear320_usbtty_pnor_defconfig
diff --git a/board/spear/spear600/Kconfig b/board/spear/spear600/Kconfig
new file mode 100644 (file)
index 0000000..d62f9e7
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/spear/spear600/MAINTAINERS b/board/spear/spear600/MAINTAINERS
new file mode 100644 (file)
index 0000000..a978fdd
--- /dev/null
@@ -0,0 +1,13 @@
+SPEAR600 BOARD
+M:     Vipin Kumar <vipin.kumar@st.com>
+S:     Maintained
+F:     board/spear/spear600/
+F:     include/configs/spear6xx_evb.h
+F:     configs/spear600_defconfig
+
+SPEAR600_NAND BOARD
+M:     -
+S:     Maintained
+F:     configs/spear600_nand_defconfig
+F:     configs/spear600_usbtty_defconfig
+F:     configs/spear600_usbtty_nand_defconfig
diff --git a/board/spear/x600/Kconfig b/board/spear/x600/Kconfig
new file mode 100644 (file)
index 0000000..a924559
--- /dev/null
@@ -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/spear/x600/MAINTAINERS b/board/spear/x600/MAINTAINERS
new file mode 100644 (file)
index 0000000..bff6824
--- /dev/null
@@ -0,0 +1,6 @@
+X600 BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/spear/x600/
+F:     include/configs/x600.h
+F:     configs/x600_defconfig
diff --git a/board/st-ericsson/snowball/Kconfig b/board/st-ericsson/snowball/Kconfig
new file mode 100644 (file)
index 0000000..b5ead0f
--- /dev/null
@@ -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/snowball/MAINTAINERS b/board/st-ericsson/snowball/MAINTAINERS
new file mode 100644 (file)
index 0000000..132fc52
--- /dev/null
@@ -0,0 +1,6 @@
+SNOWBALL BOARD
+M:     Mathieu Poirier <mathieu.poirier@linaro.org>
+S:     Maintained
+F:     board/st-ericsson/snowball/
+F:     include/configs/snowball.h
+F:     configs/snowball_defconfig
diff --git a/board/st-ericsson/u8500/Kconfig b/board/st-ericsson/u8500/Kconfig
new file mode 100644 (file)
index 0000000..bbcfdaf
--- /dev/null
@@ -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-ericsson/u8500/MAINTAINERS b/board/st-ericsson/u8500/MAINTAINERS
new file mode 100644 (file)
index 0000000..54e7921
--- /dev/null
@@ -0,0 +1,6 @@
+U8500 BOARD
+M:     -
+S:     Maintained
+F:     board/st-ericsson/u8500/
+F:     include/configs/u8500_href.h
+F:     configs/u8500_href_defconfig
diff --git a/board/st/nhk8815/Kconfig b/board/st/nhk8815/Kconfig
new file mode 100644 (file)
index 0000000..ec3f880
--- /dev/null
@@ -0,0 +1,23 @@
+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
diff --git a/board/st/nhk8815/MAINTAINERS b/board/st/nhk8815/MAINTAINERS
new file mode 100644 (file)
index 0000000..72c3a8d
--- /dev/null
@@ -0,0 +1,8 @@
+NHK8815 BOARD
+M:     Nomadik Linux Team <STN_WMM_nomadik_linux@list.st.com>
+M:     Alessandro Rubini <rubini@unipv.it>
+S:     Maintained
+F:     board/st/nhk8815/
+F:     include/configs/nhk8815.h
+F:     configs/nhk8815_defconfig
+F:     configs/nhk8815_onenand_defconfig
diff --git a/board/stx/stxgp3/Kconfig b/board/stx/stxgp3/Kconfig
new file mode 100644 (file)
index 0000000..aac2940
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_STXGP3
+
+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/stxgp3/MAINTAINERS b/board/stx/stxgp3/MAINTAINERS
new file mode 100644 (file)
index 0000000..6f485d4
--- /dev/null
@@ -0,0 +1,6 @@
+STXGP3 BOARD
+M:     Dan Malek <dan@embeddedalley.com>
+S:     Orphan (since 2014-06)
+F:     board/stx/stxgp3/
+F:     include/configs/stxgp3.h
+F:     configs/stxgp3_defconfig
diff --git a/board/stx/stxssa/Kconfig b/board/stx/stxssa/Kconfig
new file mode 100644 (file)
index 0000000..06dd8be
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_STXSSA
+
+config SYS_BOARD
+       string
+       default "stxssa"
+
+config SYS_VENDOR
+       string
+       default "stx"
+
+config SYS_CONFIG_NAME
+       string
+       default "stxssa"
+
+endif
diff --git a/board/stx/stxssa/MAINTAINERS b/board/stx/stxssa/MAINTAINERS
new file mode 100644 (file)
index 0000000..f56adf0
--- /dev/null
@@ -0,0 +1,7 @@
+STXSSA BOARD
+M:     Dan Malek <dan@embeddedalley.com>
+S:     Orphan (since 2014-06)
+F:     board/stx/stxssa/
+F:     include/configs/stxssa.h
+F:     configs/stxssa_defconfig
+F:     configs/stxssa_4M_defconfig
diff --git a/board/stx/stxxtc/Kconfig b/board/stx/stxxtc/Kconfig
new file mode 100644 (file)
index 0000000..c444cff
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_STXXTC
+
+config SYS_BOARD
+       string
+       default "stxxtc"
+
+config SYS_VENDOR
+       string
+       default "stx"
+
+config SYS_CONFIG_NAME
+       string
+       default "stxxtc"
+
+endif
diff --git a/board/stx/stxxtc/MAINTAINERS b/board/stx/stxxtc/MAINTAINERS
new file mode 100644 (file)
index 0000000..5ea36b2
--- /dev/null
@@ -0,0 +1,6 @@
+STXXTC BOARD
+M:     Dan Malek <dan@embeddedalley.com>
+S:     Orphan (since 2014-06)
+F:     board/stx/stxxtc/
+F:     include/configs/stxxtc.h
+F:     configs/stxxtc_defconfig
diff --git a/board/sunxi/Kconfig b/board/sunxi/Kconfig
new file mode 100644 (file)
index 0000000..b06b5e0
--- /dev/null
@@ -0,0 +1,59 @@
+if TARGET_SUN4I
+
+config SYS_CPU
+       string
+       default "armv7"
+
+config SYS_BOARD
+       string
+       default "sunxi"
+
+config SYS_SOC
+       string
+       default "sunxi"
+
+config SYS_CONFIG_NAME
+       string
+       default "sun4i"
+
+endif
+
+if TARGET_SUN5I
+
+config SYS_CPU
+       string
+       default "armv7"
+
+config SYS_BOARD
+       string
+       default "sunxi"
+
+config SYS_SOC
+       string
+       default "sunxi"
+
+config SYS_CONFIG_NAME
+       string
+       default "sun5i"
+
+endif
+
+if TARGET_SUN7I
+
+config SYS_CPU
+       string
+       default "armv7"
+
+config SYS_BOARD
+       string
+       default "sunxi"
+
+config SYS_SOC
+       string
+       default "sunxi"
+
+config SYS_CONFIG_NAME
+       string
+       default "sun7i"
+
+endif
diff --git a/board/sunxi/MAINTAINERS b/board/sunxi/MAINTAINERS
new file mode 100644 (file)
index 0000000..b0b1804
--- /dev/null
@@ -0,0 +1,34 @@
+SUNXI BOARD
+M:     Hans de Goede <hdegoede@redhat.com>
+S:     Maintained
+F:     board/sunxi/
+F:     include/configs/sun4i.h
+F:     configs/A10-OLinuXino-Lime_defconfig
+F:     configs/ba10_tv_box_defconfig
+F:     configs/Cubieboard_defconfig
+F:     configs/Mele_A1000_defconfig
+F:     configs/Mele_A1000G_defconfig
+F:     configs/Mini-X_defconfig
+F:     configs/Mini-X-1Gb_defconfig
+F:     include/configs/sun5i.h
+F:     configs/A10s-OLinuXino-M_defconfig
+F:     configs/A13-OLinuXino_defconfig
+F:     configs/A13-OLinuXinoM_defconfig
+F:     configs/Auxtek-T004_defconfig
+F:     configs/r7-tv-dongle_defconfig
+F:     include/configs/sun7i.h
+F:     configs/A20-OLinuXino_MICRO_defconfig
+F:     configs/Bananapi_defconfig
+F:     configs/i12-tvbox_defconfig
+F:     configs/Linksprite_pcDuino3_defconfig
+F:     configs/qt840a_defconfig
+
+CUBIEBOARD2 BOARD
+M:     Ian Campbell <ijc@hellion.org.uk>
+M:     Hans de Goede <hdegoede@redhat.com>
+S:     Maintained
+F:     include/configs/sun7i.h
+F:     configs/Cubieboard2_defconfig
+F:     configs/Cubieboard2_FEL_defconfig
+F:     configs/Cubietruck_defconfig
+F:     configs/Cubietruck_FEL_defconfig
index 62acb8ff27a272aec8f2fbb8d1d923df5afc3b3c..cf001e71fa796ba23856624211819ffd4234bebb 100644 (file)
 #
 obj-y  += board.o
 obj-$(CONFIG_SUNXI_GMAC)       += gmac.o
+obj-$(CONFIG_SUNXI_AHCI)       += ahci.o
+obj-$(CONFIG_A10_OLINUXINO_L)  += dram_a10_olinuxino_l.o
+obj-$(CONFIG_A10S_OLINUXINO_M) += dram_a10s_olinuxino_m.o
+obj-$(CONFIG_A13_OLINUXINO)    += dram_a13_olinuxino.o
 obj-$(CONFIG_A13_OLINUXINOM)   += dram_a13_oli_micro.o
+obj-$(CONFIG_A20_OLINUXINO_M)  += dram_sun7i_384_1024_iow16.o
+# This is not a typo, uses the same mem settings as the a10s-olinuxino-m
+obj-$(CONFIG_AUXTEK_T004)      += dram_a10s_olinuxino_m.o
+obj-$(CONFIG_BA10_TV_BOX)      += dram_sun4i_384_1024_iow8.o
+obj-$(CONFIG_BANANAPI)         += dram_bananapi.o
 obj-$(CONFIG_CUBIEBOARD)       += dram_cubieboard.o
 obj-$(CONFIG_CUBIEBOARD2)      += dram_cubieboard2.o
 obj-$(CONFIG_CUBIETRUCK)       += dram_cubietruck.o
+obj-$(CONFIG_I12_TVBOX)                += dram_sun7i_384_1024_iow16.o
+obj-$(CONFIG_MELE_A1000)       += dram_sun4i_360_512.o
+obj-$(CONFIG_MELE_A1000G)      += dram_sun4i_360_1024_iow8.o
+obj-$(CONFIG_MINI_X)           += dram_sun4i_360_512.o
+obj-$(CONFIG_MINI_X_1GB)       += dram_sun4i_360_1024_iow16.o
+obj-$(CONFIG_PCDUINO3)         += dram_linksprite_pcduino3.o
+obj-$(CONFIG_QT840A)           += dram_sun7i_384_512_busw16_iow16.o
 obj-$(CONFIG_R7DONGLE)         += dram_r7dongle.o
diff --git a/board/sunxi/ahci.c b/board/sunxi/ahci.c
new file mode 100644 (file)
index 0000000..0c262ea
--- /dev/null
@@ -0,0 +1,84 @@
+#include <common.h>
+#include <ahci.h>
+#include <scsi.h>
+#include <errno.h>
+#include <asm/io.h>
+#include <asm/gpio.h>
+
+#define AHCI_PHYCS0R 0x00c0
+#define AHCI_PHYCS1R 0x00c4
+#define AHCI_PHYCS2R 0x00c8
+#define AHCI_RWCR    0x00fc
+
+/* This magic PHY initialisation was taken from the Allwinner releases
+ * and Linux driver, but is completely undocumented.
+ */
+static int sunxi_ahci_phy_init(u32 base)
+{
+       u8 *reg_base = (u8 *)base;
+       u32 reg_val;
+       int timeout;
+
+       writel(0, reg_base + AHCI_RWCR);
+       mdelay(5);
+
+       setbits_le32(reg_base + AHCI_PHYCS1R, 0x1 << 19);
+       clrsetbits_le32(reg_base + AHCI_PHYCS0R,
+                       (0x7 << 24),
+                       (0x5 << 24) | (0x1 << 23) | (0x1 << 18));
+       clrsetbits_le32(reg_base + AHCI_PHYCS1R,
+                       (0x3 << 16) | (0x1f << 8) | (0x3 << 6),
+                       (0x2 << 16) | (0x6 << 8) | (0x2 << 6));
+       setbits_le32(reg_base + AHCI_PHYCS1R, (0x1 << 28) | (0x1 << 15));
+       clrbits_le32(reg_base + AHCI_PHYCS1R, (0x1 << 19));
+       clrsetbits_le32(reg_base + AHCI_PHYCS0R, (0x7 << 20), (0x3 << 20));
+       clrsetbits_le32(reg_base + AHCI_PHYCS2R, (0x1f << 5), (0x19 << 5));
+       mdelay(5);
+
+       setbits_le32(reg_base + AHCI_PHYCS0R, (0x1 << 19));
+
+       timeout = 250; /* Power up takes approx 50 us */
+       for (;;) {
+               reg_val = readl(reg_base + AHCI_PHYCS0R) & (0x7 << 28);
+               if (reg_val == (0x2 << 28))
+                       break;
+               if (--timeout == 0) {
+                       printf("AHCI PHY power up failed.\n");
+                       return -EIO;
+               }
+               udelay(1);
+       };
+
+       setbits_le32(reg_base + AHCI_PHYCS2R, (0x1 << 24));
+
+       timeout = 100; /* Calibration takes approx 10 us */
+       for (;;) {
+               reg_val = readl(reg_base + AHCI_PHYCS2R) & (0x1 << 24);
+               if (reg_val == 0x0)
+                       break;
+               if (--timeout == 0) {
+                       printf("AHCI PHY calibration failed.\n");
+                       return -EIO;
+               }
+               udelay(1);
+       }
+
+       mdelay(15);
+
+       writel(0x7, reg_base + AHCI_RWCR);
+
+       return 0;
+}
+
+void scsi_init(void)
+{
+       printf("SUNXI SCSI INIT\n");
+#ifdef CONFIG_SATAPWR
+       gpio_direction_output(CONFIG_SATAPWR, 1);
+#endif
+
+       if (sunxi_ahci_phy_init(SUNXI_SATA_BASE) < 0)
+               return;
+
+       ahci_init(SUNXI_SATA_BASE);
+}
diff --git a/board/sunxi/dram_a10_olinuxino_l.c b/board/sunxi/dram_a10_olinuxino_l.c
new file mode 100644 (file)
index 0000000..24a1bd9
--- /dev/null
@@ -0,0 +1,31 @@
+/* this file is generated, don't edit it yourself */
+
+#include <common.h>
+#include <asm/arch/dram.h>
+
+static struct dram_para dram_para = {
+       .clock = 480,
+       .type = 3,
+       .rank_num = 1,
+       .density = 4096,
+       .io_width = 16,
+       .bus_width = 16,
+       .cas = 6,
+       .zq = 123,
+       .odt_en = 0,
+       .size = 512,
+       .tpr0 = 0x30926692,
+       .tpr1 = 0x1090,
+       .tpr2 = 0x1a0c8,
+       .tpr3 = 0,
+       .tpr4 = 0,
+       .tpr5 = 0,
+       .emr1 = 0x4,
+       .emr2 = 0,
+       .emr3 = 0,
+};
+
+unsigned long sunxi_dram_init(void)
+{
+       return dramc_init(&dram_para);
+}
diff --git a/board/sunxi/dram_a10s_olinuxino_m.c b/board/sunxi/dram_a10s_olinuxino_m.c
new file mode 100644 (file)
index 0000000..8900539
--- /dev/null
@@ -0,0 +1,31 @@
+/* this file is generated, don't edit it yourself */
+
+#include <common.h>
+#include <asm/arch/dram.h>
+
+static struct dram_para dram_para = {
+       .clock = 432,
+       .type = 3,
+       .rank_num = 1,
+       .density = 4096,
+       .io_width = 16,
+       .bus_width = 16,
+       .cas = 9,
+       .zq = 123,
+       .odt_en = 0,
+       .size = 512,
+       .tpr0 = 0x42d899b7,
+       .tpr1 = 0xa090,
+       .tpr2 = 0x22a00,
+       .tpr3 = 0,
+       .tpr4 = 0,
+       .tpr5 = 0,
+       .emr1 = 0x4,
+       .emr2 = 0x10,
+       .emr3 = 0,
+};
+
+unsigned long sunxi_dram_init(void)
+{
+       return dramc_init(&dram_para);
+}
diff --git a/board/sunxi/dram_a13_olinuxino.c b/board/sunxi/dram_a13_olinuxino.c
new file mode 100644 (file)
index 0000000..ca96260
--- /dev/null
@@ -0,0 +1,31 @@
+/* this file is generated, don't edit it yourself */
+
+#include <common.h>
+#include <asm/arch/dram.h>
+
+static struct dram_para dram_para = {
+       .clock = 408,
+       .type = 3,
+       .rank_num = 1,
+       .density = 2048,
+       .io_width = 8,
+       .bus_width = 16,
+       .cas = 9,
+       .zq = 123,
+       .odt_en = 0,
+       .size = 512,
+       .tpr0 = 0x42d899b7,
+       .tpr1 = 0xa090,
+       .tpr2 = 0x22a00,
+       .tpr3 = 0,
+       .tpr4 = 0,
+       .tpr5 = 0,
+       .emr1 = 0,
+       .emr2 = 0x10,
+       .emr3 = 0,
+};
+
+unsigned long sunxi_dram_init(void)
+{
+       return dramc_init(&dram_para);
+}
diff --git a/board/sunxi/dram_bananapi.c b/board/sunxi/dram_bananapi.c
new file mode 100644 (file)
index 0000000..0ed7943
--- /dev/null
@@ -0,0 +1,31 @@
+/* this file is generated, don't edit it yourself */
+
+#include <common.h>
+#include <asm/arch/dram.h>
+
+static struct dram_para dram_para = {
+       .clock = 432,
+       .type = 3,
+       .rank_num = 1,
+       .density = 4096,
+       .io_width = 16,
+       .bus_width = 32,
+       .cas = 9,
+       .zq = 0x7f,
+       .odt_en = 0,
+       .size = 1024,
+       .tpr0 = 0x42d899b7,
+       .tpr1 = 0xa090,
+       .tpr2 = 0x22a00,
+       .tpr3 = 0x0,
+       .tpr4 = 0x1,
+       .tpr5 = 0x0,
+       .emr1 = 0x4,
+       .emr2 = 0x10,
+       .emr3 = 0x0,
+};
+
+unsigned long sunxi_dram_init(void)
+{
+       return dramc_init(&dram_para);
+}
diff --git a/board/sunxi/dram_linksprite_pcduino3.c b/board/sunxi/dram_linksprite_pcduino3.c
new file mode 100644 (file)
index 0000000..9cc6e19
--- /dev/null
@@ -0,0 +1,31 @@
+/* this file is generated, don't edit it yourself */
+
+#include <common.h>
+#include <asm/arch/dram.h>
+
+static struct dram_para dram_para = {
+       .clock = 480,
+       .type = 3,
+       .rank_num = 1,
+       .density = 4096,
+       .io_width = 16,
+       .bus_width = 32,
+       .cas = 9,
+       .zq = 0x7a,
+       .odt_en = 0,
+       .size = 1024,
+       .tpr0 = 0x42d899b7,
+       .tpr1 = 0xa090,
+       .tpr2 = 0x22a00,
+       .tpr3 = 0,
+       .tpr4 = 0,
+       .tpr5 = 0,
+       .emr1 = 0x4,
+       .emr2 = 0x10,
+       .emr3 = 0x0,
+};
+
+unsigned long sunxi_dram_init(void)
+{
+       return dramc_init(&dram_para);
+}
diff --git a/board/sunxi/dram_sun4i_360_1024_iow16.c b/board/sunxi/dram_sun4i_360_1024_iow16.c
new file mode 100644 (file)
index 0000000..3763713
--- /dev/null
@@ -0,0 +1,31 @@
+/* this file is generated, don't edit it yourself */
+
+#include <common.h>
+#include <asm/arch/dram.h>
+
+static struct dram_para dram_para = {
+       .clock = 360,
+       .type = 3,
+       .rank_num = 1,
+       .density = 4096,
+       .io_width = 16,
+       .bus_width = 32,
+       .cas = 6,
+       .zq = 123,
+       .odt_en = 0,
+       .size = 1024,
+       .tpr0 = 0x30926692,
+       .tpr1 = 0x1090,
+       .tpr2 = 0x1a0c8,
+       .tpr3 = 0,
+       .tpr4 = 0,
+       .tpr5 = 0,
+       .emr1 = 0,
+       .emr2 = 0,
+       .emr3 = 0,
+};
+
+unsigned long sunxi_dram_init(void)
+{
+       return dramc_init(&dram_para);
+}
diff --git a/board/sunxi/dram_sun4i_360_1024_iow8.c b/board/sunxi/dram_sun4i_360_1024_iow8.c
new file mode 100644 (file)
index 0000000..2a5c9ed
--- /dev/null
@@ -0,0 +1,31 @@
+/* this file is generated, don't edit it yourself */
+
+#include <common.h>
+#include <asm/arch/dram.h>
+
+static struct dram_para dram_para = {
+       .clock = 360,
+       .type = 3,
+       .rank_num = 1,
+       .density = 2048,
+       .io_width = 8,
+       .bus_width = 32,
+       .cas = 6,
+       .zq = 123,
+       .odt_en = 0,
+       .size = 1024,
+       .tpr0 = 0x30926692,
+       .tpr1 = 0x1090,
+       .tpr2 = 0x1a0c8,
+       .tpr3 = 0,
+       .tpr4 = 0,
+       .tpr5 = 0,
+       .emr1 = 0,
+       .emr2 = 0,
+       .emr3 = 0,
+};
+
+unsigned long sunxi_dram_init(void)
+{
+       return dramc_init(&dram_para);
+}
diff --git a/board/sunxi/dram_sun4i_360_512.c b/board/sunxi/dram_sun4i_360_512.c
new file mode 100644 (file)
index 0000000..48aa6e2
--- /dev/null
@@ -0,0 +1,31 @@
+/* this file is generated, don't edit it yourself */
+
+#include <common.h>
+#include <asm/arch/dram.h>
+
+static struct dram_para dram_para = {
+       .clock = 360,
+       .type = 3,
+       .rank_num = 1,
+       .density = 2048,
+       .io_width = 16,
+       .bus_width = 32,
+       .cas = 6,
+       .zq = 123,
+       .odt_en = 0,
+       .size = 512,
+       .tpr0 = 0x30926692,
+       .tpr1 = 0x1090,
+       .tpr2 = 0x1a0c8,
+       .tpr3 = 0,
+       .tpr4 = 0,
+       .tpr5 = 0,
+       .emr1 = 0,
+       .emr2 = 0,
+       .emr3 = 0,
+};
+
+unsigned long sunxi_dram_init(void)
+{
+       return dramc_init(&dram_para);
+}
diff --git a/board/sunxi/dram_sun4i_384_1024_iow8.c b/board/sunxi/dram_sun4i_384_1024_iow8.c
new file mode 100644 (file)
index 0000000..b0fcc55
--- /dev/null
@@ -0,0 +1,31 @@
+/* this file is generated, don't edit it yourself */
+
+#include <common.h>
+#include <asm/arch/dram.h>
+
+static struct dram_para dram_para = {
+       .clock = 384,
+       .type = 3,
+       .rank_num = 1,
+       .density = 2048,
+       .io_width = 8,
+       .bus_width = 32,
+       .cas = 6,
+       .zq = 123,
+       .odt_en = 0,
+       .size = 1024,
+       .tpr0 = 0x30926692,
+       .tpr1 = 0x1090,
+       .tpr2 = 0x1a0c8,
+       .tpr3 = 0,
+       .tpr4 = 0,
+       .tpr5 = 0,
+       .emr1 = 0x4,
+       .emr2 = 0,
+       .emr3 = 0,
+};
+
+unsigned long sunxi_dram_init(void)
+{
+       return dramc_init(&dram_para);
+}
diff --git a/board/sunxi/dram_sun7i_384_1024_iow16.c b/board/sunxi/dram_sun7i_384_1024_iow16.c
new file mode 100644 (file)
index 0000000..04e4b1e
--- /dev/null
@@ -0,0 +1,31 @@
+/* this file is generated, don't edit it yourself */
+
+#include "common.h"
+#include <asm/arch/dram.h>
+
+static struct dram_para dram_para = {
+       .clock = 384,
+       .type = 3,
+       .rank_num = 1,
+       .density = 4096,
+       .io_width = 16,
+       .bus_width = 32,
+       .cas = 9,
+       .zq = 0x7f,
+       .odt_en = 0,
+       .size = 1024,
+       .tpr0 = 0x42d899b7,
+       .tpr1 = 0xa090,
+       .tpr2 = 0x22a00,
+       .tpr3 = 0,
+       .tpr4 = 0,
+       .tpr5 = 0,
+       .emr1 = 0x4,
+       .emr2 = 0x10,
+       .emr3 = 0,
+};
+
+unsigned long sunxi_dram_init(void)
+{
+       return dramc_init(&dram_para);
+}
diff --git a/board/sunxi/dram_sun7i_384_512_busw16_iow16.c b/board/sunxi/dram_sun7i_384_512_busw16_iow16.c
new file mode 100644 (file)
index 0000000..2e36011
--- /dev/null
@@ -0,0 +1,31 @@
+/* this file is generated, don't edit it yourself */
+
+#include "common.h"
+#include <asm/arch/dram.h>
+
+static struct dram_para dram_para = {
+       .clock = 384,
+       .type = 3,
+       .rank_num = 1,
+       .density = 4096,
+       .io_width = 16,
+       .bus_width = 16,
+       .cas = 9,
+       .zq = 0x7f,
+       .odt_en = 0,
+       .size = 512,
+       .tpr0 = 0x42d899b7,
+       .tpr1 = 0xa090,
+       .tpr2 = 0x22a00,
+       .tpr3 = 0,
+       .tpr4 = 0,
+       .tpr5 = 0,
+       .emr1 = 0x4,
+       .emr2 = 0x10,
+       .emr3 = 0,
+};
+
+unsigned long sunxi_dram_init(void)
+{
+       return dramc_init(&dram_para);
+}
diff --git a/board/svm_sc8xx/Kconfig b/board/svm_sc8xx/Kconfig
new file mode 100644 (file)
index 0000000..522b1a8
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_SVM_SC8XX
+
+config SYS_BOARD
+       string
+       default "svm_sc8xx"
+
+config SYS_CONFIG_NAME
+       string
+       default "svm_sc8xx"
+
+endif
diff --git a/board/svm_sc8xx/MAINTAINERS b/board/svm_sc8xx/MAINTAINERS
new file mode 100644 (file)
index 0000000..c19bcae
--- /dev/null
@@ -0,0 +1,6 @@
+SVM_SC8XX BOARD
+M:     John Zhan <zhanz@sinovee.com>
+S:     Orphan (since 2014-06)
+F:     board/svm_sc8xx/
+F:     include/configs/svm_sc8xx.h
+F:     configs/svm_sc8xx_defconfig
diff --git a/board/synopsys/Kconfig b/board/synopsys/Kconfig
new file mode 100644 (file)
index 0000000..22034c1
--- /dev/null
@@ -0,0 +1,31 @@
+if TARGET_ARCANGEL4
+
+config SYS_CPU
+       string
+       default "arc700"
+
+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_VENDOR
+       string
+       default "synopsys"
+
+config SYS_CONFIG_NAME
+       string
+       default "arcangel4-be"
+
+endif
diff --git a/board/synopsys/MAINTAINERS b/board/synopsys/MAINTAINERS
new file mode 100644 (file)
index 0000000..720edd8
--- /dev/null
@@ -0,0 +1,7 @@
+- BOARD
+M:     Alexey Brodkin <abrodkin@synopsys.com>
+S:     Maintained
+F:     include/configs/arcangel4.h
+F:     configs/arcangel4_defconfig
+F:     include/configs/arcangel4-be.h
+F:     configs/arcangel4-be_defconfig
diff --git a/board/synopsys/axs101/Kconfig b/board/synopsys/axs101/Kconfig
new file mode 100644 (file)
index 0000000..535b8eb
--- /dev/null
@@ -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/synopsys/axs101/MAINTAINERS b/board/synopsys/axs101/MAINTAINERS
new file mode 100644 (file)
index 0000000..481bbcc
--- /dev/null
@@ -0,0 +1,6 @@
+AXS101 BOARD
+M:     Alexey Brodkin <abrodkin@synopsys.com>
+S:     Maintained
+F:     board/synopsys/axs101/
+F:     include/configs/axs101.h
+F:     configs/axs101_defconfig
diff --git a/board/syteco/jadecpu/Kconfig b/board/syteco/jadecpu/Kconfig
new file mode 100644 (file)
index 0000000..c00204a
--- /dev/null
@@ -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/jadecpu/MAINTAINERS b/board/syteco/jadecpu/MAINTAINERS
new file mode 100644 (file)
index 0000000..b53e7ca
--- /dev/null
@@ -0,0 +1,6 @@
+JADECPU BOARD
+M:     Matthias Weisser <weisserm@arcor.de>
+S:     Maintained
+F:     board/syteco/jadecpu/
+F:     include/configs/jadecpu.h
+F:     configs/jadecpu_defconfig
diff --git a/board/syteco/zmx25/Kconfig b/board/syteco/zmx25/Kconfig
new file mode 100644 (file)
index 0000000..dbf34e5
--- /dev/null
@@ -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/syteco/zmx25/MAINTAINERS b/board/syteco/zmx25/MAINTAINERS
new file mode 100644 (file)
index 0000000..90f9fab
--- /dev/null
@@ -0,0 +1,6 @@
+ZMX25 BOARD
+M:     Matthias Weisser <weisserm@arcor.de>
+S:     Maintained
+F:     board/syteco/zmx25/
+F:     include/configs/zmx25.h
+F:     configs/zmx25_defconfig
diff --git a/board/t3corp/Kconfig b/board/t3corp/Kconfig
new file mode 100644 (file)
index 0000000..818293a
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_T3CORP
+
+config SYS_BOARD
+       string
+       default "t3corp"
+
+config SYS_CONFIG_NAME
+       string
+       default "t3corp"
+
+endif
diff --git a/board/t3corp/MAINTAINERS b/board/t3corp/MAINTAINERS
new file mode 100644 (file)
index 0000000..eaf28c4
--- /dev/null
@@ -0,0 +1,6 @@
+T3CORP BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/t3corp/
+F:     include/configs/t3corp.h
+F:     configs/t3corp_defconfig
diff --git a/board/taskit/stamp9g20/Kconfig b/board/taskit/stamp9g20/Kconfig
new file mode 100644 (file)
index 0000000..3aecad9
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/taskit/stamp9g20/MAINTAINERS b/board/taskit/stamp9g20/MAINTAINERS
new file mode 100644 (file)
index 0000000..a91c196
--- /dev/null
@@ -0,0 +1,7 @@
+STAMP9G20 BOARD
+M:     Markus Hubig <mhubig@imko.de>
+S:     Maintained
+F:     board/taskit/stamp9g20/
+F:     include/configs/stamp9g20.h
+F:     configs/portuxg20_defconfig
+F:     configs/stamp9g20_defconfig
diff --git a/board/tcm-bf518/Kconfig b/board/tcm-bf518/Kconfig
new file mode 100644 (file)
index 0000000..a246099
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_TCM_BF518
+
+config SYS_BOARD
+       string
+       default "tcm-bf518"
+
+config SYS_CONFIG_NAME
+       string
+       default "tcm-bf518"
+
+endif
diff --git a/board/tcm-bf518/MAINTAINERS b/board/tcm-bf518/MAINTAINERS
new file mode 100644 (file)
index 0000000..f649b06
--- /dev/null
@@ -0,0 +1,6 @@
+TCM-BF518 BOARD
+M:     Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+S:     Orphan (since 2014-03)
+F:     board/tcm-bf518/
+F:     include/configs/tcm-bf518.h
+F:     configs/tcm-bf518_defconfig
diff --git a/board/tcm-bf537/Kconfig b/board/tcm-bf537/Kconfig
new file mode 100644 (file)
index 0000000..a7f1b21
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_TCM_BF537
+
+config SYS_BOARD
+       string
+       default "tcm-bf537"
+
+config SYS_CONFIG_NAME
+       string
+       default "tcm-bf537"
+
+endif
diff --git a/board/tcm-bf537/MAINTAINERS b/board/tcm-bf537/MAINTAINERS
new file mode 100644 (file)
index 0000000..9ee557d
--- /dev/null
@@ -0,0 +1,6 @@
+TCM-BF537 BOARD
+M:     Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+S:     Orphan (since 2014-03)
+F:     board/tcm-bf537/
+F:     include/configs/tcm-bf537.h
+F:     configs/tcm-bf537_defconfig
diff --git a/board/technexion/tao3530/Kconfig b/board/technexion/tao3530/Kconfig
new file mode 100644 (file)
index 0000000..06e56a4
--- /dev/null
@@ -0,0 +1,23 @@
+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/tao3530/MAINTAINERS b/board/technexion/tao3530/MAINTAINERS
new file mode 100644 (file)
index 0000000..ad02b46
--- /dev/null
@@ -0,0 +1,11 @@
+TAO3530 BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/technexion/tao3530/
+F:     include/configs/tao3530.h
+F:     configs/omap3_ha_defconfig
+
+TAO3530 BOARD
+M:     Tapani Utriainen <linuxfae@technexion.com>
+S:     Maintained
+F:     configs/tao3530_defconfig
diff --git a/board/technexion/twister/Kconfig b/board/technexion/twister/Kconfig
new file mode 100644 (file)
index 0000000..1790f6d
--- /dev/null
@@ -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/technexion/twister/MAINTAINERS b/board/technexion/twister/MAINTAINERS
new file mode 100644 (file)
index 0000000..1ce2b37
--- /dev/null
@@ -0,0 +1,6 @@
+TWISTER BOARD
+M:     Stefano Babic <sbabic@denx.de>
+S:     Maintained
+F:     board/technexion/twister/
+F:     include/configs/twister.h
+F:     configs/twister_defconfig
diff --git a/board/teejet/mt_ventoux/Kconfig b/board/teejet/mt_ventoux/Kconfig
new file mode 100644 (file)
index 0000000..96cf7c0
--- /dev/null
@@ -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/teejet/mt_ventoux/MAINTAINERS b/board/teejet/mt_ventoux/MAINTAINERS
new file mode 100644 (file)
index 0000000..d23464c
--- /dev/null
@@ -0,0 +1,6 @@
+MT_VENTOUX BOARD
+M:     Stefano Babic <sbabic@denx.de>
+S:     Maintained
+F:     board/teejet/mt_ventoux/
+F:     include/configs/mt_ventoux.h
+F:     configs/mt_ventoux_defconfig
diff --git a/board/ti/am335x/Kconfig b/board/ti/am335x/Kconfig
new file mode 100644 (file)
index 0000000..c3b61af
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/ti/am335x/MAINTAINERS b/board/ti/am335x/MAINTAINERS
new file mode 100644 (file)
index 0000000..d166fa0
--- /dev/null
@@ -0,0 +1,17 @@
+AM335X BOARD
+M:     Tom Rini <trini@ti.com>
+S:     Maintained
+F:     board/ti/am335x/
+F:     include/configs/am335x_evm.h
+F:     configs/am335x_boneblack_defconfig
+F:     configs/am335x_boneblack_vboot_defconfig
+F:     configs/am335x_evm_defconfig
+F:     configs/am335x_evm_nor_defconfig
+F:     configs/am335x_evm_norboot_defconfig
+F:     configs/am335x_evm_spiboot_defconfig
+F:     configs/am335x_evm_uart1_defconfig
+F:     configs/am335x_evm_uart2_defconfig
+F:     configs/am335x_evm_uart3_defconfig
+F:     configs/am335x_evm_uart4_defconfig
+F:     configs/am335x_evm_uart5_defconfig
+F:     configs/am335x_evm_usbspl_defconfig
diff --git a/board/ti/am3517crane/Kconfig b/board/ti/am3517crane/Kconfig
new file mode 100644 (file)
index 0000000..fdb20ab
--- /dev/null
@@ -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/am3517crane/MAINTAINERS b/board/ti/am3517crane/MAINTAINERS
new file mode 100644 (file)
index 0000000..cbc3213
--- /dev/null
@@ -0,0 +1,6 @@
+AM3517CRANE BOARD
+M:     Nagendra T S  <nagendra@mistralsolutions.com>
+S:     Maintained
+F:     board/ti/am3517crane/
+F:     include/configs/am3517_crane.h
+F:     configs/am3517_crane_defconfig
diff --git a/board/ti/am43xx/Kconfig b/board/ti/am43xx/Kconfig
new file mode 100644 (file)
index 0000000..3c61ec1
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/ti/am43xx/MAINTAINERS b/board/ti/am43xx/MAINTAINERS
new file mode 100644 (file)
index 0000000..d375278
--- /dev/null
@@ -0,0 +1,7 @@
+AM43XX BOARD
+M:     Lokesh Vutla <lokeshvutla@ti.com>
+S:     Maintained
+F:     board/ti/am43xx/
+F:     include/configs/am43xx_evm.h
+F:     configs/am43xx_evm_defconfig
+F:     configs/am43xx_evm_qspiboot_defconfig
diff --git a/board/ti/beagle/Kconfig b/board/ti/beagle/Kconfig
new file mode 100644 (file)
index 0000000..15dccdf
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/ti/beagle/MAINTAINERS b/board/ti/beagle/MAINTAINERS
new file mode 100644 (file)
index 0000000..2225fb6
--- /dev/null
@@ -0,0 +1,6 @@
+BEAGLE BOARD
+M:     Tom Rini <trini@ti.com>
+S:     Maintained
+F:     board/ti/beagle/
+F:     include/configs/omap3_beagle.h
+F:     configs/omap3_beagle_defconfig
diff --git a/board/ti/dra7xx/Kconfig b/board/ti/dra7xx/Kconfig
new file mode 100644 (file)
index 0000000..4b13ef4
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/ti/dra7xx/MAINTAINERS b/board/ti/dra7xx/MAINTAINERS
new file mode 100644 (file)
index 0000000..5ec6769
--- /dev/null
@@ -0,0 +1,8 @@
+DRA7XX BOARD
+M:     Lokesh Vutla <lokeshvutla@ti.com>
+S:     Maintained
+F:     board/ti/dra7xx/
+F:     include/configs/dra7xx_evm.h
+F:     configs/dra7xx_evm_defconfig
+F:     configs/dra7xx_evm_qspiboot_defconfig
+F:     configs/dra7xx_evm_uart3_defconfig
diff --git a/board/ti/evm/Kconfig b/board/ti/evm/Kconfig
new file mode 100644 (file)
index 0000000..e342942
--- /dev/null
@@ -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/evm/MAINTAINERS b/board/ti/evm/MAINTAINERS
new file mode 100644 (file)
index 0000000..b2ebadc
--- /dev/null
@@ -0,0 +1,14 @@
+EVM BOARD
+M:     Tom Rini <trini@ti.com>
+S:     Maintained
+F:     board/ti/evm/
+F:     include/configs/omap3_evm.h
+F:     configs/omap3_evm_defconfig
+
+OMAP3_EVM_QUICK_MMC BOARD
+M:     -
+S:     Maintained
+F:     include/configs/omap3_evm_quick_mmc.h
+F:     configs/omap3_evm_quick_mmc_defconfig
+F:     include/configs/omap3_evm_quick_nand.h
+F:     configs/omap3_evm_quick_nand_defconfig
diff --git a/board/ti/ks2_evm/Kconfig b/board/ti/ks2_evm/Kconfig
new file mode 100644 (file)
index 0000000..7890b30
--- /dev/null
@@ -0,0 +1,47 @@
+if TARGET_K2E_EVM
+
+config SYS_CPU
+       string
+       default "armv7"
+
+config SYS_BOARD
+       string
+       default "ks2_evm"
+
+config SYS_VENDOR
+       string
+       default "ti"
+
+config SYS_SOC
+       string
+       default "keystone"
+
+config SYS_CONFIG_NAME
+       string
+       default "k2e_evm"
+
+endif
+
+if TARGET_K2HK_EVM
+
+config SYS_CPU
+       string
+       default "armv7"
+
+config SYS_BOARD
+       string
+       default "ks2_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/ks2_evm/MAINTAINERS b/board/ti/ks2_evm/MAINTAINERS
new file mode 100644 (file)
index 0000000..595a80a
--- /dev/null
@@ -0,0 +1,8 @@
+KS2_EVM BOARD
+M:     Vitaly Andrianov <vitalya@ti.com>
+S:     Maintained
+F:     board/ti/ks2_evm/
+F:     include/configs/k2hk_evm.h
+F:     configs/k2hk_evm_defconfig
+F:     include/configs/k2e_evm.h
+F:     configs/k2e_evm_defconfig
diff --git a/board/ti/omap5912osk/Kconfig b/board/ti/omap5912osk/Kconfig
new file mode 100644 (file)
index 0000000..9f7493a
--- /dev/null
@@ -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/omap5912osk/MAINTAINERS b/board/ti/omap5912osk/MAINTAINERS
new file mode 100644 (file)
index 0000000..43ffb9b
--- /dev/null
@@ -0,0 +1,6 @@
+OMAP5912OSK BOARD
+M:     Rishi Bhattacharya <rishi@ti.com>
+S:     Maintained
+F:     board/ti/omap5912osk/
+F:     include/configs/omap5912osk.h
+F:     configs/omap5912osk_defconfig
diff --git a/board/ti/omap5_uevm/Kconfig b/board/ti/omap5_uevm/Kconfig
new file mode 100644 (file)
index 0000000..7c7d5dc
--- /dev/null
@@ -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/omap5_uevm/MAINTAINERS b/board/ti/omap5_uevm/MAINTAINERS
new file mode 100644 (file)
index 0000000..280ea2f
--- /dev/null
@@ -0,0 +1,6 @@
+OMAP5_UEVM BOARD
+M:     Lokesh Vutla <lokeshvutla@ti.com>
+S:     Maintained
+F:     board/ti/omap5_uevm/
+F:     include/configs/omap5_uevm.h
+F:     configs/omap5_uevm_defconfig
diff --git a/board/ti/panda/Kconfig b/board/ti/panda/Kconfig
new file mode 100644 (file)
index 0000000..be1307d
--- /dev/null
@@ -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/panda/MAINTAINERS b/board/ti/panda/MAINTAINERS
new file mode 100644 (file)
index 0000000..2142368
--- /dev/null
@@ -0,0 +1,6 @@
+PANDA BOARD
+M:     Lokesh Vutla <lokeshvutla@ti.com>
+S:     Maintained
+F:     board/ti/panda/
+F:     include/configs/omap4_panda.h
+F:     configs/omap4_panda_defconfig
diff --git a/board/ti/sdp3430/Kconfig b/board/ti/sdp3430/Kconfig
new file mode 100644 (file)
index 0000000..81989b7
--- /dev/null
@@ -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/sdp3430/MAINTAINERS b/board/ti/sdp3430/MAINTAINERS
new file mode 100644 (file)
index 0000000..943c196
--- /dev/null
@@ -0,0 +1,6 @@
+SDP3430 BOARD
+M:     Nishanth Menon <nm@ti.com>
+S:     Maintained
+F:     board/ti/sdp3430/
+F:     include/configs/omap3_sdp3430.h
+F:     configs/omap3_sdp3430_defconfig
diff --git a/board/ti/sdp4430/Kconfig b/board/ti/sdp4430/Kconfig
new file mode 100644 (file)
index 0000000..140e1f1
--- /dev/null
@@ -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/sdp4430/MAINTAINERS b/board/ti/sdp4430/MAINTAINERS
new file mode 100644 (file)
index 0000000..ac4d0cc
--- /dev/null
@@ -0,0 +1,6 @@
+SDP4430 BOARD
+M:     Lokesh Vutla <lokeshvutla@ti.com>
+S:     Maintained
+F:     board/ti/sdp4430/
+F:     include/configs/omap4_sdp4430.h
+F:     configs/omap4_sdp4430_defconfig
diff --git a/board/ti/ti814x/Kconfig b/board/ti/ti814x/Kconfig
new file mode 100644 (file)
index 0000000..4d4f52c
--- /dev/null
@@ -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/ti814x/MAINTAINERS b/board/ti/ti814x/MAINTAINERS
new file mode 100644 (file)
index 0000000..e39b253
--- /dev/null
@@ -0,0 +1,6 @@
+TI814X BOARD
+M:     Matt Porter <matt.porter@linaro.org>
+S:     Maintained
+F:     board/ti/ti814x/
+F:     include/configs/ti814x_evm.h
+F:     configs/ti814x_evm_defconfig
diff --git a/board/ti/ti816x/Kconfig b/board/ti/ti816x/Kconfig
new file mode 100644 (file)
index 0000000..5821172
--- /dev/null
@@ -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/ti816x/MAINTAINERS b/board/ti/ti816x/MAINTAINERS
new file mode 100644 (file)
index 0000000..8bf6122
--- /dev/null
@@ -0,0 +1,6 @@
+TI816X BOARD
+M:     -
+S:     Maintained
+F:     board/ti/ti816x/
+F:     include/configs/ti816x_evm.h
+F:     configs/ti816x_evm_defconfig
diff --git a/board/ti/tnetv107xevm/Kconfig b/board/ti/tnetv107xevm/Kconfig
new file mode 100644 (file)
index 0000000..9cffd7c
--- /dev/null
@@ -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/ti/tnetv107xevm/MAINTAINERS b/board/ti/tnetv107xevm/MAINTAINERS
new file mode 100644 (file)
index 0000000..76ccfdc
--- /dev/null
@@ -0,0 +1,6 @@
+TNETV107XEVM BOARD
+M:     Chan-Taek Park <c-park@ti.com>
+S:     Orphan (since 2014-06)
+F:     board/ti/tnetv107xevm/
+F:     include/configs/tnetv107x_evm.h
+F:     configs/tnetv107x_evm_defconfig
diff --git a/board/timll/devkit3250/Kconfig b/board/timll/devkit3250/Kconfig
new file mode 100644 (file)
index 0000000..4caee60
--- /dev/null
@@ -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/devkit3250/MAINTAINERS b/board/timll/devkit3250/MAINTAINERS
new file mode 100644 (file)
index 0000000..cb93563
--- /dev/null
@@ -0,0 +1,6 @@
+DEVKIT3250 BOARD
+M:     Vladimir Zapolskiy <vz@mleia.com>
+S:     Maintained
+F:     board/timll/devkit3250/
+F:     include/configs/devkit3250.h
+F:     configs/devkit3250_defconfig
diff --git a/board/timll/devkit8000/Kconfig b/board/timll/devkit8000/Kconfig
new file mode 100644 (file)
index 0000000..d9c920c
--- /dev/null
@@ -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/timll/devkit8000/MAINTAINERS b/board/timll/devkit8000/MAINTAINERS
new file mode 100644 (file)
index 0000000..c490757
--- /dev/null
@@ -0,0 +1,6 @@
+DEVKIT8000 BOARD
+M:     Thomas Weber <weber@corscience.de>
+S:     Maintained
+F:     board/timll/devkit8000/
+F:     include/configs/devkit8000.h
+F:     configs/devkit8000_defconfig
diff --git a/board/toradex/colibri_pxa270/Kconfig b/board/toradex/colibri_pxa270/Kconfig
new file mode 100644 (file)
index 0000000..9367c88
--- /dev/null
@@ -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_pxa270/MAINTAINERS b/board/toradex/colibri_pxa270/MAINTAINERS
new file mode 100644 (file)
index 0000000..b378d7b
--- /dev/null
@@ -0,0 +1,6 @@
+COLIBRI_PXA270 BOARD
+M:     Marek Vasut <marek.vasut@gmail.com>
+S:     Maintained
+F:     board/toradex/colibri_pxa270/
+F:     include/configs/colibri_pxa270.h
+F:     configs/colibri_pxa270_defconfig
diff --git a/board/toradex/colibri_t20_iris/Kconfig b/board/toradex/colibri_t20_iris/Kconfig
new file mode 100644 (file)
index 0000000..334b7e0
--- /dev/null
@@ -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/toradex/colibri_t20_iris/MAINTAINERS b/board/toradex/colibri_t20_iris/MAINTAINERS
new file mode 100644 (file)
index 0000000..c68955b
--- /dev/null
@@ -0,0 +1,6 @@
+COLIBRI_T20_IRIS BOARD
+M:     Lucas Stach <dev@lynxeye.de>
+S:     Maintained
+F:     board/toradex/colibri_t20_iris/
+F:     include/configs/colibri_t20_iris.h
+F:     configs/colibri_t20_iris_defconfig
diff --git a/board/total5200/Kconfig b/board/total5200/Kconfig
new file mode 100644 (file)
index 0000000..774eb98
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_TOTAL5200
+
+config SYS_BOARD
+       string
+       default "total5200"
+
+config SYS_CONFIG_NAME
+       string
+       default "Total5200"
+
+endif
diff --git a/board/total5200/MAINTAINERS b/board/total5200/MAINTAINERS
new file mode 100644 (file)
index 0000000..983b96d
--- /dev/null
@@ -0,0 +1,9 @@
+TOTAL5200 BOARD
+M:     -
+S:     Maintained
+F:     board/total5200/
+F:     include/configs/Total5200.h
+F:     configs/Total5200_defconfig
+F:     configs/Total5200_lowboot_defconfig
+F:     configs/Total5200_Rev2_defconfig
+F:     configs/Total5200_Rev2_lowboot_defconfig
diff --git a/board/tqc/tqm5200/Kconfig b/board/tqc/tqm5200/Kconfig
new file mode 100644 (file)
index 0000000..c692196
--- /dev/null
@@ -0,0 +1,63 @@
+if TARGET_AEV
+
+config SYS_BOARD
+       string
+       default "tqm5200"
+
+config SYS_VENDOR
+       string
+       default "tqc"
+
+config SYS_CONFIG_NAME
+       string
+       default "aev"
+
+endif
+
+if TARGET_CHARON
+
+config SYS_BOARD
+       string
+       default "tqm5200"
+
+config SYS_VENDOR
+       string
+       default "tqc"
+
+config SYS_CONFIG_NAME
+       string
+       default "charon"
+
+endif
+
+if TARGET_TB5200
+
+config SYS_BOARD
+       string
+       default "tqm5200"
+
+config SYS_VENDOR
+       string
+       default "tqc"
+
+config SYS_CONFIG_NAME
+       string
+       default "TB5200"
+
+endif
+
+if TARGET_TQM5200
+
+config SYS_BOARD
+       string
+       default "tqm5200"
+
+config SYS_VENDOR
+       string
+       default "tqc"
+
+config SYS_CONFIG_NAME
+       string
+       default "TQM5200"
+
+endif
diff --git a/board/tqc/tqm5200/MAINTAINERS b/board/tqc/tqm5200/MAINTAINERS
new file mode 100644 (file)
index 0000000..581ef95
--- /dev/null
@@ -0,0 +1,26 @@
+TQM5200 BOARD
+M:     -
+S:     Maintained
+F:     board/tqc/tqm5200/
+F:     include/configs/aev.h
+F:     configs/aev_defconfig
+F:     include/configs/TQM5200.h
+F:     configs/cam5200_defconfig
+F:     configs/cam5200_niosflash_defconfig
+F:     configs/fo300_defconfig
+F:     configs/MiniFAP_defconfig
+F:     include/configs/TB5200.h
+F:     configs/TB5200_defconfig
+F:     configs/TB5200_B_defconfig
+F:     configs/TQM5200_defconfig
+F:     configs/TQM5200_B_defconfig
+F:     configs/TQM5200_B_HIGHBOOT_defconfig
+F:     configs/TQM5200_STK100_defconfig
+F:     configs/TQM5200S_defconfig
+F:     configs/TQM5200S_HIGHBOOT_defconfig
+
+CHARON BOARD
+M:     Heiko Schocher <hs@denx.de>
+S:     Maintained
+F:     include/configs/charon.h
+F:     configs/charon_defconfig
diff --git a/board/tqc/tqm8260/Kconfig b/board/tqc/tqm8260/Kconfig
new file mode 100644 (file)
index 0000000..0cf80dd
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_TQM8260
+
+config SYS_BOARD
+       string
+       default "tqm8260"
+
+config SYS_VENDOR
+       string
+       default "tqc"
+
+config SYS_CONFIG_NAME
+       string
+       default "TQM8260"
+
+endif
diff --git a/board/tqc/tqm8260/MAINTAINERS b/board/tqc/tqm8260/MAINTAINERS
new file mode 100644 (file)
index 0000000..266910f
--- /dev/null
@@ -0,0 +1,16 @@
+TQM8260 BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/tqc/tqm8260/
+F:     include/configs/TQM8260.h
+F:     configs/TQM8255_AA_defconfig
+F:     configs/TQM8260_AA_defconfig
+F:     configs/TQM8260_AB_defconfig
+F:     configs/TQM8260_AC_defconfig
+F:     configs/TQM8260_AD_defconfig
+F:     configs/TQM8260_AE_defconfig
+F:     configs/TQM8260_AF_defconfig
+F:     configs/TQM8260_AG_defconfig
+F:     configs/TQM8260_AH_defconfig
+F:     configs/TQM8260_AI_defconfig
+F:     configs/TQM8265_AA_defconfig
diff --git a/board/tqc/tqm8272/Kconfig b/board/tqc/tqm8272/Kconfig
new file mode 100644 (file)
index 0000000..9be43d3
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_TQM8272
+
+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/tqm8272/MAINTAINERS b/board/tqc/tqm8272/MAINTAINERS
new file mode 100644 (file)
index 0000000..a660de1
--- /dev/null
@@ -0,0 +1,6 @@
+TQM8272 BOARD
+M:     -
+S:     Maintained
+F:     board/tqc/tqm8272/
+F:     include/configs/TQM8272.h
+F:     configs/TQM8272_defconfig
diff --git a/board/tqc/tqm834x/Kconfig b/board/tqc/tqm834x/Kconfig
new file mode 100644 (file)
index 0000000..cd2e817
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_TQM834X
+
+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/tqm834x/MAINTAINERS b/board/tqc/tqm834x/MAINTAINERS
new file mode 100644 (file)
index 0000000..10c14f3
--- /dev/null
@@ -0,0 +1,6 @@
+TQM834X BOARD
+M:     -
+S:     Maintained
+F:     board/tqc/tqm834x/
+F:     include/configs/TQM834x.h
+F:     configs/TQM834x_defconfig
diff --git a/board/tqc/tqm8xx/Kconfig b/board/tqc/tqm8xx/Kconfig
new file mode 100644 (file)
index 0000000..5700d22
--- /dev/null
@@ -0,0 +1,287 @@
+if TARGET_FPS850L
+
+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_BOARD
+       string
+       default "tqm8xx"
+
+config SYS_VENDOR
+       string
+       default "tqc"
+
+config SYS_CONFIG_NAME
+       string
+       default "FPS860L"
+
+endif
+
+if TARGET_NSCU
+
+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_BOARD
+       string
+       default "tqm8xx"
+
+config SYS_VENDOR
+       string
+       default "tqc"
+
+config SYS_CONFIG_NAME
+       string
+       default "SM850"
+
+endif
+
+if TARGET_TK885D
+
+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_BOARD
+       string
+       default "tqm8xx"
+
+config SYS_VENDOR
+       string
+       default "tqc"
+
+config SYS_CONFIG_NAME
+       string
+       default "TQM823L"
+
+endif
+
+if TARGET_TQM823M
+
+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_BOARD
+       string
+       default "tqm8xx"
+
+config SYS_VENDOR
+       string
+       default "tqc"
+
+config SYS_CONFIG_NAME
+       string
+       default "TQM850L"
+
+endif
+
+if TARGET_TQM850M
+
+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_BOARD
+       string
+       default "tqm8xx"
+
+config SYS_VENDOR
+       string
+       default "tqc"
+
+config SYS_CONFIG_NAME
+       string
+       default "TQM855L"
+
+endif
+
+if TARGET_TQM855M
+
+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_BOARD
+       string
+       default "tqm8xx"
+
+config SYS_VENDOR
+       string
+       default "tqc"
+
+config SYS_CONFIG_NAME
+       string
+       default "TQM860L"
+
+endif
+
+if TARGET_TQM860M
+
+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_BOARD
+       string
+       default "tqm8xx"
+
+config SYS_VENDOR
+       string
+       default "tqc"
+
+config SYS_CONFIG_NAME
+       string
+       default "TQM862L"
+
+endif
+
+if TARGET_TQM862M
+
+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_BOARD
+       string
+       default "tqm8xx"
+
+config SYS_VENDOR
+       string
+       default "tqc"
+
+config SYS_CONFIG_NAME
+       string
+       default "TQM866M"
+
+endif
+
+if TARGET_TQM885D
+
+config SYS_BOARD
+       string
+       default "tqm8xx"
+
+config SYS_VENDOR
+       string
+       default "tqc"
+
+config SYS_CONFIG_NAME
+       string
+       default "TQM885D"
+
+endif
+
+if TARGET_VIRTLAB2
+
+config SYS_BOARD
+       string
+       default "tqm8xx"
+
+config SYS_VENDOR
+       string
+       default "tqc"
+
+config SYS_CONFIG_NAME
+       string
+       default "virtlab2"
+
+endif
diff --git a/board/tqc/tqm8xx/MAINTAINERS b/board/tqc/tqm8xx/MAINTAINERS
new file mode 100644 (file)
index 0000000..161fa68
--- /dev/null
@@ -0,0 +1,47 @@
+TQM8XX BOARD
+M:     Wolfgang Denk <wd@denx.de>
+S:     Maintained
+F:     board/tqc/tqm8xx/
+F:     include/configs/FPS850L.h
+F:     configs/FPS850L_defconfig
+F:     include/configs/FPS860L.h
+F:     configs/FPS860L_defconfig
+F:     include/configs/SM850.h
+F:     configs/SM850_defconfig
+F:     include/configs/TQM823L.h
+F:     configs/TQM823L_defconfig
+F:     configs/TQM823L_LCD_defconfig
+F:     include/configs/TQM823M.h
+F:     configs/TQM823M_defconfig
+F:     include/configs/TQM850L.h
+F:     configs/TQM850L_defconfig
+F:     include/configs/TQM850M.h
+F:     configs/TQM850M_defconfig
+F:     include/configs/TQM855L.h
+F:     configs/TQM855L_defconfig
+F:     include/configs/TQM855M.h
+F:     configs/TQM855M_defconfig
+F:     include/configs/TQM860L.h
+F:     configs/TQM860L_defconfig
+F:     include/configs/TQM860M.h
+F:     configs/TQM860M_defconfig
+F:     include/configs/TQM862L.h
+F:     configs/TQM862L_defconfig
+F:     include/configs/TQM862M.h
+F:     configs/TQM862M_defconfig
+F:     include/configs/TQM866M.h
+F:     configs/TQM866M_defconfig
+F:     include/configs/TQM885D.h
+F:     configs/TQM885D_defconfig
+F:     configs/TTTech_defconfig
+F:     include/configs/virtlab2.h
+F:     configs/virtlab2_defconfig
+F:     configs/wtk_defconfig
+
+NSCU BOARD
+M:     -
+S:     Maintained
+F:     include/configs/NSCU.h
+F:     configs/NSCU_defconfig
+F:     include/configs/TK885D.h
+F:     configs/TK885D_defconfig
diff --git a/board/trizepsiv/Kconfig b/board/trizepsiv/Kconfig
new file mode 100644 (file)
index 0000000..ddd2ce3
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_TRIZEPSIV
+
+config SYS_CPU
+       string
+       default "pxa"
+
+config SYS_BOARD
+       string
+       default "trizepsiv"
+
+config SYS_CONFIG_NAME
+       string
+       default "trizepsiv"
+
+endif
diff --git a/board/trizepsiv/MAINTAINERS b/board/trizepsiv/MAINTAINERS
new file mode 100644 (file)
index 0000000..ba48c2e
--- /dev/null
@@ -0,0 +1,7 @@
+TRIZEPSIV BOARD
+M:     Stefano Babic <sbabic@denx.de>
+S:     Maintained
+F:     board/trizepsiv/
+F:     include/configs/trizepsiv.h
+F:     configs/polaris_defconfig
+F:     configs/trizepsiv_defconfig
diff --git a/board/ttcontrol/vision2/Kconfig b/board/ttcontrol/vision2/Kconfig
new file mode 100644 (file)
index 0000000..3b18bea
--- /dev/null
@@ -0,0 +1,23 @@
+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"
+
+endif
diff --git a/board/ttcontrol/vision2/MAINTAINERS b/board/ttcontrol/vision2/MAINTAINERS
new file mode 100644 (file)
index 0000000..cfc9903
--- /dev/null
@@ -0,0 +1,6 @@
+VISION2 BOARD
+M:     Stefano Babic <sbabic@denx.de>
+S:     Maintained
+F:     board/ttcontrol/vision2/
+F:     include/configs/vision2.h
+F:     configs/vision2_defconfig
diff --git a/board/udoo/Kconfig b/board/udoo/Kconfig
new file mode 100644 (file)
index 0000000..69dbce0
--- /dev/null
@@ -0,0 +1,19 @@
+if TARGET_UDOO
+
+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"
+
+endif
diff --git a/board/udoo/MAINTAINERS b/board/udoo/MAINTAINERS
new file mode 100644 (file)
index 0000000..ee8b61e
--- /dev/null
@@ -0,0 +1,6 @@
+UDOO BOARD
+M:     Fabio Estevam <fabio.estevam@freescale.com>
+S:     Maintained
+F:     board/udoo/
+F:     include/configs/udoo.h
+F:     configs/udoo_quad_defconfig
diff --git a/board/utx8245/Kconfig b/board/utx8245/Kconfig
new file mode 100644 (file)
index 0000000..3dd264b
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_UTX8245
+
+config SYS_BOARD
+       string
+       default "utx8245"
+
+config SYS_CONFIG_NAME
+       string
+       default "utx8245"
+
+endif
diff --git a/board/utx8245/MAINTAINERS b/board/utx8245/MAINTAINERS
new file mode 100644 (file)
index 0000000..bed69c8
--- /dev/null
@@ -0,0 +1,6 @@
+UTX8245 BOARD
+M:     Greg Allen <gallen@arlut.utexas.edu>
+S:     Maintained
+F:     board/utx8245/
+F:     include/configs/utx8245.h
+F:     configs/utx8245_defconfig
diff --git a/board/v38b/Kconfig b/board/v38b/Kconfig
new file mode 100644 (file)
index 0000000..f473d89
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_V38B
+
+config SYS_BOARD
+       string
+       default "v38b"
+
+config SYS_CONFIG_NAME
+       string
+       default "v38b"
+
+endif
diff --git a/board/v38b/MAINTAINERS b/board/v38b/MAINTAINERS
new file mode 100644 (file)
index 0000000..1b12d0b
--- /dev/null
@@ -0,0 +1,6 @@
+V38B BOARD
+M:     -
+S:     Maintained
+F:     board/v38b/
+F:     include/configs/v38b.h
+F:     configs/v38b_defconfig
diff --git a/board/ve8313/Kconfig b/board/ve8313/Kconfig
new file mode 100644 (file)
index 0000000..ed9efbf
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_VE8313
+
+config SYS_BOARD
+       string
+       default "ve8313"
+
+config SYS_CONFIG_NAME
+       string
+       default "ve8313"
+
+endif
diff --git a/board/ve8313/MAINTAINERS b/board/ve8313/MAINTAINERS
new file mode 100644 (file)
index 0000000..e3ca332
--- /dev/null
@@ -0,0 +1,6 @@
+VE8313 BOARD
+M:     Heiko Schocher <hs@denx.de>
+S:     Maintained
+F:     board/ve8313/
+F:     include/configs/ve8313.h
+F:     configs/ve8313_defconfig
diff --git a/board/vpac270/Kconfig b/board/vpac270/Kconfig
new file mode 100644 (file)
index 0000000..e9170b0
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_VPAC270
+
+config SYS_CPU
+       string
+       default "pxa"
+
+config SYS_BOARD
+       string
+       default "vpac270"
+
+config SYS_CONFIG_NAME
+       string
+       default "vpac270"
+
+endif
diff --git a/board/vpac270/MAINTAINERS b/board/vpac270/MAINTAINERS
new file mode 100644 (file)
index 0000000..1c62765
--- /dev/null
@@ -0,0 +1,8 @@
+VPAC270 BOARD
+M:     Marek Vasut <marek.vasut@gmail.com>
+S:     Maintained
+F:     board/vpac270/
+F:     include/configs/vpac270.h
+F:     configs/vpac270_nor_128_defconfig
+F:     configs/vpac270_nor_256_defconfig
+F:     configs/vpac270_ond_256_defconfig
diff --git a/board/w7o/Kconfig b/board/w7o/Kconfig
new file mode 100644 (file)
index 0000000..c0e879a
--- /dev/null
@@ -0,0 +1,23 @@
+if TARGET_W7OLMC
+
+config SYS_BOARD
+       string
+       default "w7o"
+
+config SYS_CONFIG_NAME
+       string
+       default "W7OLMC"
+
+endif
+
+if TARGET_W7OLMG
+
+config SYS_BOARD
+       string
+       default "w7o"
+
+config SYS_CONFIG_NAME
+       string
+       default "W7OLMG"
+
+endif
diff --git a/board/w7o/MAINTAINERS b/board/w7o/MAINTAINERS
new file mode 100644 (file)
index 0000000..bfedee5
--- /dev/null
@@ -0,0 +1,8 @@
+W7O BOARD
+M:     Erik Theisen <etheisen@mindspring.com>
+S:     Maintained
+F:     board/w7o/
+F:     include/configs/W7OLMC.h
+F:     configs/W7OLMC_defconfig
+F:     include/configs/W7OLMG.h
+F:     configs/W7OLMG_defconfig
diff --git a/board/wandboard/Kconfig b/board/wandboard/Kconfig
new file mode 100644 (file)
index 0000000..a323afa
--- /dev/null
@@ -0,0 +1,19 @@
+if TARGET_WANDBOARD
+
+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"
+
+endif
diff --git a/board/wandboard/MAINTAINERS b/board/wandboard/MAINTAINERS
new file mode 100644 (file)
index 0000000..b986980
--- /dev/null
@@ -0,0 +1,8 @@
+WANDBOARD BOARD
+M:     Fabio Estevam <fabio.estevam@freescale.com>
+S:     Maintained
+F:     board/wandboard/
+F:     include/configs/wandboard.h
+F:     configs/wandboard_dl_defconfig
+F:     configs/wandboard_quad_defconfig
+F:     configs/wandboard_solo_defconfig
diff --git a/board/woodburn/Kconfig b/board/woodburn/Kconfig
new file mode 100644 (file)
index 0000000..1aca934
--- /dev/null
@@ -0,0 +1,39 @@
+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"
+
+endif
diff --git a/board/woodburn/MAINTAINERS b/board/woodburn/MAINTAINERS
new file mode 100644 (file)
index 0000000..715f2ca
--- /dev/null
@@ -0,0 +1,12 @@
+WOODBURN BOARD
+M:     Stefano Babic <sbabic@denx.de>
+S:     Maintained
+F:     board/woodburn/
+F:     include/configs/woodburn.h
+F:     configs/woodburn_defconfig
+
+WOODBURN_SD BOARD
+M:     -
+S:     Maintained
+F:     include/configs/woodburn_sd.h
+F:     configs/woodburn_sd_defconfig
diff --git a/board/xaeniax/Kconfig b/board/xaeniax/Kconfig
new file mode 100644 (file)
index 0000000..9b41435
--- /dev/null
@@ -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/xaeniax/MAINTAINERS b/board/xaeniax/MAINTAINERS
new file mode 100644 (file)
index 0000000..f2fa4bf
--- /dev/null
@@ -0,0 +1,6 @@
+XAENIAX BOARD
+M:     -
+S:     Maintained
+F:     board/xaeniax/
+F:     include/configs/xaeniax.h
+F:     configs/xaeniax_defconfig
diff --git a/board/xes/xpedite1000/Kconfig b/board/xes/xpedite1000/Kconfig
new file mode 100644 (file)
index 0000000..115439a
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_XPEDITE1000
+
+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/xpedite1000/MAINTAINERS b/board/xes/xpedite1000/MAINTAINERS
new file mode 100644 (file)
index 0000000..055ce6a
--- /dev/null
@@ -0,0 +1,6 @@
+XPEDITE1000 BOARD
+M:     Peter Tyser <ptyser@xes-inc.com>
+S:     Maintained
+F:     board/xes/xpedite1000/
+F:     include/configs/xpedite1000.h
+F:     configs/xpedite1000_defconfig
diff --git a/board/xes/xpedite517x/Kconfig b/board/xes/xpedite517x/Kconfig
new file mode 100644 (file)
index 0000000..b938746
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_XPEDITE517X
+
+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/xpedite517x/MAINTAINERS b/board/xes/xpedite517x/MAINTAINERS
new file mode 100644 (file)
index 0000000..c74fdf4
--- /dev/null
@@ -0,0 +1,6 @@
+XPEDITE517X BOARD
+M:     -
+S:     Maintained
+F:     board/xes/xpedite517x/
+F:     include/configs/xpedite517x.h
+F:     configs/xpedite517x_defconfig
diff --git a/board/xes/xpedite520x/Kconfig b/board/xes/xpedite520x/Kconfig
new file mode 100644 (file)
index 0000000..e524ff1
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_XPEDITE520X
+
+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/xpedite520x/MAINTAINERS b/board/xes/xpedite520x/MAINTAINERS
new file mode 100644 (file)
index 0000000..7f9bf9a
--- /dev/null
@@ -0,0 +1,6 @@
+XPEDITE520X BOARD
+M:     -
+S:     Maintained
+F:     board/xes/xpedite520x/
+F:     include/configs/xpedite520x.h
+F:     configs/xpedite520x_defconfig
diff --git a/board/xes/xpedite537x/Kconfig b/board/xes/xpedite537x/Kconfig
new file mode 100644 (file)
index 0000000..cab2ab3
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_XPEDITE537X
+
+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/xpedite537x/MAINTAINERS b/board/xes/xpedite537x/MAINTAINERS
new file mode 100644 (file)
index 0000000..a13dcf1
--- /dev/null
@@ -0,0 +1,6 @@
+XPEDITE537X BOARD
+M:     -
+S:     Maintained
+F:     board/xes/xpedite537x/
+F:     include/configs/xpedite537x.h
+F:     configs/xpedite537x_defconfig
diff --git a/board/xes/xpedite550x/Kconfig b/board/xes/xpedite550x/Kconfig
new file mode 100644 (file)
index 0000000..fa11719
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_XPEDITE550X
+
+config SYS_BOARD
+       string
+       default "xpedite550x"
+
+config SYS_VENDOR
+       string
+       default "xes"
+
+config SYS_CONFIG_NAME
+       string
+       default "xpedite550x"
+
+endif
diff --git a/board/xes/xpedite550x/MAINTAINERS b/board/xes/xpedite550x/MAINTAINERS
new file mode 100644 (file)
index 0000000..12d321e
--- /dev/null
@@ -0,0 +1,6 @@
+XPEDITE550X BOARD
+M:     -
+S:     Maintained
+F:     board/xes/xpedite550x/
+F:     include/configs/xpedite550x.h
+F:     configs/xpedite550x_defconfig
diff --git a/board/xilinx/microblaze-generic/Kconfig b/board/xilinx/microblaze-generic/Kconfig
new file mode 100644 (file)
index 0000000..b9cb334
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_MICROBLAZE_GENERIC
+
+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/microblaze-generic/MAINTAINERS b/board/xilinx/microblaze-generic/MAINTAINERS
new file mode 100644 (file)
index 0000000..6796d4d
--- /dev/null
@@ -0,0 +1,6 @@
+MICROBLAZE-GENERIC BOARD
+M:     Michal Simek <monstr@monstr.eu>
+S:     Maintained
+F:     board/xilinx/microblaze-generic/
+F:     include/configs/microblaze-generic.h
+F:     configs/microblaze-generic_defconfig
diff --git a/board/xilinx/ml507/Kconfig b/board/xilinx/ml507/Kconfig
new file mode 100644 (file)
index 0000000..6f3483d
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_ML507
+
+config SYS_BOARD
+       string
+       default "ml507"
+
+config SYS_VENDOR
+       string
+       default "xilinx"
+
+config SYS_CONFIG_NAME
+       string
+       default "ml507"
+
+endif
diff --git a/board/xilinx/ml507/MAINTAINERS b/board/xilinx/ml507/MAINTAINERS
new file mode 100644 (file)
index 0000000..8b40f44
--- /dev/null
@@ -0,0 +1,7 @@
+ML507 BOARD
+M:     Ricardo Ribalda <ricardo.ribalda@uam.es>
+S:     Maintained
+F:     board/xilinx/ml507/
+F:     include/configs/ml507.h
+F:     configs/ml507_defconfig
+F:     configs/ml507_flash_defconfig
diff --git a/board/xilinx/ppc405-generic/Kconfig b/board/xilinx/ppc405-generic/Kconfig
new file mode 100644 (file)
index 0000000..98411c7
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_XILINX_PPC405_GENERIC
+
+config SYS_BOARD
+       string
+       default "ppc405-generic"
+
+config SYS_VENDOR
+       string
+       default "xilinx"
+
+config SYS_CONFIG_NAME
+       string
+       default "xilinx-ppc405-generic"
+
+endif
diff --git a/board/xilinx/ppc405-generic/MAINTAINERS b/board/xilinx/ppc405-generic/MAINTAINERS
new file mode 100644 (file)
index 0000000..2b0c98d
--- /dev/null
@@ -0,0 +1,7 @@
+PPC405-GENERIC BOARD
+M:     Ricardo Ribalda <ricardo.ribalda@uam.es>
+S:     Maintained
+F:     board/xilinx/ppc405-generic/
+F:     include/configs/xilinx-ppc405-generic.h
+F:     configs/xilinx-ppc405-generic_defconfig
+F:     configs/xilinx-ppc405-generic_flash_defconfig
diff --git a/board/xilinx/ppc440-generic/Kconfig b/board/xilinx/ppc440-generic/Kconfig
new file mode 100644 (file)
index 0000000..37abe63
--- /dev/null
@@ -0,0 +1,15 @@
+if TARGET_XILINX_PPC440_GENERIC
+
+config SYS_BOARD
+       string
+       default "ppc440-generic"
+
+config SYS_VENDOR
+       string
+       default "xilinx"
+
+config SYS_CONFIG_NAME
+       string
+       default "xilinx-ppc440-generic"
+
+endif
diff --git a/board/xilinx/ppc440-generic/MAINTAINERS b/board/xilinx/ppc440-generic/MAINTAINERS
new file mode 100644 (file)
index 0000000..2d0b11a
--- /dev/null
@@ -0,0 +1,7 @@
+PPC440-GENERIC BOARD
+M:     Ricardo Ribalda <ricardo.ribalda@uam.es>
+S:     Maintained
+F:     board/xilinx/ppc440-generic/
+F:     include/configs/xilinx-ppc440-generic.h
+F:     configs/xilinx-ppc440-generic_defconfig
+F:     configs/xilinx-ppc440-generic_flash_defconfig
diff --git a/board/xilinx/zynq/Kconfig b/board/xilinx/zynq/Kconfig
new file mode 100644 (file)
index 0000000..3b72a5f
--- /dev/null
@@ -0,0 +1,95 @@
+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
+
+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"
+
+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/xilinx/zynq/MAINTAINERS b/board/xilinx/zynq/MAINTAINERS
new file mode 100644 (file)
index 0000000..e167816
--- /dev/null
@@ -0,0 +1,15 @@
+ZYNQ BOARD
+M:     Michal Simek <monstr@monstr.eu>
+M:     Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
+S:     Maintained
+F:     board/xilinx/zynq/
+F:     include/configs/zynq_microzed.h
+F:     configs/zynq_microzed_defconfig
+F:     include/configs/zynq_zc70x.h
+F:     configs/zynq_zc70x_defconfig
+F:     include/configs/zynq_zc770.h
+F:     configs/zynq_zc770_xm010_defconfig
+F:     configs/zynq_zc770_xm012_defconfig
+F:     configs/zynq_zc770_xm013_defconfig
+F:     include/configs/zynq_zed.h
+F:     configs/zynq_zed_defconfig
diff --git a/board/zeus/Kconfig b/board/zeus/Kconfig
new file mode 100644 (file)
index 0000000..5678694
--- /dev/null
@@ -0,0 +1,11 @@
+if TARGET_ZEUS
+
+config SYS_BOARD
+       string
+       default "zeus"
+
+config SYS_CONFIG_NAME
+       string
+       default "zeus"
+
+endif
diff --git a/board/zeus/MAINTAINERS b/board/zeus/MAINTAINERS
new file mode 100644 (file)
index 0000000..3118710
--- /dev/null
@@ -0,0 +1,6 @@
+ZEUS BOARD
+M:     Stefan Roese <sr@denx.de>
+S:     Maintained
+F:     board/zeus/
+F:     include/configs/zeus.h
+F:     configs/zeus_defconfig
diff --git a/board/zipitz2/Kconfig b/board/zipitz2/Kconfig
new file mode 100644 (file)
index 0000000..702edbf
--- /dev/null
@@ -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/zipitz2/MAINTAINERS b/board/zipitz2/MAINTAINERS
new file mode 100644 (file)
index 0000000..55b0f64
--- /dev/null
@@ -0,0 +1,6 @@
+ZIPITZ2 BOARD
+M:     Marek Vasut <marek.vasut@gmail.com>
+S:     Maintained
+F:     board/zipitz2/
+F:     include/configs/zipitz2.h
+F:     configs/zipitz2_defconfig
diff --git a/boards.cfg b/boards.cfg
deleted file mode 100644 (file)
index 44dccbf..0000000
+++ /dev/null
@@ -1,1233 +0,0 @@
-#
-# List of boards
-#
-# Syntax:
-#      white-space separated list of entries;
-#      each entry has the fields documented below.
-#
-#      Unused fields can be specified as "-", or omitted if they
-#      are the last field on the line.
-#
-#      Lines starting with '#' are comments.
-#      Blank lines are ignored.
-#
-#      The CPU field takes the form:
-#              cpu[:spl_cpu]
-#      If spl_cpu is specified the make variable CPU will be set to this
-#      during the SPL build.
-#
-#      The options field takes the form:
-#              <board config name>[:comma separated config options]
-#      Each config option has the form (value defaults to "1"):
-#              option[=value]
-#      So if you have:
-#              FOO:HAS_BAR,BAZ=64
-#      The file include/configs/FOO.h will be used, and these defines created:
-#              #define CONFIG_HAS_BAR  1
-#              #define CONFIG_BAZ      64
-#
-#       The maintainers field lists the e-mail addresses of the board's
-#       maintainers, separated by colons. NOTE: there are spaces in this field!
-#       For any board without permanent maintainer, please contact
-#           Wolfgang Denk <wd@denx.de>
-#       And Cc: the <u-boot@lists.denx.de> mailing list.
-
-# The list should be ordered according to the C locale.
-#
-# To keep the list formatted and sorted, script tools/reformat.py is available.
-# It can be used from a shell:
-#      tools/reformat.py -i -d '-' -s 8 <boards.cfg >boards0.cfg && mv boards0.cfg boards.cfg
-# It can directly be invoked from vim:
-#      :%!tools/reformat.py -i -d '-' -s 8
-#
-# Status, Arch, CPU:SPLCPU, SoC, Vendor, Board name, Target, Options, Maintainers
-###########################################################################################################
-
-Active  aarch64     armv8          -           armltd          vexpress64          vexpress_aemv8a                       vexpress_aemv8a:ARM64                                                                                                             David Feng <fenghua@phytium.com.cn>
-Active  aarch64     armv8          -           armltd          vexpress64          vexpress_aemv8a_semi                  vexpress_aemv8a:ARM64,SEMIHOSTING,BASE_FVP                                                                                        Steve Rae <srae@broadcom.com>
-Active  aarch64     armv8          fsl-lsch3   freescale       ls2085a             ls2085a_emu                           ls2085a_emu:ARM64,EMU                                                                                                             York Sun <yorksun@freescale.com>
-Active  aarch64     armv8          fsl-lsch3   freescale       ls2085a             ls2085a_emu_D4                        ls2085a_emu:ARM64,EMU,SYS_FSL_DDR4                                                                                                York Sun <yorksun@freescale.com>
-Active  aarch64     armv8          fsl-lsch3   freescale       ls2085a             ls2085a_simu                          ls2085a_simu:ARM64,SIMU                                                                                                           York Sun <yorksun@freescale.com>
-Active  arc         arc700         -           abilis          tb100               tb100                                 -                                                                                                                                 Alexey Brodkin <abrodkin@synopsys.com>
-Active  arc         arc700         -           synopsys        -                   arcangel4                             -                                                                                                                                 Alexey Brodkin <abrodkin@synopsys.com>
-Active  arc         arc700         -           synopsys        -                   arcangel4-be                          -                                                                                                                                 Alexey Brodkin <abrodkin@synopsys.com>
-Active  arc         arc700         -           synopsys        axs101              axs101                                -                                                                                                                                 Alexey Brodkin <abrodkin@synopsys.com>
-Active  arm         arm1136        -           armltd          integrator          integratorcp_cm1136                   integratorcp:CM1136                                                                                                               Linus Walleij <linus.walleij@linaro.org>
-Active  arm         arm1136        mx31        -               imx31_phycore       imx31_phycore                         -                                                                                                                                 -
-Active  arm         arm1136        mx31        davedenx        qong                qong                                  -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  arm         arm1136        mx31        freescale       mx31pdk             mx31pdk                               -                                                                                                                                 Fabio Estevam <fabio.estevam@freescale.com>
-Active  arm         arm1136        mx31        hale            tt01                tt01                                  -                                                                                                                                 Helmut Raiger <helmut.raiger@hale.at>
-Active  arm         arm1136        mx31        logicpd         imx31_litekit       imx31_litekit                         -                                                                                                                                 -
-Active  arm         arm1136        mx35        -               woodburn            woodburn                              -                                                                                                                                 Stefano Babic <sbabic@denx.de>
-Active  arm         arm1136        mx35        -               woodburn            woodburn_sd                           woodburn_sd:IMX_CONFIG=board/woodburn/imximage.cfg                                                                                -
-Active  arm         arm1136        mx35        CarMediaLab     flea3               flea3                                 -                                                                                                                                 Stefano Babic <sbabic@denx.de>
-Active  arm         arm1136        mx35        freescale       mx35pdk             mx35pdk                               -                                                                                                                                 Stefano Babic <sbabic@denx.de>
-Active  arm         arm1176        bcm2835     raspberrypi     rpi_b               rpi_b                                 -                                                                                                                                 Stephen Warren <swarren@wwwdotorg.org>
-Active  arm         arm720t        -           armltd          integrator          integratorap_cm720t                   integratorap:CM720T                                                                                                               Linus Walleij <linus.walleij@linaro.org>
-Active  arm         arm920t        -           armltd          integrator          integratorap_cm920t                   integratorap:CM920T                                                                                                               Linus Walleij <linus.walleij@linaro.org>
-Active  arm         arm920t        -           armltd          integrator          integratorcp_cm920t                   integratorcp:CM920T                                                                                                               Linus Walleij <linus.walleij@linaro.org>
-Active  arm         arm920t        a320        faraday         a320evb             a320evb                               -                                                                                                                                 Po-Yu Chuang <ratbert@faraday-tech.com>
-Active  arm         arm920t        at91        atmel           at91rm9200ek        at91rm9200ek                          -                                                                                                                                 Andreas Bießmann <andreas.devel@gmail.com>
-Active  arm         arm920t        at91        atmel           at91rm9200ek        at91rm9200ek_ram                      at91rm9200ek:RAMBOOT                                                                                                              Andreas Bießmann <andreas.devel@gmail.com>
-Active  arm         arm920t        at91        BuS             eb_cpux9k2          eb_cpux9k2                            -                                                                                                                                 Jens Scharsig <esw@bus-elektronik.de>
-Active  arm         arm920t        at91        BuS             eb_cpux9k2          eb_cpux9k2_ram                        eb_cpux9k2:RAMBOOT                                                                                                                Jens Scharsig <esw@bus-elektronik.de>
-Active  arm         arm920t        at91        eukrea          cpuat91             cpuat91                               -                                                                                                                                 Eric Benard <eric@eukrea.com>
-Active  arm         arm920t        at91        eukrea          cpuat91             cpuat91_ram                           cpuat91:RAMBOOT                                                                                                                   Eric Benard <eric@eukrea.com>
-Active  arm         arm920t        ep93xx      cirrus          edb93xx             edb9315a                              edb93xx:MK_edb9315a                                                                                                               Sergey Kostanbaev <sergey.kostanbaev@fairwaves.ru>
-Active  arm         arm920t        imx         -               scb9328             scb9328                               -                                                                                                                                 Torsten Koschorrek <koschorrek@synertronixx.de>
-Active  arm         arm920t        ks8695      -               cm4008              cm4008                                -                                                                                                                                 Greg Ungerer <greg.ungerer@opengear.com>
-Active  arm         arm920t        ks8695      -               cm41xx              cm41xx                                -                                                                                                                                 -
-Active  arm         arm920t        s3c24x0     mpl             vcma9               VCMA9                                 -                                                                                                                                 David Müller <d.mueller@elsoft.ch>
-Active  arm         arm920t        s3c24x0     samsung         smdk2410            smdk2410                              -                                                                                                                                 David Müller <d.mueller@elsoft.ch>
-Active  arm         arm926ejs      -           armltd          integrator          integratorap_cm926ejs                 integratorap:CM926EJ_S                                                                                                            Linus Walleij <linus.walleij@linaro.org>
-Active  arm         arm926ejs      -           armltd          integrator          integratorcp_cm926ejs                 integratorcp:CM924EJ_S                                                                                                            Linus Walleij <linus.walleij@linaro.org>
-Active  arm         arm926ejs      armada100   Marvell         aspenite            aspenite                              -                                                                                                                                 Prafulla Wadaskar <prafulla@marvell.com>
-Active  arm         arm926ejs      armada100   Marvell         gplugd              gplugd                                -                                                                                                                                 Ajay Bhargav <ajay.bhargav@einfochips.com>
-Active  arm         arm926ejs      at91        -               afeb9260            afeb9260                              -                                                                                                                                 Sergey Lapin <slapin@ossfans.org>
-Active  arm         arm926ejs      at91        atmel           at91sam9260ek       at91sam9260ek_dataflash_cs0           at91sam9260ek:AT91SAM9260,SYS_USE_DATAFLASH_CS0                                                                                   Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9260ek       at91sam9260ek_dataflash_cs1           at91sam9260ek:AT91SAM9260,SYS_USE_DATAFLASH_CS1                                                                                   Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9260ek       at91sam9260ek_nandflash               at91sam9260ek:AT91SAM9260,SYS_USE_NANDFLASH                                                                                       Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9260ek       at91sam9g20ek_2mmc_nandflash          at91sam9260ek:AT91SAM9G20,AT91SAM9G20EK_2MMC,SYS_USE_NANDFLASH                                                                    Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9260ek       at91sam9g20ek_dataflash_cs0           at91sam9260ek:AT91SAM9G20,SYS_USE_DATAFLASH_CS0                                                                                   Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9260ek       at91sam9g20ek_dataflash_cs1           at91sam9260ek:AT91SAM9G20,SYS_USE_DATAFLASH_CS1                                                                                   Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9260ek       at91sam9g20ek_mmc                     at91sam9260ek:AT91SAM9G20,SYS_USE_MMC                                                                                             Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9260ek       at91sam9g20ek_nandflash               at91sam9260ek:AT91SAM9G20,SYS_USE_NANDFLASH                                                                                       Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9260ek       at91sam9xeek_dataflash_cs0            at91sam9260ek:AT91SAM9XE,SYS_USE_DATAFLASH_CS0                                                                                    Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9260ek       at91sam9xeek_dataflash_cs1            at91sam9260ek:AT91SAM9XE,SYS_USE_DATAFLASH_CS1                                                                                    Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9260ek       at91sam9xeek_nandflash                at91sam9260ek:AT91SAM9XE,SYS_USE_NANDFLASH                                                                                        Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9261ek       at91sam9261ek_dataflash_cs0           at91sam9261ek:AT91SAM9261,SYS_USE_DATAFLASH_CS0                                                                                   Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9261ek       at91sam9261ek_dataflash_cs3           at91sam9261ek:AT91SAM9261,SYS_USE_DATAFLASH_CS3                                                                                   Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9261ek       at91sam9261ek_nandflash               at91sam9261ek:AT91SAM9261,SYS_USE_NANDFLASH                                                                                       Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9261ek       at91sam9g10ek_dataflash_cs0           at91sam9261ek:AT91SAM9G10,SYS_USE_DATAFLASH_CS0                                                                                   Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9261ek       at91sam9g10ek_dataflash_cs3           at91sam9261ek:AT91SAM9G10,SYS_USE_DATAFLASH_CS3                                                                                   Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9261ek       at91sam9g10ek_nandflash               at91sam9261ek:AT91SAM9G10,SYS_USE_NANDFLASH                                                                                       Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9263ek       at91sam9263ek_dataflash               at91sam9263ek:AT91SAM9263,SYS_USE_DATAFLASH                                                                                       Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9263ek       at91sam9263ek_dataflash_cs0           at91sam9263ek:AT91SAM9263,SYS_USE_DATAFLASH                                                                                       Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9263ek       at91sam9263ek_nandflash               at91sam9263ek:AT91SAM9263,SYS_USE_NANDFLASH                                                                                       Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9263ek       at91sam9263ek_norflash                at91sam9263ek:AT91SAM9263,SYS_USE_NORFLASH                                                                                        Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9263ek       at91sam9263ek_norflash_boot           at91sam9263ek:AT91SAM9263,SYS_USE_BOOT_NORFLASH                                                                                   Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9m10g45ek    at91sam9m10g45ek_mmc                  at91sam9m10g45ek:AT91SAM9M10G45,SYS_USE_MMC                                                                                       Bo Shen<voice.shen@atmel.com>
-Active  arm         arm926ejs      at91        atmel           at91sam9m10g45ek    at91sam9m10g45ek_nandflash            at91sam9m10g45ek:AT91SAM9M10G45,SYS_USE_NANDFLASH                                                                                 Bo Shen<voice.shen@atmel.com>
-Active  arm         arm926ejs      at91        atmel           at91sam9n12ek       at91sam9n12ek_mmc                     at91sam9n12ek:AT91SAM9N12,SYS_USE_MMC                                                                                             Josh Wu <josh.wu@atmel.com>
-Active  arm         arm926ejs      at91        atmel           at91sam9n12ek       at91sam9n12ek_nandflash               at91sam9n12ek:AT91SAM9N12,SYS_USE_NANDFLASH                                                                                       Josh Wu <josh.wu@atmel.com>
-Active  arm         arm926ejs      at91        atmel           at91sam9n12ek       at91sam9n12ek_spiflash                at91sam9n12ek:AT91SAM9N12,SYS_USE_SPIFLASH                                                                                        Josh Wu <josh.wu@atmel.com>
-Active  arm         arm926ejs      at91        atmel           at91sam9rlek        at91sam9rlek_dataflash                at91sam9rlek:AT91SAM9RL,SYS_USE_DATAFLASH                                                                                         Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9rlek        at91sam9rlek_nandflash                at91sam9rlek:AT91SAM9RL,SYS_USE_NANDFLASH                                                                                         Stelian Pop <stelian@popies.net>
-Active  arm         arm926ejs      at91        atmel           at91sam9x5ek        at91sam9x5ek_dataflash                at91sam9x5ek:AT91SAM9X5,SYS_USE_DATAFLASH                                                                                         Bo Shen <voice.shen@atmel.com>
-Active  arm         arm926ejs      at91        atmel           at91sam9x5ek        at91sam9x5ek_mmc                      at91sam9x5ek:AT91SAM9X5,SYS_USE_MMC                                                                                               Bo Shen <voice.shen@atmel.com>
-Active  arm         arm926ejs      at91        atmel           at91sam9x5ek        at91sam9x5ek_nandflash                at91sam9x5ek:AT91SAM9X5,SYS_USE_NANDFLASH                                                                                         Bo Shen <voice.shen@atmel.com>
-Active  arm         arm926ejs      at91        atmel           at91sam9x5ek        at91sam9x5ek_spiflash                 at91sam9x5ek:AT91SAM9X5,SYS_USE_SPIFLASH                                                                                          Bo Shen <voice.shen@atmel.com>
-Active  arm         arm926ejs      at91        bluewater       snapper9260         snapper9260                           snapper9260:AT91SAM9260                                                                                                           Ryan Mallon <ryan@bluewatersys.com>
-Active  arm         arm926ejs      at91        bluewater       snapper9260         snapper9g20                           snapper9260:AT91SAM9G20                                                                                                           Ryan Mallon <ryan@bluewatersys.com>
-Active  arm         arm926ejs      at91        BuS             vl_ma2sc            vl_ma2sc                              -                                                                                                                                 Jens Scharsig <esw@bus-elektronik.de>
-Active  arm         arm926ejs      at91        BuS             vl_ma2sc            vl_ma2sc_ram                          vl_ma2sc:RAMLOAD                                                                                                                  Jens Scharsig <esw@bus-elektronik.de>
-Active  arm         arm926ejs      at91        calao           usb_a9263           usb_a9263_dataflash                   usb_a9263:AT91SAM9263,SYS_USE_DATAFLASH                                                                                           Mateusz Kulikowski <mateusz.kulikowski@gmail.com>
-Active  arm         arm926ejs      at91        egnite          ethernut5           ethernut5                             ethernut5:AT91SAM9XE                                                                                                              egnite GmbH <info@egnite.de>
-Active  arm         arm926ejs      at91        emk             top9000             top9000eval_xe                        top9000:EVAL9000                                                                                                                  Reinhard Meyer <reinhard.meyer@emk-elektronik.de>
-Active  arm         arm926ejs      at91        emk             top9000             top9000su_xe                          top9000:SU9000                                                                                                                    Reinhard Meyer <reinhard.meyer@emk-elektronik.de>
-Active  arm         arm926ejs      at91        esd             meesc               meesc                                 meesc:AT91SAM9263,SYS_USE_NANDFLASH                                                                                               Daniel Gorsulowski <daniel.gorsulowski@esd.eu>
-Active  arm         arm926ejs      at91        esd             meesc               meesc_dataflash                       meesc:AT91SAM9263,SYS_USE_DATAFLASH                                                                                               Daniel Gorsulowski <daniel.gorsulowski@esd.eu>
-Active  arm         arm926ejs      at91        esd             otc570              otc570                                otc570:AT91SAM9263,SYS_USE_NANDFLASH                                                                                              Daniel Gorsulowski <daniel.gorsulowski@esd.eu>
-Active  arm         arm926ejs      at91        esd             otc570              otc570_dataflash                      otc570:AT91SAM9263,SYS_USE_DATAFLASH                                                                                              Daniel Gorsulowski <daniel.gorsulowski@esd.eu>
-Active  arm         arm926ejs      at91        eukrea          cpu9260             cpu9260                               cpu9260:CPU9260                                                                                                                   Eric Benard <eric@eukrea.com>
-Active  arm         arm926ejs      at91        eukrea          cpu9260             cpu9260_128M                          cpu9260:CPU9260,CPU9260_128M                                                                                                      Eric Benard <eric@eukrea.com>
-Active  arm         arm926ejs      at91        eukrea          cpu9260             cpu9260_nand                          cpu9260:CPU9260,NANDBOOT                                                                                                          Eric Benard <eric@eukrea.com>
-Active  arm         arm926ejs      at91        eukrea          cpu9260             cpu9260_nand_128M                     cpu9260:CPU9260,CPU9260_128M,NANDBOOT                                                                                             Eric Benard <eric@eukrea.com>
-Active  arm         arm926ejs      at91        eukrea          cpu9260             cpu9G20                               cpu9260:CPU9G20                                                                                                                   Eric Benard <eric@eukrea.com>
-Active  arm         arm926ejs      at91        eukrea          cpu9260             cpu9G20_128M                          cpu9260:CPU9G20,CPU9G20_128M                                                                                                      Eric Benard <eric@eukrea.com>
-Active  arm         arm926ejs      at91        eukrea          cpu9260             cpu9G20_nand                          cpu9260:CPU9G20,NANDBOOT                                                                                                          Eric Benard <eric@eukrea.com>
-Active  arm         arm926ejs      at91        eukrea          cpu9260             cpu9G20_nand_128M                     cpu9260:CPU9G20,CPU9G20_128M,NANDBOOT                                                                                             Eric Benard <eric@eukrea.com>
-Active  arm         arm926ejs      at91        ronetix         pm9261              pm9261                                pm9261:AT91SAM9261                                                                                                                Ilko Iliev <iliev@ronetix.at>
-Active  arm         arm926ejs      at91        ronetix         pm9263              pm9263                                pm9263:AT91SAM9263                                                                                                                Ilko Iliev <iliev@ronetix.at>
-Active  arm         arm926ejs      at91        ronetix         pm9g45              pm9g45                                pm9g45:AT91SAM9G45                                                                                                                Ilko Iliev <iliev@ronetix.at>
-Active  arm         arm926ejs      at91        siemens         corvus              corvus                                corvus:AT91SAM9M10G45,SYS_USE_NANDFLASH                                                                                           Heiko Schocher <hs@denx.de>
-Active  arm         arm926ejs      at91        siemens         taurus              axm                                   taurus:AT91SAM9G20,MACH_TYPE=2068,BOARD_AXM                                                                                       Heiko Schocher <hs@denx.de>
-Active  arm         arm926ejs      at91        siemens         taurus              taurus                                taurus:AT91SAM9G20,MACH_TYPE=2067,BOARD_TAURUS                                                                                    Heiko Schocher <hs@denx.de>
-Active  arm         arm926ejs      at91        taskit          stamp9g20           portuxg20                             stamp9g20:AT91SAM9G20,PORTUXG20                                                                                                   Markus Hubig <mhubig@imko.de>
-Active  arm         arm926ejs      at91        taskit          stamp9g20           stamp9g20                             stamp9g20:AT91SAM9G20                                                                                                             Markus Hubig <mhubig@imko.de>
-Active  arm         arm926ejs      davinci     ait             cam_enc_4xx         cam_enc_4xx                           -                                                                                                                                 Heiko Schocher <hs@denx.de>
-Active  arm         arm926ejs      davinci     Barix           ipam390             ipam390                               -                                                                                                                                 Heiko Schocher <hs@denx.de>
-Active  arm         arm926ejs      davinci     davinci         da8xxevm            da830evm                              -                                                                                                                                 Nick Thompson <nick.thompson@gefanuc.com>
-Active  arm         arm926ejs      davinci     davinci         da8xxevm            da850_am18xxevm                       da850evm:DA850_AM18X_EVM,MAC_ADDR_IN_EEPROM,SYS_I2C_EEPROM_ADDR_LEN=2,SYS_I2C_EEPROM_ADDR=0x50                                    Sudhakar Rajashekhara <sudhakar.raj@ti.com>
-Active  arm         arm926ejs      davinci     davinci         da8xxevm            da850evm                              da850evm:MAC_ADDR_IN_SPIFLASH                                                                                                     Sudhakar Rajashekhara <sudhakar.raj@ti.com>
-Active  arm         arm926ejs      davinci     davinci         da8xxevm            da850evm_direct_nor                   da850evm:MAC_ADDR_IN_SPIFLASH,USE_NOR,DIRECT_NOR_BOOT                                                                             Sudhakar Rajashekhara <sudhakar.raj@ti.com>
-Active  arm         arm926ejs      davinci     davinci         da8xxevm            hawkboard                             -                                                                                                                                 Syed Mohammed Khasim <sm.khasim@gmail.com>:Sughosh Ganu <urwithsughosh@gmail.com>
-Active  arm         arm926ejs      davinci     davinci         da8xxevm            hawkboard_uart                        hawkboard:UART_U_BOOT                                                                                                             Syed Mohammed Khasim <sm.khasim@gmail.com>:Sughosh Ganu <urwithsughosh@gmail.com>
-Active  arm         arm926ejs      davinci     davinci         dm355evm            davinci_dm355evm                      -                                                                                                                                 Sandeep Paulraj <s-paulraj@ti.com>
-Active  arm         arm926ejs      davinci     davinci         dm355leopard        davinci_dm355leopard                  -                                                                                                                                 Sandeep Paulraj <s-paulraj@ti.com>
-Active  arm         arm926ejs      davinci     davinci         dm365evm            davinci_dm365evm                      -                                                                                                                                 Sandeep Paulraj <s-paulraj@ti.com>
-Active  arm         arm926ejs      davinci     davinci         dm6467evm           davinci_dm6467evm                     davinci_dm6467evm:REFCLK_FREQ=27000000                                                                                            Sandeep Paulraj <s-paulraj@ti.com>
-Active  arm         arm926ejs      davinci     davinci         dm6467evm           davinci_dm6467Tevm                    davinci_dm6467evm:DAVINCI_DM6467TEVM,REFCLK_FREQ=33000000                                                                         Sandeep Paulraj <s-paulraj@ti.com>
-Active  arm         arm926ejs      davinci     davinci         dvevm               davinci_dvevm                         -                                                                                                                                 -
-Active  arm         arm926ejs      davinci     davinci         ea20                ea20                                  -                                                                                                                                 Stefano Babic <sbabic@denx.de>
-Active  arm         arm926ejs      davinci     davinci         schmoogie           davinci_schmoogie                     -                                                                                                                                 -
-Active  arm         arm926ejs      davinci     davinci         sffsdr              davinci_sffsdr                        -                                                                                                                                 -
-Active  arm         arm926ejs      davinci     davinci         sonata              davinci_sonata                        -                                                                                                                                 -
-Active  arm         arm926ejs      davinci     enbw            enbw_cmc            enbw_cmc                              -                                                                                                                                 Heiko Schocher <hs@denx.de>
-Active  arm         arm926ejs      davinci     omicron         calimain            calimain                              -                                                                                                                                 Manfred Rudigier <manfred.rudigier@omicron.at>:Christian Riesch <christian.riesch@omicron.at>
-Active  arm         arm926ejs      kirkwood    buffalo         lsxl                lschlv2                               lsxl:LSCHLV2                                                                                                                      Michael Walle <michael@walle.cc>
-Active  arm         arm926ejs      kirkwood    buffalo         lsxl                lsxhl                                 lsxl:LSXHL                                                                                                                        Michael Walle <michael@walle.cc>
-Active  arm         arm926ejs      kirkwood    cloudengines    pogo_e02            pogo_e02                              -                                                                                                                                 Dave Purdy <david.c.purdy@gmail.com>
-Active  arm         arm926ejs      kirkwood    d-link          dns325              dns325                                -                                                                                                                                 Stefan Herbrechtsmeier <stefan@code.herbrechtsmeier.net>
-Active  arm         arm926ejs      kirkwood    iomega          iconnect            iconnect                              -                                                                                                                                 Luka Perkov <luka@openwrt.org>
-Active  arm         arm926ejs      kirkwood    karo            tk71                tk71                                  -                                                                                                                                 -
-Active  arm         arm926ejs      kirkwood    keymile         km_arm              km_kirkwood                           km_kirkwood:KM_KIRKWOOD                                                                                                           Valentin Longchamp <valentin.longchamp@keymile.com>
-Active  arm         arm926ejs      kirkwood    keymile         km_arm              km_kirkwood_128m16                    km_kirkwood:KM_KIRKWOOD_128M16                                                                                                    Valentin Longchamp <valentin.longchamp@keymile.com>
-Active  arm         arm926ejs      kirkwood    keymile         km_arm              km_kirkwood_pci                       km_kirkwood:KM_KIRKWOOD_PCI                                                                                                       Valentin Longchamp <valentin.longchamp@keymile.com>
-Active  arm         arm926ejs      kirkwood    keymile         km_arm              kmcoge5un                             km_kirkwood:KM_COGE5UN                                                                                                            Valentin Longchamp <valentin.longchamp@keymile.com>
-Active  arm         arm926ejs      kirkwood    keymile         km_arm              kmnusa                                km_kirkwood:KM_NUSA                                                                                                               Valentin Longchamp <valentin.longchamp@keymile.com>
-Active  arm         arm926ejs      kirkwood    keymile         km_arm              kmsugp1                               km_kirkwood:KM_SUGP1                                                                                                              Valentin Longchamp <valentin.longchamp@keymile.com>
-Active  arm         arm926ejs      kirkwood    keymile         km_arm              kmsuv31                               km_kirkwood:KM_SUV31                                                                                                              Valentin Longchamp <valentin.longchamp@keymile.com>
-Active  arm         arm926ejs      kirkwood    keymile         km_arm              mgcoge3un                             km_kirkwood:KM_MGCOGE3UN                                                                                                          Valentin Longchamp <valentin.longchamp@keymile.com>
-Active  arm         arm926ejs      kirkwood    keymile         km_arm              portl2                                km_kirkwood:KM_PORTL2                                                                                                             Valentin Longchamp <valentin.longchamp@keymile.com>
-Active  arm         arm926ejs      kirkwood    LaCie           net2big_v2          d2net_v2                              lacie_kw:D2NET_V2                                                                                                                 -
-Active  arm         arm926ejs      kirkwood    LaCie           net2big_v2          net2big_v2                            lacie_kw:NET2BIG_V2                                                                                                               Simon Guinot <simon.guinot@sequanux.org>
-Active  arm         arm926ejs      kirkwood    LaCie           netspace_v2         inetspace_v2                          lacie_kw:INETSPACE_V2                                                                                                             Simon Guinot <simon.guinot@sequanux.org>
-Active  arm         arm926ejs      kirkwood    LaCie           netspace_v2         netspace_lite_v2                      lacie_kw:NETSPACE_LITE_V2                                                                                                         -
-Active  arm         arm926ejs      kirkwood    LaCie           netspace_v2         netspace_max_v2                       lacie_kw:NETSPACE_MAX_V2                                                                                                          Simon Guinot <simon.guinot@sequanux.org>
-Active  arm         arm926ejs      kirkwood    LaCie           netspace_v2         netspace_mini_v2                      lacie_kw:NETSPACE_MINI_V2                                                                                                         -
-Active  arm         arm926ejs      kirkwood    LaCie           netspace_v2         netspace_v2                           lacie_kw:NETSPACE_V2                                                                                                              Simon Guinot <simon.guinot@sequanux.org>
-Active  arm         arm926ejs      kirkwood    LaCie           wireless_space      wireless_space                        -                                                                                                                                 -
-Active  arm         arm926ejs      kirkwood    Marvell         dreamplug           dreamplug                             -                                                                                                                                 Jason Cooper <u-boot@lakedaemon.net>
-Active  arm         arm926ejs      kirkwood    Marvell         guruplug            guruplug                              -                                                                                                                                 Siddarth Gore <gores@marvell.com>
-Active  arm         arm926ejs      kirkwood    Marvell         mv88f6281gtw_ge     mv88f6281gtw_ge                       -                                                                                                                                 Prafulla Wadaskar <prafulla@marvell.com>
-Active  arm         arm926ejs      kirkwood    Marvell         openrd              openrd_base                           openrd:BOARD_IS_OPENRD_BASE                                                                                                       Prafulla Wadaskar <prafulla@marvell.com>
-Active  arm         arm926ejs      kirkwood    Marvell         openrd              openrd_client                         openrd:BOARD_IS_OPENRD_CLIENT                                                                                                     -
-Active  arm         arm926ejs      kirkwood    Marvell         openrd              openrd_ultimate                       openrd:BOARD_IS_OPENRD_ULTIMATE                                                                                                   -
-Active  arm         arm926ejs      kirkwood    Marvell         rd6281a             rd6281a                               -                                                                                                                                 Prafulla Wadaskar <prafulla@marvell.com>
-Active  arm         arm926ejs      kirkwood    Marvell         sheevaplug          sheevaplug                            -                                                                                                                                 Prafulla Wadaskar <prafulla@marvell.com>
-Active  arm         arm926ejs      kirkwood    raidsonic       ib62x0              ib62x0                                -                                                                                                                                 Luka Perkov <luka@openwrt.org>
-Active  arm         arm926ejs      kirkwood    Seagate         dockstar            dockstar                              -                                                                                                                                 Eric Cooper <ecc@cmu.edu>
-Active  arm         arm926ejs      kirkwood    Seagate         goflexhome          goflexhome                            -                                                                                                                                 Suriyan Ramasami <suriyan.r@gmail.com>
-Active  arm         arm926ejs      lpc32xx     timll           devkit3250          devkit3250                            -                                                                                                                                 Vladimir Zapolskiy <vz@mleia.com>
-Active  arm         arm926ejs      mb86r0x     syteco          jadecpu             jadecpu                               -                                                                                                                                 Matthias Weisser <weisserm@arcor.de>
-Active  arm         arm926ejs      mx25        freescale       mx25pdk             mx25pdk                               mx25pdk:IMX_CONFIG=board/freescale/mx25pdk/imximage.cfg                                                                           Fabio Estevam <fabio.estevam@freescale.com>
-Active  arm         arm926ejs      mx25        karo            tx25                tx25                                  -                                                                                                                                 John Rigby <jcrigby@gmail.com>
-Active  arm         arm926ejs      mx25        syteco          zmx25               zmx25                                 -                                                                                                                                 Matthias Weisser <weisserm@arcor.de>
-Active  arm         arm926ejs      mx27        armadeus        apf27               apf27                                 -                                                                                                                                 Philippe Reynes <tremyfr@yahoo.fr>:Eric Jarrige <eric.jarrige@armadeus.org>
-Active  arm         arm926ejs      mx27        logicpd         imx27lite           imx27lite                             -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  arm         arm926ejs      mx27        logicpd         imx27lite           magnesium                             -                                                                                                                                 Heiko Schocher <hs@denx.de>
-Active  arm         arm926ejs      mxs         bluegiga        apx4devkit          apx4devkit                            -                                                                                                                                 Lauri Hintsala <lauri.hintsala@bluegiga.com>
-Active  arm         arm926ejs      mxs         creative        xfi3                xfi3                                  -                                                                                                                                 Marek Vasut <marek.vasut@gmail.com>
-Active  arm         arm926ejs      mxs         denx            m28evk              m28evk                                -                                                                                                                                 Marek Vasut <marek.vasut@gmail.com>
-Active  arm         arm926ejs      mxs         freescale       mx23evk             mx23evk                               -                                                                                                                                 Otavio Salvador <otavio@ossystems.com.br>
-Active  arm         arm926ejs      mxs         freescale       mx28evk             mx28evk                               mx28evk:ENV_IS_IN_MMC                                                                                                             Fabio Estevam <fabio.estevam@freescale.com>
-Active  arm         arm926ejs      mxs         freescale       mx28evk             mx28evk_auart_console                 mx28evk:MXS_AUART,MXS_AUART_BASE=MXS_UARTAPP3_BASE,ENV_IS_IN_MMC                                                                  Fabio Estevam <fabio.estevam@freescale.com>
-Active  arm         arm926ejs      mxs         freescale       mx28evk             mx28evk_nand                          mx28evk:ENV_IS_IN_NAND                                                                                                            Fabio Estevam <fabio.estevam@freescale.com>
-Active  arm         arm926ejs      mxs         freescale       mx28evk             mx28evk_spi                           mx28evk:ENV_IS_IN_SPI_FLASH                                                                                                       Fabio Estevam <fabio.estevam@freescale.com>
-Active  arm         arm926ejs      mxs         olimex          mx23_olinuxino      mx23_olinuxino                        -                                                                                                                                 Marek Vasut <marek.vasut@gmail.com>
-Active  arm         arm926ejs      mxs         ppcag           bg0900              bg0900                                -                                                                                                                                 Marek Vasut <marex@denx.de>
-Active  arm         arm926ejs      mxs         sandisk         sansa_fuze_plus     sansa_fuze_plus                       -                                                                                                                                 Marek Vasut <marek.vasut@gmail.com>
-Active  arm         arm926ejs      mxs         schulercontrol  sc_sps_1            sc_sps_1                              -                                                                                                                                 Marek Vasut <marek.vasut@gmail.com>
-Active  arm         arm926ejs      nomadik     st              nhk8815             nhk8815                               -                                                                                                                                 Nomadik Linux Team <STN_WMM_nomadik_linux@list.st.com>:Alessandro Rubini <rubini@unipv.it>
-Active  arm         arm926ejs      nomadik     st              nhk8815             nhk8815_onenand                       nhk8815:BOOT_ONENAND                                                                                                              Nomadik Linux Team <STN_WMM_nomadik_linux@list.st.com>:Alessandro Rubini <rubini@unipv.it>
-Active  arm         arm926ejs      omap        ti              omap5912osk         omap5912osk                           -                                                                                                                                 Rishi Bhattacharya <rishi@ti.com>
-Active  arm         arm926ejs      orion5x     LaCie           edminiv2            edminiv2                              -                                                                                                                                 Albert ARIBAUD <albert.u.boot@aribaud.net>
-Active  arm         arm926ejs      pantheon    Marvell         dkb                 dkb                                   -                                                                                                                                 Lei Wen <leiwen@marvell.com>
-Active  arm         arm926ejs      spear       spear           spear300            spear300                              spear3xx_evb:spear300                                                                                                             Vipin Kumar <vipin.kumar@st.com>
-Active  arm         arm926ejs      spear       spear           spear300            spear300_nand                         spear3xx_evb:spear300,nand                                                                                                        -
-Active  arm         arm926ejs      spear       spear           spear300            spear300_usbtty                       spear3xx_evb:spear300,usbtty                                                                                                      -
-Active  arm         arm926ejs      spear       spear           spear300            spear300_usbtty_nand                  spear3xx_evb:spear300,usbtty,nand                                                                                                 -
-Active  arm         arm926ejs      spear       spear           spear310            spear310                              spear3xx_evb:spear310                                                                                                             Vipin Kumar <vipin.kumar@st.com>
-Active  arm         arm926ejs      spear       spear           spear310            spear310_nand                         spear3xx_evb:spear310,nand                                                                                                        -
-Active  arm         arm926ejs      spear       spear           spear310            spear310_pnor                         spear3xx_evb:spear310,FLASH_PNOR                                                                                                  -
-Active  arm         arm926ejs      spear       spear           spear310            spear310_usbtty                       spear3xx_evb:spear310,usbtty                                                                                                      -
-Active  arm         arm926ejs      spear       spear           spear310            spear310_usbtty_nand                  spear3xx_evb:spear310,usbtty,nand                                                                                                 -
-Active  arm         arm926ejs      spear       spear           spear310            spear310_usbtty_pnor                  spear3xx_evb:spear310,usbtty,FLASH_PNOR                                                                                           -
-Active  arm         arm926ejs      spear       spear           spear320            spear320                              spear3xx_evb:spear320                                                                                                             Vipin Kumar <vipin.kumar@st.com>
-Active  arm         arm926ejs      spear       spear           spear320            spear320_nand                         spear3xx_evb:spear320,nand                                                                                                        -
-Active  arm         arm926ejs      spear       spear           spear320            spear320_pnor                         spear3xx_evb:spear320,FLASH_PNOR                                                                                                  -
-Active  arm         arm926ejs      spear       spear           spear320            spear320_usbtty                       spear3xx_evb:spear320,usbtty                                                                                                      -
-Active  arm         arm926ejs      spear       spear           spear320            spear320_usbtty_nand                  spear3xx_evb:spear320,usbtty,nand                                                                                                 -
-Active  arm         arm926ejs      spear       spear           spear320            spear320_usbtty_pnor                  spear3xx_evb:spear320,usbtty,FLASH_PNOR                                                                                           -
-Active  arm         arm926ejs      spear       spear           spear600            spear600                              spear6xx_evb:spear600                                                                                                             Vipin Kumar <vipin.kumar@st.com>
-Active  arm         arm926ejs      spear       spear           spear600            spear600_nand                         spear6xx_evb:spear600,nand                                                                                                        -
-Active  arm         arm926ejs      spear       spear           spear600            spear600_usbtty                       spear6xx_evb:spear600,usbtty                                                                                                      -
-Active  arm         arm926ejs      spear       spear           spear600            spear600_usbtty_nand                  spear6xx_evb:spear600,usbtty,nand                                                                                                 -
-Active  arm         arm926ejs      spear       spear           x600                x600                                  -                                                                                                                                 Stefan Roese <sr@denx.de>
-Active  arm         arm926ejs      versatile   armltd          versatile           versatileab                           versatile:ARCH_VERSATILE_AB                                                                                                       -
-Active  arm         arm926ejs      versatile   armltd          versatile           versatilepb                           versatile:ARCH_VERSATILE_PB                                                                                                       -
-Active  arm         arm926ejs      versatile   armltd          versatile           versatileqemu                         versatile:ARCH_VERSATILE_QEMU,ARCH_VERSATILE_PB                                                                                   -
-Active  arm         arm946es       -           armltd          integrator          integratorap_cm946es                  integratorap:CM946ES                                                                                                              Linus Walleij <linus.walleij@linaro.org>
-Active  arm         arm946es       -           armltd          integrator          integratorcp_cm946es                  integratorcp:CM946ES                                                                                                              Linus Walleij <linus.walleij@linaro.org>
-Active  arm         armv7          -           armltd          vexpress            vexpress_ca15_tc2                     -                                                                                                                                 -
-Active  arm         armv7          -           armltd          vexpress            vexpress_ca5x2                        -                                                                                                                                 Matt Waddel <matt.waddel@linaro.org>
-Active  arm         armv7          -           armltd          vexpress            vexpress_ca9x4                        -                                                                                                                                 Matt Waddel <matt.waddel@linaro.org>
-Active  arm         armv7          am33xx      BuR             kwb                 kwb                                   kwb:SERIAL1,CONS_INDEX=1                                                                                                          Hannes Petermaier <hannes.petermaier@br-automation.com>
-Active  arm         armv7          am33xx      BuR             tseries             tseries_mmc                           tseries:SERIAL1,CONS_INDEX=1,EMMC_BOOT                                                                                            Hannes Petermaier <hannes.petermaier@br-automation.com>
-Active  arm         armv7          am33xx      BuR             tseries             tseries_nand                          tseries:SERIAL1,CONS_INDEX=1,NAND                                                                                                 Hannes Petermaier <hannes.petermaier@br-automation.com>
-Active  arm         armv7          am33xx      BuR             tseries             tseries_spi                           tseries:SERIAL1,CONS_INDEX=1,SPI_BOOT,EMMC_BOOT                                                                                   Hannes Petermaier <hannes.petermaier@br-automation.com>
-Active  arm         armv7          am33xx      compulab        cm_t335             cm_t335                               -                                                                                                                                 Igor Grinberg <grinberg@compulab.co.il>
-Active  arm         armv7          am33xx      gumstix         pepper              pepper                                -                                                                                                                                 Ash Charles <ash@gumstix.com>
-Active  arm         armv7          am33xx      isee            igep0033            am335x_igep0033                       -                                                                                                                                 Enric Balletbo i Serra <eballetbo@iseebcn.com>
-Active  arm         armv7          am33xx      phytec          pcm051              pcm051_rev1                           pcm051:REV1                                                                                                                       Lars Poeschel <poeschel@lemonage.de>
-Active  arm         armv7          am33xx      phytec          pcm051              pcm051_rev3                           pcm051:REV3                                                                                                                       Lars Poeschel <poeschel@lemonage.de>
-Active  arm         armv7          am33xx      siemens         draco               draco                                 -                                                                                                                                 Roger Meier <r.meier@siemens.com>
-Active  arm         armv7          am33xx      siemens         draco               dxr2                                  -                                                                                                                                 Roger Meier <r.meier@siemens.com>
-Active  arm         armv7          am33xx      siemens         pxm2                pxm2                                  -                                                                                                                                 Roger Meier <r.meier@siemens.com>
-Active  arm         armv7          am33xx      siemens         rut                 rut                                   -                                                                                                                                 Roger Meier <r.meier@siemens.com>
-Active  arm         armv7          am33xx      silica          pengwyn             pengwyn                               -                                                                                                                                 Lothar Felten <lothar.felten@gmail.com>
-Active  arm         armv7          am33xx      ti              am335x              am335x_boneblack                      am335x_evm:SERIAL1,CONS_INDEX=1,EMMC_BOOT                                                                                         Tom Rini <trini@ti.com>
-Active  arm         armv7          am33xx      ti              am335x              am335x_boneblack_vboot                am335x_evm:SERIAL1,CONS_INDEX=1,EMMC_BOOT,ENABLE_VBOOT                                                                            Tom Rini <trini@ti.com>
-Active  arm         armv7          am33xx      ti              am335x              am335x_evm                            am335x_evm:SERIAL1,CONS_INDEX=1,NAND                                                                                              Tom Rini <trini@ti.com>
-Active  arm         armv7          am33xx      ti              am335x              am335x_evm_nor                        am335x_evm:SERIAL1,CONS_INDEX=1,NAND,NOR                                                                                          Tom Rini <trini@ti.com>
-Active  arm         armv7          am33xx      ti              am335x              am335x_evm_norboot                    am335x_evm:SERIAL1,CONS_INDEX=1,NOR,NOR_BOOT                                                                                      Tom Rini <trini@ti.com>
-Active  arm         armv7          am33xx      ti              am335x              am335x_evm_spiboot                    am335x_evm:SERIAL1,CONS_INDEX=1,SPI_BOOT                                                                                          Tom Rini <trini@ti.com>
-Active  arm         armv7          am33xx      ti              am335x              am335x_evm_uart1                      am335x_evm:SERIAL2,CONS_INDEX=2,NAND                                                                                              Tom Rini <trini@ti.com>
-Active  arm         armv7          am33xx      ti              am335x              am335x_evm_uart2                      am335x_evm:SERIAL3,CONS_INDEX=3,NAND                                                                                              Tom Rini <trini@ti.com>
-Active  arm         armv7          am33xx      ti              am335x              am335x_evm_uart3                      am335x_evm:SERIAL4,CONS_INDEX=4,NAND                                                                                              Tom Rini <trini@ti.com>
-Active  arm         armv7          am33xx      ti              am335x              am335x_evm_uart4                      am335x_evm:SERIAL5,CONS_INDEX=5,NAND                                                                                              Tom Rini <trini@ti.com>
-Active  arm         armv7          am33xx      ti              am335x              am335x_evm_uart5                      am335x_evm:SERIAL6,CONS_INDEX=6,NAND                                                                                              Tom Rini <trini@ti.com>
-Active  arm         armv7          am33xx      ti              am335x              am335x_evm_usbspl                     am335x_evm:SERIAL1,CONS_INDEX=1,NAND,SPL_USBETH_SUPPORT                                                                           Tom Rini <trini@ti.com>
-Active  arm         armv7          am33xx      ti              am43xx              am43xx_evm                            am43xx_evm:SERIAL1,CONS_INDEX=1                                                                                                   Lokesh Vutla <lokeshvutla@ti.com>
-Active  arm         armv7          am33xx      ti              am43xx              am43xx_evm_qspiboot                   am43xx_evm:SERIAL1,CONS_INDEX=1,QSPI,QSPI_BOOT                                                                                    Lokesh Vutla <lokeshvutla@ti.com>
-Active  arm         armv7          am33xx      ti              ti814x              ti814x_evm                            -                                                                                                                                 Matt Porter <matt.porter@linaro.org>
-Active  arm         armv7          am33xx      ti              ti816x              ti816x_evm                            -                                                                                                                                 -
-Active  arm         armv7          at91        atmel           sama5d3_xplained    sama5d3_xplained_mmc                  sama5d3_xplained:SAMA5D3,SYS_USE_MMC                                                                                              Bo Shen <voice.shen@atmel.com>
-Active  arm         armv7          at91        atmel           sama5d3_xplained    sama5d3_xplained_nandflash            sama5d3_xplained:SAMA5D3,SYS_USE_NANDFLASH                                                                                        Bo Shen <voice.shen@atmel.com>
-Active  arm         armv7          at91        atmel           sama5d3xek          sama5d3xek_mmc                        sama5d3xek:SAMA5D3,SYS_USE_MMC                                                                                                    Bo Shen <voice.shen@atmel.com>
-Active  arm         armv7          at91        atmel           sama5d3xek          sama5d3xek_nandflash                  sama5d3xek:SAMA5D3,SYS_USE_NANDFLASH                                                                                              Bo Shen <voice.shen@atmel.com>
-Active  arm         armv7          at91        atmel           sama5d3xek          sama5d3xek_spiflash                   sama5d3xek:SAMA5D3,SYS_USE_SERIALFLASH                                                                                            Bo Shen <voice.shen@atmel.com>
-Active  arm         armv7          bcm281xx    broadcom        bcm28155_ap         bcm28155_ap                           bcm28155_ap                                                                                                                       Tim Kryger <tim.kryger@linaro.org>
-Active  arm         armv7          exynos      samsung         arndale             arndale                               -                                                                                                                                 Inderpal Singh <inderpal.singh@linaro.org>
-Active  arm         armv7          exynos      samsung         origen              origen                                -                                                                                                                                 Chander Kashyap <k.chander@samsung.com>
-Active  arm         armv7          exynos      samsung         smdk5250            smdk5250                              -                                                                                                                                 Chander Kashyap <k.chander@samsung.com>
-Active  arm         armv7          exynos      samsung         smdk5250            snow                                  -                                                                                                                                 Rajeshwari Shinde <rajeshwari.s@samsung.com>
-Active  arm         armv7          exynos      samsung         smdk5420            peach-pit                             -                                                                                                                                 Akshay Saraswat <akshay.s@samsung.com>
-Active  arm         armv7          exynos      samsung         smdk5420            smdk5420                              -                                                                                                                                 Rajeshwari Shinde <rajeshwari.s@samsung.com>
-Active  arm         armv7          exynos      samsung         smdkv310            smdkv310                              -                                                                                                                                 Chander Kashyap <k.chander@samsung.com>
-Active  arm         armv7          exynos      samsung         trats               trats                                 -                                                                                                                                 Lukasz Majewski <l.majewski@samsung.com>
-Active  arm         armv7          exynos      samsung         trats2              trats2                                -                                                                                                                                 Piotr Wilczek <p.wilczek@samsung.com>
-Active  arm         armv7          exynos      samsung         universal_c210      s5pc210_universal                     -                                                                                                                                 Przemyslaw Marczak <p.marczak@samsung.com>
-Active  arm         armv7          highbank    -               highbank            highbank                              -                                                                                                                                 Rob Herring <robh@kernel.org>
-Active  arm         armv7          keystone    ti              ks2_evm             k2hk_evm                              -                                                                                                                                 Vitaly Andrianov <vitalya@ti.com>
-Active  arm         armv7          keystone    ti              ks2_evm            k2e_evm                               -                                                                                                                                 Vitaly Andrianov <vitalya@ti.com>
-Active  arm         armv7          mx5         denx            m53evk              m53evk                                m53evk:IMX_CONFIG=board/denx/m53evk/imximage.cfg                                                                                  Marek Vasut <marek.vasut@gmail.com>
-Active  arm         armv7          mx5         esg             ima3-mx53           ima3-mx53                             ima3-mx53:IMX_CONFIG=board/esg/ima3-mx53/imximage.cfg                                                                             -
-Active  arm         armv7          mx5         freescale       mx51evk             mx51evk                               mx51evk:IMX_CONFIG=board/freescale/mx51evk/imximage.cfg                                                                           Stefano Babic <sbabic@denx.de>
-Active  arm         armv7          mx5         freescale       mx53ard             mx53ard                               mx53ard:IMX_CONFIG=board/freescale/mx53ard/imximage_dd3.cfg                                                                       Fabio Estevam <fabio.estevam@freescale.com>
-Active  arm         armv7          mx5         freescale       mx53evk             mx53evk                               mx53evk:IMX_CONFIG=board/freescale/mx53evk/imximage.cfg                                                                           Jason Liu <r64343@freescale.com>
-Active  arm         armv7          mx5         freescale       mx53loco            mx53loco                              mx53loco:IMX_CONFIG=board/freescale/mx53loco/imximage.cfg                                                                         Jason Liu <r64343@freescale.com>
-Active  arm         armv7          mx5         freescale       mx53smd             mx53smd                               mx53smd:IMX_CONFIG=board/freescale/mx53smd/imximage.cfg                                                                           Fabio Estevam <fabio.estevam@freescale.com>
-Active  arm         armv7          mx5         genesi          mx51_efikamx        mx51_efikamx                          mx51_efikamx:MACH_TYPE=MACH_TYPE_MX51_EFIKAMX,IMX_CONFIG=board/genesi/mx51_efikamx/imximage_mx.cfg                                -
-Active  arm         armv7          mx5         genesi          mx51_efikamx        mx51_efikasb                          mx51_efikamx:MACH_TYPE=MACH_TYPE_MX51_EFIKASB,IMX_CONFIG=board/genesi/mx51_efikamx/imximage_sb.cfg                                -
-Active  arm         armv7          mx5         ttcontrol       vision2             vision2                               vision2:IMX_CONFIG=board/ttcontrol/vision2/imximage_hynix.cfg                                                                     Stefano Babic <sbabic@denx.de>
-Active  arm         armv7          mx6         -               aristainetos        aristainetos                         aristainetos:IMX_CONFIG=board/aristainetos/aristainetos.cfg,MX6DL                                                                  Heiko Schocher <hs@denx.de>
-Active  arm         armv7          mx6         -               udoo                udoo_quad                             udoo:IMX_CONFIG=board/udoo/udoo.cfg,MX6Q,DDR_MB=1024                                                                              Fabio Estevam <fabio.estevam@freescale.com>
-Active  arm         armv7          mx6         -               wandboard           wandboard_dl                          wandboard:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl.cfg,MX6DL,DDR_MB=1024                                                  Fabio Estevam <fabio.estevam@freescale.com>
-Active  arm         armv7          mx6         -               wandboard           wandboard_quad                        wandboard:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q2g.cfg,MX6Q,DDR_MB=2048                                                  Fabio Estevam <fabio.estevam@freescale.com>
-Active  arm         armv7          mx6         -               wandboard           wandboard_solo                        wandboard:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s.cfg,MX6S,DDR_MB=512                                                     Fabio Estevam <fabio.estevam@freescale.com>
-Active  arm         armv7          mx6         barco           titanium            titanium                              titanium:IMX_CONFIG=board/barco/titanium/imximage.cfg                                                                             Stefan Roese <sr@denx.de>
-Active  arm         armv7          mx6         boundary        nitrogen6x          mx6qsabrelite                         nitrogen6x:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q.cfg,MX6Q,DDR_MB=1024,SABRELITE                                         Eric Nelson <eric.nelson@boundarydevices.com>
-Active  arm         armv7          mx6         boundary        nitrogen6x          nitrogen6dl                           nitrogen6x:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl.cfg,MX6DL,DDR_MB=1024                                                 Eric Nelson <eric.nelson@boundarydevices.com>
-Active  arm         armv7          mx6         boundary        nitrogen6x          nitrogen6dl2g                         nitrogen6x:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl2g.cfg,MX6DL,DDR_MB=2048                                               Eric Nelson <eric.nelson@boundarydevices.com>
-Active  arm         armv7          mx6         boundary        nitrogen6x          nitrogen6q                            nitrogen6x:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q.cfg,MX6Q,DDR_MB=1024                                                   Eric Nelson <eric.nelson@boundarydevices.com>
-Active  arm         armv7          mx6         boundary        nitrogen6x          nitrogen6q2g                          nitrogen6x:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q2g.cfg,MX6Q,DDR_MB=2048                                                 Eric Nelson <eric.nelson@boundarydevices.com>
-Active  arm         armv7          mx6         boundary        nitrogen6x          nitrogen6s                            nitrogen6x:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s.cfg,MX6S,DDR_MB=512                                                    Eric Nelson <eric.nelson@boundarydevices.com>
-Active  arm         armv7          mx6         boundary        nitrogen6x          nitrogen6s1g                          nitrogen6x:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s1g.cfg,MX6S,DDR_MB=1024                                                 Eric Nelson <eric.nelson@boundarydevices.com>
-Active  arm         armv7          mx6         embest          mx6boards           marsboard                             embestmx6boards:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q.cfg,MX6Q,DDR_MB=1024,ENV_IS_IN_SPI_FLASH                          Eric Bénard <eric@eukrea.com>
-Active  arm         armv7          mx6         embest          mx6boards           riotboard                             embestmx6boards:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s1g.cfg,MX6S,DDR_MB=1024,ENV_IS_IN_MMC                              Eric Bénard <eric@eukrea.com>
-Active  arm         armv7          mx6         freescale       mx6qarm2            mx6qarm2                              mx6qarm2:IMX_CONFIG=board/freescale/mx6qarm2/imximage.cfg                                                                         Jason Liu <r64343@freescale.com>
-Active  arm         armv7          mx6         freescale       mx6qsabreauto       mx6dlsabreauto                        mx6qsabreauto:IMX_CONFIG=board/freescale/mx6qsabreauto/mx6dl.cfg,MX6DL                                                            Fabio Estevam <fabio.estevam@freescale.com>
-Active  arm         armv7          mx6         freescale       mx6qsabreauto       mx6qsabreauto                         mx6qsabreauto:IMX_CONFIG=board/freescale/mx6qsabreauto/imximage.cfg,MX6Q                                                          Fabio Estevam <fabio.estevam@freescale.com>
-Active  arm         armv7          mx6         freescale       mx6sabresd          mx6dlsabresd                          mx6sabresd:IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl.cfg,MX6DL                                                             Fabio Estevam <fabio.estevam@freescale.com>
-Active  arm         armv7          mx6         freescale       mx6sabresd          mx6qsabresd                           mx6sabresd:IMX_CONFIG=board/freescale/imx/ddr/mx6q_4x_mt41j128.cfg,MX6Q                                                           Fabio Estevam <fabio.estevam@freescale.com>
-Active  arm         armv7          mx6         freescale       mx6slevk            mx6slevk                              mx6slevk:IMX_CONFIG=board/freescale/mx6slevk/imximage.cfg,MX6SL                                                                   Fabio Estevam <fabio.estevam@freescale.com>
-Active  arm         armv7          mx6         freescale       mx6sxsabresd        mx6sxsabresd                          mx6sxsabresd:IMX_CONFIG=board/freescale/mx6sxsabresd/imximage.cfg,MX6SX                                                           Fabio Estevam <fabio.estevam@freescale.com>
-Active  arm         armv7          mx6         gateworks       gw_ventana          gwventana                             gw_ventana:IMX_CONFIG=board/gateworks/gw_ventana/gw_ventana.cfg,MX6QDL,SPL                                                        Tim Harvey <tharvey@gateworks.com>
-Active  arm         armv7          mx6         solidrun        hummingboard        hummingboard_solo                     hummingboard:IMX_CONFIG=board/solidrun/hummingboard/solo.cfg,MX6S,DDR_MB=512                                                      Jon Nettleton <jon.nettleton@gmail.com>
-Active  arm         armv7          mx6         tqc             tqma6               tqma6q_mba6_mmc                       tqma6:IMX_CONFIG=board/tqc/tqma6/tqma6q.cfg,MX6Q,MBA6,TQMA6X_MMC_BOOT                                                            Markus Niebel <Markus.Niebel@tq-group.com>
-Active  arm         armv7          mx6         tqc             tqma6               tqma6q_mba6_spi                       tqma6:IMX_CONFIG=board/tqc/tqma6/tqma6q.cfg,MX6Q,MBA6,TQMA6X_SPI_BOOT                                                            Markus Niebel <Markus.Niebel@tq-group.com>
-Active  arm         armv7          mx6         tqc             tqma6               tqma6s_mba6_mmc                       tqma6:IMX_CONFIG=board/tqc/tqma6/tqma6s.cfg,MX6S,MBA6,TQMA6X_MMC_BOOT                                                            Markus Niebel <Markus.Niebel@tq-group.com>
-Active  arm         armv7          mx6         tqc             tqma6               tqma6s_mba6_spi                       tqma6:IMX_CONFIG=board/tqc/tqma6/tqma6s.cfg,MX6S,MBA6,TQMA6X_SPI_BOOT                                                            Markus Niebel <Markus.Niebel@tq-group.com>
-Active  arm         armv7          omap3       -               overo               omap3_overo                           -                                                                                                                                 Steve Sakoman <sakoman@gmail.com>
-Active  arm         armv7          omap3       -               pandora             omap3_pandora                         -                                                                                                                                 Grazvydas Ignotas <notasas@gmail.com>
-Active  arm         armv7          omap3       8dtech          eco5pk              eco5pk                                -                                                                                                                                 Raphael Assenat <raph@8d.com>
-Active  arm         armv7          omap3       comelit         dig297              dig297                                -                                                                                                                                 Luca Ceresoli <luca.ceresoli@comelit.it>
-Active  arm         armv7          omap3       compulab        cm_t35              cm_t35                                -                                                                                                                                 Igor Grinberg <grinberg@compulab.co.il>
-Active  arm         armv7          omap3       corscience      tricorder           tricorder                             -                                                                                                                                 Thomas Weber <weber@corscience.de>
-Active  arm         armv7          omap3       corscience      tricorder           tricorder_flash                       tricorder:FLASHCARD                                                                                                               Thomas Weber <weber@corscience.de>
-Active  arm         armv7          omap3       htkw            mcx                 mcx                                   -                                                                                                                                 Ilya Yanok <yanok@emcraft.com>
-Active  arm         armv7          omap3       isee            igep00x0            igep0020                              omap3_igep00x0:MACH_TYPE=MACH_TYPE_IGEP0020,BOOT_ONENAND                                                                          Enric Balletbo i Serra <eballetbo@iseebcn.com>
-Active  arm         armv7          omap3       isee            igep00x0            igep0020_nand                         omap3_igep00x0:MACH_TYPE=MACH_TYPE_IGEP0020,BOOT_NAND                                                                             -
-Active  arm         armv7          omap3       isee            igep00x0            igep0030                              omap3_igep00x0:MACH_TYPE=MACH_TYPE_IGEP0030,BOOT_ONENAND                                                                          Enric Balletbo i Serra <eballetbo@iseebcn.com>
-Active  arm         armv7          omap3       isee            igep00x0            igep0030_nand                         omap3_igep00x0:MACH_TYPE=MACH_TYPE_IGEP0030,BOOT_NAND                                                                             -
-Active  arm         armv7          omap3       isee            igep00x0            igep0032                              omap3_igep00x0:MACH_TYPE=MACH_TYPE_IGEP0032,BOOT_ONENAND                                                                          Enric Balletbo i Serra <eballetbo@iseebcn.com>
-Active  arm         armv7          omap3       logicpd         am3517evm           am3517_evm                            -                                                                                                                                 Vaibhav Hiremath <hvaibhav@ti.com>
-Active  arm         armv7          omap3       logicpd         omap3som            omap3_logic                           -                                                                                                                                 Peter Barada <peter.barada@logicpd.com>
-Active  arm         armv7          omap3       logicpd         zoom1               omap3_zoom1                           -                                                                                                                                 Nishanth Menon <nm@ti.com>
-Active  arm         armv7          omap3       matrix_vision   mvblx               omap3_mvblx                           -                                                                                                                                 Michael Jones <michael.jones@matrix-vision.de>
-Active  arm         armv7          omap3       nokia           rx51                nokia_rx51                            -                                                                                                                                 Pali Rohár <pali.rohar@gmail.com>
-Active  arm         armv7          omap3       technexion      tao3530             omap3_ha                              tao3530:SYS_BOARD_OMAP3_HA                                                                                                        Stefan Roese <sr@denx.de>
-Active  arm         armv7          omap3       technexion      tao3530             tao3530                               -                                                                                                                                 Tapani Utriainen <linuxfae@technexion.com>
-Active  arm         armv7          omap3       technexion      twister             twister                               -                                                                                                                                 Stefano Babic <sbabic@denx.de>
-Active  arm         armv7          omap3       teejet          mt_ventoux          mt_ventoux                            -                                                                                                                                 Stefano Babic <sbabic@denx.de>
-Active  arm         armv7          omap3       ti              am3517crane         am3517_crane                          -                                                                                                                                 Nagendra T S  <nagendra@mistralsolutions.com>
-Active  arm         armv7          omap3       ti              beagle              omap3_beagle                          omap3_beagle:NAND                                                                                                                 Tom Rini <trini@ti.com>
-Active  arm         armv7          omap3       ti              evm                 omap3_evm                             -                                                                                                                                 Tom Rini <trini@ti.com>
-Active  arm         armv7          omap3       ti              evm                 omap3_evm_quick_mmc                   -                                                                                                                                 -
-Active  arm         armv7          omap3       ti              evm                 omap3_evm_quick_nand                  -                                                                                                                                 -
-Active  arm         armv7          omap3       ti              sdp3430             omap3_sdp3430                         -                                                                                                                                 Nishanth Menon <nm@ti.com>
-Active  arm         armv7          omap3       timll           devkit8000          devkit8000                            -                                                                                                                                 Thomas Weber <weber@corscience.de>
-Active  arm         armv7          omap4       gumstix         duovero             duovero                               -                                                                                                                                 Ash Charles <ash@gumstix.com>
-Active  arm         armv7          omap4       ti              panda               omap4_panda                           -                                                                                                                                 Lokesh Vutla <lokeshvutla@ti.com>
-Active  arm         armv7          omap4       ti              sdp4430             omap4_sdp4430                         -                                                                                                                                 Lokesh Vutla <lokeshvutla@ti.com>
-Active  arm         armv7          omap5       compulab        cm_t54              cm_t54                                -                                                                                                                                 Dmitry Lifshitz <lifshitz@compulab.co.il>
-Active  arm         armv7          omap5       ti              dra7xx              dra7xx_evm                            dra7xx_evm:CONS_INDEX=1                                                                                                           Lokesh Vutla <lokeshvutla@ti.com>
-Active  arm         armv7          omap5       ti              dra7xx              dra7xx_evm_qspiboot                   dra7xx_evm:CONS_INDEX=1,QSPI_BOOT                                                                                                 Lokesh Vutla <lokeshvutla@ti.com>
-Active  arm         armv7          omap5       ti              dra7xx              dra7xx_evm_uart3                      dra7xx_evm:CONS_INDEX=3,SPL_YMODEM_SUPPORT                                                                                        Lokesh Vutla <lokeshvutla@ti.com>
-Active  arm         armv7          omap5       ti              omap5_uevm          omap5_uevm                            -                                                                                                                                 Lokesh Vutla <lokeshvutla@ti.com>
-Active  arm         armv7          rmobile     atmark-techno   armadillo-800eva    armadillo-800eva                      -                                                                                                                                 Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
-Active  arm         armv7          rmobile     kmc             kzm9g               kzm9g                                 -                                                                                                                                 Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>:Tetsuyuki Kobayashi <koba@kmckk.co.jp>
-Active  arm         armv7          rmobile     renesas         alt                 alt                                   -                                                                                                                                 Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
-Active  arm         armv7          rmobile     renesas         koelsch             koelsch                               -                                                                                                                                 Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
-Active  arm         armv7          rmobile     renesas         lager               lager                                 -                                                                                                                                 Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
-Active  arm         armv7          s5pc1xx     samsung         goni                s5p_goni                              -                                                                                                                                 Robert Baldyga <r.baldyga@samsung.com>
-Active  arm         armv7          s5pc1xx     samsung         smdkc100            smdkc100                              -                                                                                                                                 Minkyu Kang <mk7.kang@samsung.com>
-Active  arm         armv7          socfpga     altera          socfpga             socfpga_cyclone5                      -                                                                                                                                 -
-Active  arm         armv7          sunxi       -               sunxi               A13-OLinuXinoM                        sun5i:A13_OLINUXINOM,SPL,CONS_INDEX=2                                                                                             Hans de Goede <hdegoede@redhat.com>
-Active  arm         armv7          sunxi       -               sunxi               Cubieboard                            sun4i:CUBIEBOARD,SPL,AXP209_POWER,SUNXI_EMAC                                                                                      Hans de Goede <hdegoede@redhat.com>
-Active  arm         armv7          sunxi       -               sunxi               Cubieboard2                           sun7i:CUBIEBOARD2,SPL,SUNXI_GMAC                                                                                                  Ian Campbell <ijc@hellion.org.uk>:Hans de Goede <hdegoede@redhat.com>
-Active  arm         armv7          sunxi       -               sunxi               Cubieboard2_FEL                       sun7i:CUBIEBOARD2,SPL_FEL,SUNXI_GMAC                                                                                              Ian Campbell <ijc@hellion.org.uk>:Hans de Goede <hdegoede@redhat.com>
-Active  arm         armv7          sunxi       -               sunxi               Cubietruck                            sun7i:CUBIETRUCK,SPL,AXP209_POWER,SUNXI_GMAC,RGMII                                                                                Ian Campbell <ijc@hellion.org.uk>:Hans de Goede <hdegoede@redhat.com>
-Active  arm         armv7          sunxi       -               sunxi               Cubietruck_FEL                        sun7i:CUBIETRUCK,SPL_FEL,AXP209_POWER,SUNXI_GMAC,RGMII                                                                            Ian Campbell <ijc@hellion.org.uk>:Hans de Goede <hdegoede@redhat.com>
-Active  arm         armv7          sunxi       -               sunxi               r7-tv-dongle                          sun5i:R7DONGLE,SPL,AXP152_POWER                                                                                                   Hans de Goede <hdegoede@redhat.com>
-Active  arm         armv7          u8500       st-ericsson     snowball            snowball                              -                                                                                                                                 Mathieu Poirier <mathieu.poirier@linaro.org>
-Active  arm         armv7          u8500       st-ericsson     u8500               u8500_href                            -                                                                                                                                 -
-Active  arm         armv7          vf610       freescale       vf610twr            vf610twr                              vf610twr:IMX_CONFIG=board/freescale/vf610twr/imximage.cfg                                                                         Alison Wang <b18965@freescale.com>
-Active  arm         armv7          zynq        xilinx          zynq                zynq_microzed                         -                                                                                                                                 Michal Simek <monstr@monstr.eu>:Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
-Active  arm         armv7          zynq        xilinx          zynq                zynq_zc70x                            -                                                                                                                                 Michal Simek <monstr@monstr.eu>:Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
-Active  arm         armv7          zynq        xilinx          zynq                zynq_zc770_xm010                      zynq_zc770:ZC770_XM010                                                                                                            Michal Simek <monstr@monstr.eu>:Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
-Active  arm         armv7          zynq        xilinx          zynq                zynq_zc770_xm012                      zynq_zc770:ZC770_XM012                                                                                                            Michal Simek <monstr@monstr.eu>:Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
-Active  arm         armv7          zynq        xilinx          zynq                zynq_zc770_xm013                      zynq_zc770:ZC770_XM013                                                                                                            Michal Simek <monstr@monstr.eu>:Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
-Active  arm         armv7          zynq        xilinx          zynq                zynq_zed                              -                                                                                                                                 Michal Simek <monstr@monstr.eu>:Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
-Active  arm         armv7:arm720t  tegra114    nvidia          dalmore             dalmore                               -                                                                                                                                 Tom Warren <twarren@nvidia.com>
-Active  arm         armv7:arm720t  tegra124    nvidia          jetson-tk1          jetson-tk1                            jetson-tk1:BOARD_JETSON_TK1=                                                                                                      Stephen Warren <swarren@nvidia.com>
-Active  arm         armv7:arm720t  tegra124    nvidia          venice2             venice2                               -                                                                                                                                 Tom Warren <twarren@nvidia.com>
-Active  arm         armv7:arm720t  tegra20     avionic-design  medcom-wide         medcom-wide                           -                                                                                                                                 Alban Bedel <alban.bedel@avionic-design.de>
-Active  arm         armv7:arm720t  tegra20     avionic-design  plutux              plutux                                -                                                                                                                                 Alban Bedel <alban.bedel@avionic-design.de>
-Active  arm         armv7:arm720t  tegra20     avionic-design  tec                 tec                                   -                                                                                                                                 Alban Bedel <alban.bedel@avionic-design.de>
-Active  arm         armv7:arm720t  tegra20     compal          paz00               paz00                                 -                                                                                                                                 Tom Warren <twarren@nvidia.com>:Stephen Warren <swarren@nvidia.com>
-Active  arm         armv7:arm720t  tegra20     compulab        trimslice           trimslice                             -                                                                                                                                 Tom Warren <twarren@nvidia.com>:Stephen Warren <swarren@nvidia.com>
-Active  arm         armv7:arm720t  tegra20     nvidia          harmony             harmony                               -                                                                                                                                 Tom Warren <twarren@nvidia.com>
-Active  arm         armv7:arm720t  tegra20     nvidia          seaboard            seaboard                              -                                                                                                                                 Tom Warren <twarren@nvidia.com>
-Active  arm         armv7:arm720t  tegra20     nvidia          ventana             ventana                               -                                                                                                                                 Tom Warren <twarren@nvidia.com>:Stephen Warren <swarren@nvidia.com>
-Active  arm         armv7:arm720t  tegra20     nvidia          whistler            whistler                              -                                                                                                                                 Tom Warren <twarren@nvidia.com>:Stephen Warren <swarren@nvidia.com>
-Active  arm         armv7:arm720t  tegra20     toradex         colibri_t20_iris    colibri_t20_iris                      -                                                                                                                                 Lucas Stach <dev@lynxeye.de>
-Active  arm         armv7:arm720t  tegra30     avionic-design  tec-ng              tec-ng                                -                                                                                                                                 Alban Bedel <alban.bedel@avionic-design.de>
-Active  arm         armv7:arm720t  tegra30     nvidia          beaver              beaver                                -                                                                                                                                 Tom Warren <twarren@nvidia.com>:Stephen Warren <swarren@nvidia.com>
-Active  arm         armv7:arm720t  tegra30     nvidia          cardhu              cardhu                                -                                                                                                                                 Tom Warren <twarren@nvidia.com>
-Active  arm         pxa            -           -               balloon3            balloon3                              -                                                                                                                                 Marek Vasut <marek.vasut@gmail.com>
-Active  arm         pxa            -           -               h2200               h2200                                 -                                                                                                                                 Lukasz Dalek <luk0104@gmail.com>
-Active  arm         pxa            -           -               palmld              palmld                                -                                                                                                                                 Marek Vasut <marek.vasut@gmail.com>
-Active  arm         pxa            -           -               palmtc              palmtc                                -                                                                                                                                 Marek Vasut <marek.vasut@gmail.com>
-Active  arm         pxa            -           -               pxa255_idp          pxa255_idp                            -                                                                                                                                 Cliff Brake <cliff.brake@gmail.com>
-Active  arm         pxa            -           -               trizepsiv           polaris                               trizepsiv:POLARIS                                                                                                                 Stefano Babic <sbabic@denx.de>
-Active  arm         pxa            -           -               trizepsiv           trizepsiv                             -                                                                                                                                 Stefano Babic <sbabic@denx.de>
-Active  arm         pxa            -           -               vpac270             vpac270_nor_128                       vpac270:NOR,RAM_128M                                                                                                              Marek Vasut <marek.vasut@gmail.com>
-Active  arm         pxa            -           -               vpac270             vpac270_nor_256                       vpac270:NOR,RAM_256M                                                                                                              Marek Vasut <marek.vasut@gmail.com>
-Active  arm         pxa            -           -               vpac270             vpac270_ond_256                       vpac270:ONENAND,RAM_256M                                                                                                          Marek Vasut <marek.vasut@gmail.com>
-Active  arm         pxa            -           -               xaeniax             xaeniax                               -                                                                                                                                 -
-Active  arm         pxa            -           -               zipitz2             zipitz2                               -                                                                                                                                 Marek Vasut <marek.vasut@gmail.com>
-Active  arm         pxa            -           icpdas          lp8x4x              lp8x4x                                -                                                                                                                                 Sergey Yanovich <ynvich@gmail.com>
-Active  arm         pxa            -           toradex         colibri_pxa270      colibri_pxa270                        -                                                                                                                                 Marek Vasut <marek.vasut@gmail.com>
-Active  arm         sa1100         -           -               jornada             jornada                               -                                                                                                                                 Kristoffer Ericson <kristoffer.ericson@gmail.com>
-Active  avr32       -              at32ap700x  atmel           atngw100mkii        atngw100mkii                          -                                                                                                                                 Andreas Bießmann <andreas.devel@googlemail.com>
-Active  avr32       -              at32ap700x  in-circuit      grasshopper         grasshopper                           -                                                                                                                                 Andreas Bießmann <andreas.devel@googlemail.com>
-Active  avr32       -              at32ap700x  mimc            mimc200             mimc200                               -                                                                                                                                 Mark Jackson <mpfj@mimc.co.uk>
-Active  avr32       -              at32ap700x  miromico        hammerhead          hammerhead                            -                                                                                                                                 Alex Raimondi <alex.raimondi@miromico.ch>
-Active  blackfin    -              -           -               bct-brettl2         bct-brettl2                           -                                                                                                                                 Peter Meerwald <devel@bct-electronic.com>
-Active  blackfin    -              -           -               bf506f-ezkit        bf506f-ezkit                          -                                                                                                                                 Sonic Zhang <sonic.adi@gmail.com>
-Active  blackfin    -              -           -               bf518f-ezbrd        bf518f-ezbrd                          -                                                                                                                                 Sonic Zhang <sonic.adi@gmail.com>
-Active  blackfin    -              -           -               bf525-ucr2          bf525-ucr2                            -                                                                                                                                 Haitao Zhang <hzhang@ucrobotics.com>:Chong Huang <chuang@ucrobotics.com>
-Active  blackfin    -              -           -               bf526-ezbrd         bf526-ezbrd                           -                                                                                                                                 Sonic Zhang <sonic.adi@gmail.com>
-Active  blackfin    -              -           -               bf527-ad7160-eval   bf527-ad7160-eval                     -                                                                                                                                 Sonic Zhang <sonic.adi@gmail.com>
-Active  blackfin    -              -           -               bf527-ezkit         bf527-ezkit                           -                                                                                                                                 Sonic Zhang <sonic.adi@gmail.com>
-Active  blackfin    -              -           -               bf527-ezkit         bf527-ezkit-v2                        bf527-ezkit:BF527_EZKIT_REV_2_1                                                                                                   Sonic Zhang <sonic.adi@gmail.com>
-Active  blackfin    -              -           -               bf527-sdp           bf527-sdp                             -                                                                                                                                 Sonic Zhang <sonic.adi@gmail.com>
-Active  blackfin    -              -           -               bf533-ezkit         bf533-ezkit                           -                                                                                                                                 Sonic Zhang <sonic.adi@gmail.com>
-Active  blackfin    -              -           -               bf533-stamp         bf533-stamp                           -                                                                                                                                 Sonic Zhang <sonic.adi@gmail.com>
-Active  blackfin    -              -           -               bf537-minotaur      bf537-minotaur                        -                                                                                                                                 Martin Strubel <strubel@section5.ch>
-Active  blackfin    -              -           -               bf537-pnav          bf537-pnav                            -                                                                                                                                 Sonic Zhang <sonic.adi@gmail.com>
-Active  blackfin    -              -           -               bf537-srv1          bf537-srv1                            -                                                                                                                                 Martin Strubel <strubel@section5.ch>
-Active  blackfin    -              -           -               bf537-stamp         bf537-stamp                           -                                                                                                                                 Sonic Zhang <sonic.adi@gmail.com>
-Active  blackfin    -              -           -               bf538f-ezkit        bf538f-ezkit                          -                                                                                                                                 Sonic Zhang <sonic.adi@gmail.com>
-Active  blackfin    -              -           -               bf548-ezkit         bf548-ezkit                           -                                                                                                                                 Sonic Zhang <sonic.adi@gmail.com>
-Active  blackfin    -              -           -               bf561-acvilon       bf561-acvilon                         -                                                                                                                                 Valentin Yakovenkov <yakovenkov@niistt.ru>
-Active  blackfin    -              -           -               bf561-ezkit         bf561-ezkit                           -                                                                                                                                 Sonic Zhang <sonic.adi@gmail.com>
-Active  blackfin    -              -           -               bf609-ezkit         bf609-ezkit                           -                                                                                                                                 Sonic Zhang <sonic.adi@gmail.com>
-Active  blackfin    -              -           -               blackstamp          blackstamp                            -                                                                                                                                 Wojtek Skulski <skulski@pas.rochester.edu>:Wojtek Skulski <info@skutek.com>:Benjamin Matthews <mben12@gmail.com>
-Active  blackfin    -              -           -               blackvme            blackvme                              -                                                                                                                                 Wojtek Skulski <skulski@pas.rochester.edu>:Wojtek Skulski <info@skutek.com>:Benjamin Matthews <mben12@gmail.com>
-Active  blackfin    -              -           -               br4                 br4                                   -                                                                                                                                 Dimitar Penev <dpn@switchfin.org>
-Active  blackfin    -              -           -               dnp5370             dnp5370                               -                                                                                                                                 M.Hasewinkel (MHA) <info@ssv-embedded.de>
-Active  blackfin    -              -           -               ibf-dsp561          ibf-dsp561                            -                                                                                                                                 I-SYST Micromodule <support@i-syst.com>
-Active  blackfin    -              -           -               pr1                 pr1                                   -                                                                                                                                 Dimitar Penev <dpn@switchfin.org>
-Active  m68k        mcf5227x       -           freescale       m52277evb           M52277EVB                             M52277EVB:SYS_SPANSION_BOOT,SYS_TEXT_BASE=0x00000000                                                                              TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf5227x       -           freescale       m52277evb           M52277EVB_stmicro                     M52277EVB:CF_SBF,SYS_STMICRO_BOOT,SYS_TEXT_BASE=0x43E00000                                                                        TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf523x        -           freescale       m5235evb            M5235EVB                              M5235EVB:SYS_TEXT_BASE=0xFFE00000                                                                                                 TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf523x        -           freescale       m5235evb            M5235EVB_Flash32                      M5235EVB:NORFLASH_PS32BIT,SYS_TEXT_BASE=0xFFC00000                                                                                TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf52x2        -           -               cobra5272           cobra5272                             -                                                                                                                                 -
-Active  m68k        mcf52x2        -           BuS             eb_cpu5282          eb_cpu5282                            eb_cpu5282:SYS_TEXT_BASE=0xFF000000,SYS_MONITOR_BASE=0xFF000400                                                                   Jens Scharsig <esw@bus-elektronik.de>
-Active  m68k        mcf52x2        -           BuS             eb_cpu5282          eb_cpu5282_internal                   eb_cpu5282:SYS_TEXT_BASE=0xF0000000,SYS_MONITOR_BASE=0xF0000418                                                                   Jens Scharsig <esw@bus-elektronik.de>
-Active  m68k        mcf52x2        -           esd             tasreg              TASREG                                -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  m68k        mcf52x2        -           freescale       m5208evbe           M5208EVBE                             -                                                                                                                                 -
-Active  m68k        mcf52x2        -           freescale       m5249evb            M5249EVB                              -                                                                                                                                 -
-Active  m68k        mcf52x2        -           freescale       m5253demo           M5253DEMO                             -                                                                                                                                 TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf52x2        -           freescale       m5272c3             M5272C3                               -                                                                                                                                 -
-Active  m68k        mcf52x2        -           freescale       m5275evb            M5275EVB                              -                                                                                                                                 -
-Active  m68k        mcf52x2        -           freescale       m5282evb            M5282EVB                              -                                                                                                                                 -
-Active  m68k        mcf532x        -           astro           mcf5373l            astro_mcf5373l                        -                                                                                                                                 Wolfgang Wegner <w.wegner@astro-kom.de>
-Active  m68k        mcf532x        -           freescale       m53017evb           M53017EVB                             -                                                                                                                                 TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf532x        -           freescale       m5329evb            M5329AFEE                             M5329EVB:NANDFLASH_SIZE=0                                                                                                         TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf532x        -           freescale       m5329evb            M5329BFEE                             M5329EVB:NANDFLASH_SIZE=16                                                                                                        TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf532x        -           freescale       m5373evb            M5373EVB                              M5373EVB:NANDFLASH_SIZE=16                                                                                                        TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf5445x       -           freescale       m54418twr           M54418TWR                             M54418TWR:CF_SBF,SYS_SERIAL_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSRC=50000000                                               -
-Active  m68k        mcf5445x       -           freescale       m54418twr           M54418TWR_nand_mii                    M54418TWR:SYS_NAND_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSRC=25000000                                                        -
-Active  m68k        mcf5445x       -           freescale       m54418twr           M54418TWR_nand_rmii                   M54418TWR:SYS_NAND_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSRC=50000000                                                        -
-Active  m68k        mcf5445x       -           freescale       m54418twr           M54418TWR_nand_rmii_lowfreq           M54418TWR:SYS_NAND_BOOT,LOW_MCFCLK,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSRC=50000000                                             -
-Active  m68k        mcf5445x       -           freescale       m54418twr           M54418TWR_serial_mii                  M54418TWR:CF_SBF,SYS_SERIAL_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSRC=25000000                                               -
-Active  m68k        mcf5445x       -           freescale       m54418twr           M54418TWR_serial_rmii                 M54418TWR:CF_SBF,SYS_SERIAL_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSRC=50000000                                               -
-Active  m68k        mcf5445x       -           freescale       m54451evb           M54451EVB                             M54451EVB:SYS_TEXT_BASE=0x00000000,SYS_INPUT_CLKSRC=24000000                                                                      -
-Active  m68k        mcf5445x       -           freescale       m54451evb           M54451EVB_stmicro                     M54451EVB:CF_SBF,SYS_STMICRO_BOOT,SYS_TEXT_BASE=0x47e00000,SYS_INPUT_CLKSRC=24000000                                              -
-Active  m68k        mcf5445x       -           freescale       m54455evb           M54455EVB                             M54455EVB:SYS_ATMEL_BOOT,SYS_TEXT_BASE=0x04000000,SYS_INPUT_CLKSRC=33333333                                                       TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf5445x       -           freescale       m54455evb           M54455EVB_a66                         M54455EVB:SYS_ATMEL_BOOT,SYS_TEXT_BASE=0x04000000,SYS_INPUT_CLKSRC=66666666                                                       TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf5445x       -           freescale       m54455evb           M54455EVB_i66                         M54455EVB:SYS_INTEL_BOOT,SYS_TEXT_BASE=0x00000000,SYS_INPUT_CLKSRC=66666666                                                       TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf5445x       -           freescale       m54455evb           M54455EVB_intel                       M54455EVB:SYS_INTEL_BOOT,SYS_TEXT_BASE=0x00000000,SYS_INPUT_CLKSRC=33333333                                                       TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf5445x       -           freescale       m54455evb           M54455EVB_stm33                       M54455EVB:SYS_STMICRO_BOOT,CF_SBF,SYS_TEXT_BASE=0x4FE00000,SYS_INPUT_CLKSRC=33333333                                              TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf547x_8x     -           freescale       m547xevb            M5475AFE                              M5475EVB:SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64                                                                          TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf547x_8x     -           freescale       m547xevb            M5475BFE                              M5475EVB:SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16                                                            TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf547x_8x     -           freescale       m547xevb            M5475CFE                              M5475EVB:SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16,SYS_VIDEO,SYS_USBCTRL                                      TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf547x_8x     -           freescale       m547xevb            M5475DFE                              M5475EVB:SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_USBCTRL                                                              TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf547x_8x     -           freescale       m547xevb            M5475EFE                              M5475EVB:SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_VIDEO,SYS_USBCTRL                                                    TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf547x_8x     -           freescale       m547xevb            M5475FFE                              M5475EVB:SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=32,SYS_VIDEO,SYS_USBCTRL,SYS_DRAMSZ1=64                       TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf547x_8x     -           freescale       m547xevb            M5475GFE                              M5475EVB:SYS_BUSCLK=133333333,SYS_BOOTSZ=4,SYS_DRAMSZ=64                                                                          TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf547x_8x     -           freescale       m548xevb            M5485AFE                              M5485EVB:SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64                                                                          TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf547x_8x     -           freescale       m548xevb            M5485BFE                              M5485EVB:SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16                                                            TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf547x_8x     -           freescale       m548xevb            M5485CFE                              M5485EVB:SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16,SYS_VIDEO,SYS_USBCTRL                                      TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf547x_8x     -           freescale       m548xevb            M5485DFE                              M5485EVB:SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_USBCTRL                                                              TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf547x_8x     -           freescale       m548xevb            M5485EFE                              M5485EVB:SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_VIDEO,SYS_USBCTRL                                                    TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf547x_8x     -           freescale       m548xevb            M5485FFE                              M5485EVB:SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=32,SYS_VIDEO,SYS_USBCTRL,SYS_DRAMSZ1=64                       TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf547x_8x     -           freescale       m548xevb            M5485GFE                              M5485EVB:SYS_BUSCLK=100000000,SYS_BOOTSZ=4,SYS_DRAMSZ=64                                                                          TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  m68k        mcf547x_8x     -           freescale       m548xevb            M5485HFE                              M5485EVB:SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16,SYS_VIDEO                                                  TsiChung Liew <Tsi-Chung.Liew@freescale.com>
-Active  microblaze  -              -           xilinx          microblaze-generic  microblaze-generic                    -                                                                                                                                 Michal Simek <monstr@monstr.eu>
-Active  mips        mips32         -           -               qemu-mips           qemu_mips                             qemu-mips:SYS_BIG_ENDIAN                                                                                                          Vlad Lungu <vlad.lungu@windriver.com>
-Active  mips        mips32         -           -               qemu-mips           qemu_mipsel                           qemu-mips:SYS_LITTLE_ENDIAN                                                                                                       -
-Active  mips        mips32         -           imgtec          malta               malta                                 malta:SYS_BIG_ENDIAN                                                                                                              Paul Burton <paul.burton@imgtec.com>
-Active  mips        mips32         -           imgtec          malta               maltael                               malta:SYS_LITTLE_ENDIAN                                                                                                           Paul Burton <paul.burton@imgtec.com>
-Active  mips        mips32         -           micronas        vct                 vct_platinum                          vct:VCT_PLATINUM                                                                                                                  -
-Active  mips        mips32         -           micronas        vct                 vct_platinum_onenand                  vct:VCT_PLATINUM,VCT_ONENAND                                                                                                      -
-Active  mips        mips32         -           micronas        vct                 vct_platinum_onenand_small            vct:VCT_PLATINUM,VCT_ONENAND,VCT_SMALL_IMAGE                                                                                      -
-Active  mips        mips32         -           micronas        vct                 vct_platinum_small                    vct:VCT_PLATINUM,VCT_SMALL_IMAGE                                                                                                  -
-Active  mips        mips32         -           micronas        vct                 vct_platinumavc                       vct:VCT_PLATINUMAVC                                                                                                               -
-Active  mips        mips32         -           micronas        vct                 vct_platinumavc_onenand               vct:VCT_PLATINUMAVC,VCT_ONENAND                                                                                                   -
-Active  mips        mips32         -           micronas        vct                 vct_platinumavc_onenand_small         vct:VCT_PLATINUMAVC,VCT_ONENAND,VCT_SMALL_IMAGE                                                                                   -
-Active  mips        mips32         -           micronas        vct                 vct_platinumavc_small                 vct:VCT_PLATINUMAVC,VCT_SMALL_IMAGE                                                                                               -
-Active  mips        mips32         -           micronas        vct                 vct_premium                           vct:VCT_PREMIUM                                                                                                                   -
-Active  mips        mips32         -           micronas        vct                 vct_premium_onenand                   vct:VCT_PREMIUM,VCT_ONENAND                                                                                                       -
-Active  mips        mips32         -           micronas        vct                 vct_premium_onenand_small             vct:VCT_PREMIUM,VCT_ONENAND,VCT_SMALL_IMAGE                                                                                       -
-Active  mips        mips32         -           micronas        vct                 vct_premium_small                     vct:VCT_PREMIUM,VCT_SMALL_IMAGE                                                                                                   -
-Active  mips        mips32         au1x00      -               dbau1x00            dbau1000                              dbau1x00:DBAU1000                                                                                                                 Thomas Lange <thomas@corelatus.se>
-Active  mips        mips32         au1x00      -               dbau1x00            dbau1100                              dbau1x00:DBAU1100                                                                                                                 Thomas Lange <thomas@corelatus.se>
-Active  mips        mips32         au1x00      -               dbau1x00            dbau1500                              dbau1x00:DBAU1500                                                                                                                 Thomas Lange <thomas@corelatus.se>
-Active  mips        mips32         au1x00      -               dbau1x00            dbau1550                              dbau1x00:DBAU1550                                                                                                                 Thomas Lange <thomas@corelatus.se>
-Active  mips        mips32         au1x00      -               dbau1x00            dbau1550_el                           dbau1x00:DBAU1550,SYS_LITTLE_ENDIAN                                                                                               Thomas Lange <thomas@corelatus.se>
-Active  mips        mips32         au1x00      -               pb1x00              pb1000                                pb1x00:PB1000                                                                                                                     -
-Active  mips        mips64         -           -               qemu-mips           qemu_mips64                           qemu-mips64:SYS_BIG_ENDIAN                                                                                                        -
-Active  mips        mips64         -           -               qemu-mips           qemu_mips64el                         qemu-mips64:SYS_LITTLE_ENDIAN                                                                                                     -
-Active  nds32       n1213          ag101       AndesTech       adp-ag101           adp-ag101                             -                                                                                                                                 Andes <uboot@andestech.com>
-Active  nds32       n1213          ag101       AndesTech       adp-ag101p          adp-ag101p                            -                                                                                                                                 Andes <uboot@andestech.com>
-Active  nds32       n1213          ag102       AndesTech       adp-ag102           adp-ag102                             -                                                                                                                                 Andes <uboot@andestech.com>
-Active  nios2       -              -           altera          nios2-generic       nios2-generic                         -                                                                                                                                 Scott McNutt <smcnutt@psyent.com>
-Active  nios2       -              -           psyent          pci5441             PCI5441                               -                                                                                                                                 Scott McNutt <smcnutt@psyent.com>
-Active  nios2       -              -           psyent          pk1c20              PK1C20                                -                                                                                                                                 Scott McNutt <smcnutt@psyent.com>
-Active  openrisc    -              -           openrisc        openrisc-generic    openrisc-generic                      -                                                                                                                                 Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>
-Active  powerpc     74xx_7xx       -           -               evb64260            P3G4                                  -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     74xx_7xx       -           -               ppmc7xx             ppmc7xx                               -                                                                                                                                 -
-Active  powerpc     74xx_7xx       -           eltec           elppc               ELPPC                                 -                                                                                                                                 -
-Active  powerpc     74xx_7xx       -           esd             cpci750             CPCI750                               -                                                                                                                                 Reinhard Arlt <reinhard.arlt@esd-electronics.com>
-Active  powerpc     74xx_7xx       -           freescale       mpc7448hpc2         mpc7448hpc2                           -                                                                                                                                 Roy Zang <tie-fei.zang@freescale.com>
-Active  powerpc     74xx_7xx       -           Marvell         db64360             DB64360                               -                                                                                                                                 -
-Active  powerpc     74xx_7xx       -           Marvell         db64460             DB64460                               -                                                                                                                                 -
-Active  powerpc     74xx_7xx       -           prodrive        p3mx                p3m7448                               p3mx:P3M7448                                                                                                                      Stefan Roese <sr@denx.de>
-Active  powerpc     74xx_7xx       -           prodrive        p3mx                p3m750                                p3mx:P3M750                                                                                                                       Stefan Roese <sr@denx.de>
-Active  powerpc     mpc512x        -           -               pdm360ng            pdm360ng                              -                                                                                                                                 Michael Weiss <michael.weiss@ifm.com>
-Active  powerpc     mpc512x        -           davedenx        aria                aria                                  -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc512x        -           esd             mecp5123            mecp5123                              -                                                                                                                                 Reinhard Arlt <reinhard.arlt@esd-electronics.com>
-Active  powerpc     mpc512x        -           freescale       mpc5121ads          mpc5121ads                            -                                                                                                                                 -
-Active  powerpc     mpc512x        -           freescale       mpc5121ads          mpc5121ads_rev2                       mpc5121ads:MPC5121ADS_REV2                                                                                                        -
-Active  powerpc     mpc512x        -           ifm             ac14xx              ac14xx                                -                                                                                                                                 Anatolij Gustschin <agust@denx.de>
-Active  powerpc     mpc5xx         -           -               cmi                 cmi_mpc5xx                            -                                                                                                                                 -
-Active  powerpc     mpc5xx         -           mpl             pati                PATI                                  -                                                                                                                                 -
-Active  powerpc     mpc5xxx        -           -               a3m071              a3m071                                -                                                                                                                                 Stefan Roese <sr@denx.de>
-Active  powerpc     mpc5xxx        -           -               a3m071              a4m2k                                 a3m071:A4M2K                                                                                                                      Stefan Roese <sr@denx.de>
-Active  powerpc     mpc5xxx        -           -               a4m072              a4m072                                -                                                                                                                                 Sergei Poselenov <sposelenov@emcraft.com>
-Active  powerpc     mpc5xxx        -           -               bc3450              BC3450                                -                                                                                                                                 -
-Active  powerpc     mpc5xxx        -           -               canmb               canmb                                 -                                                                                                                                 -
-Active  powerpc     mpc5xxx        -           -               cm5200              cm5200                                -                                                                                                                                 -
-Active  powerpc     mpc5xxx        -           -               icecube             icecube_5200                          IceCube                                                                                                                           Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc5xxx        -           -               icecube             icecube_5200_DDR                      IceCube:MPC5200_DDR                                                                                                               -
-Active  powerpc     mpc5xxx        -           -               icecube             icecube_5200_DDR_LOWBOOT              IceCube:SYS_TEXT_BASE=0xFF800000,MPC5200_DDR                                                                                      -
-Active  powerpc     mpc5xxx        -           -               icecube             icecube_5200_DDR_LOWBOOT08            IceCube:SYS_TEXT_BASE=0xFF800000,MPC5200_DDR                                                                                      -
-Active  powerpc     mpc5xxx        -           -               icecube             icecube_5200_LOWBOOT                  IceCube:SYS_TEXT_BASE=0xFF000000                                                                                                  -
-Active  powerpc     mpc5xxx        -           -               icecube             icecube_5200_LOWBOOT08                IceCube:SYS_TEXT_BASE=0xFF800000                                                                                                  -
-Active  powerpc     mpc5xxx        -           -               icecube             Lite5200                              IceCube                                                                                                                           -
-Active  powerpc     mpc5xxx        -           -               icecube             Lite5200_LOWBOOT                      IceCube:SYS_TEXT_BASE=0xFF000000                                                                                                  -
-Active  powerpc     mpc5xxx        -           -               icecube             Lite5200_LOWBOOT08                    IceCube:SYS_TEXT_BASE=0xFF800000                                                                                                  -
-Active  powerpc     mpc5xxx        -           -               icecube             lite5200b                             IceCube:MPC5200_DDR,LITE5200B                                                                                                     -
-Active  powerpc     mpc5xxx        -           -               icecube             lite5200b_LOWBOOT                     IceCube:MPC5200_DDR,LITE5200B,SYS_TEXT_BASE=0xFF000000                                                                            -
-Active  powerpc     mpc5xxx        -           -               icecube             lite5200b_PM                          IceCube:MPC5200_DDR,LITE5200B,LITE5200B_PM                                                                                        -
-Active  powerpc     mpc5xxx        -           -               inka4x0             inka4x0                               -                                                                                                                                 Detlev Zundel <dzu@denx.de>
-Active  powerpc     mpc5xxx        -           -               ipek01              ipek01                                -                                                                                                                                 Wolfgang Grandegger <wg@denx.de>
-Active  powerpc     mpc5xxx        -           -               jupiter             jupiter                               -                                                                                                                                 Heiko Schocher <hs@denx.de>
-Active  powerpc     mpc5xxx        -           -               mcc200              mcc200                                -                                                                                                                                 -
-Active  powerpc     mpc5xxx        -           -               mcc200              mcc200_COM12                          mcc200:CONSOLE_COM12                                                                                                              -
-Active  powerpc     mpc5xxx        -           -               mcc200              mcc200_COM12_highboot                 mcc200:CONSOLE_COM12,SYS_TEXT_BASE=0xFFF00000                                                                                     -
-Active  powerpc     mpc5xxx        -           -               mcc200              mcc200_COM12_highboot_SDRAM           mcc200:CONSOLE_COM12,SYS_TEXT_BASE=0xFFF00000,MCC200_SDRAM                                                                        -
-Active  powerpc     mpc5xxx        -           -               mcc200              mcc200_COM12_SDRAM                    mcc200:CONSOLE_COM12,MCC200_SDRAM                                                                                                 -
-Active  powerpc     mpc5xxx        -           -               mcc200              mcc200_highboot                       mcc200:SYS_TEXT_BASE=0xFFF00000                                                                                                   -
-Active  powerpc     mpc5xxx        -           -               mcc200              mcc200_highboot_SDRAM                 mcc200:SYS_TEXT_BASE=0xFFF00000,MCC200_SDRAM                                                                                      -
-Active  powerpc     mpc5xxx        -           -               mcc200              mcc200_SDRAM                          mcc200:MCC200_SDRAM                                                                                                               -
-Active  powerpc     mpc5xxx        -           -               mcc200              prs200                                mcc200:PRS200,MCC200_SDRAM                                                                                                        -
-Active  powerpc     mpc5xxx        -           -               mcc200              prs200_DDR                            mcc200:PRS200                                                                                                                     -
-Active  powerpc     mpc5xxx        -           -               mcc200              prs200_highboot                       mcc200:PRS200,SYS_TEXT_BASE=0xFFF00000,MCC200_SDRAM                                                                               -
-Active  powerpc     mpc5xxx        -           -               mcc200              prs200_highboot_DDR                   mcc200:PRS200,SYS_TEXT_BASE=0xFFF00000                                                                                            -
-Active  powerpc     mpc5xxx        -           -               motionpro           motionpro                             -                                                                                                                                 -
-Active  powerpc     mpc5xxx        -           -               munices             munices                               -                                                                                                                                 -
-Active  powerpc     mpc5xxx        -           -               pm520               PM520                                 -                                                                                                                                 Josef Wagner <Wagner@Microsys.de>
-Active  powerpc     mpc5xxx        -           -               pm520               PM520_DDR                             PM520:MPC5200_DDR                                                                                                                 Josef Wagner <Wagner@Microsys.de>
-Active  powerpc     mpc5xxx        -           -               pm520               PM520_ROMBOOT                         PM520:BOOT_ROM                                                                                                                    Josef Wagner <Wagner@Microsys.de>
-Active  powerpc     mpc5xxx        -           -               pm520               PM520_ROMBOOT_DDR                     PM520:MPC5200_DDR,BOOT_ROM                                                                                                        Josef Wagner <Wagner@Microsys.de>
-Active  powerpc     mpc5xxx        -           -               total5200           Total5200                             Total5200:TOTAL5200_REV=1                                                                                                         -
-Active  powerpc     mpc5xxx        -           -               total5200           Total5200_lowboot                     Total5200:TOTAL5200_REV=1,SYS_TEXT_BASE=0xFE000000                                                                                -
-Active  powerpc     mpc5xxx        -           -               total5200           Total5200_Rev2                        Total5200:TOTAL5200_REV=2                                                                                                         -
-Active  powerpc     mpc5xxx        -           -               total5200           Total5200_Rev2_lowboot                Total5200:TOTAL5200_REV=2,SYS_TEXT_BASE=0xFE000000                                                                                -
-Active  powerpc     mpc5xxx        -           -               v38b                v38b                                  -                                                                                                                                 -
-Active  powerpc     mpc5xxx        -           emk             top5200             EVAL5200                              TOP5200:EVAL5200                                                                                                                  Reinhard Meyer <reinhard.meyer@emk-elektronik.de>
-Active  powerpc     mpc5xxx        -           emk             top5200             MINI5200                              TOP5200:MINI5200                                                                                                                  Reinhard Meyer <reinhard.meyer@emk-elektronik.de>
-Active  powerpc     mpc5xxx        -           emk             top5200             TOP5200                               TOP5200:TOP5200                                                                                                                   Reinhard Meyer <reinhard.meyer@emk-elektronik.de>
-Active  powerpc     mpc5xxx        -           esd             cpci5200            cpci5200                              -                                                                                                                                 Reinhard Arlt <reinhard.arlt@esd-electronics.com>
-Active  powerpc     mpc5xxx        -           esd             mecp5200            mecp5200                              -                                                                                                                                 Reinhard Arlt <reinhard.arlt@esd-electronics.com>
-Active  powerpc     mpc5xxx        -           esd             pf5200              pf5200                                -                                                                                                                                 Reinhard Arlt <reinhard.arlt@esd-electronics.com>
-Active  powerpc     mpc5xxx        -           ifm             o2dnt2              O2D                                   o2d                                                                                                                               Anatolij Gustschin <agust@denx.de>
-Active  powerpc     mpc5xxx        -           ifm             o2dnt2              O2D300                                o2d300                                                                                                                            Anatolij Gustschin <agust@denx.de>
-Active  powerpc     mpc5xxx        -           ifm             o2dnt2              O2DNT2                                o2dnt2                                                                                                                            Anatolij Gustschin <agust@denx.de>
-Active  powerpc     mpc5xxx        -           ifm             o2dnt2              O2DNT2_RAMBOOT                        o2dnt2:SYS_TEXT_BASE=0x00100000                                                                                                   Anatolij Gustschin <agust@denx.de>
-Active  powerpc     mpc5xxx        -           ifm             o2dnt2              O2I                                   o2i                                                                                                                               Anatolij Gustschin <agust@denx.de>
-Active  powerpc     mpc5xxx        -           ifm             o2dnt2              O2MNT                                 o2mnt                                                                                                                             Anatolij Gustschin <agust@denx.de>
-Active  powerpc     mpc5xxx        -           ifm             o2dnt2              O2MNT_O2M110                          o2mnt:IFM_SENSOR_TYPE="O2M110"                                                                                                    Anatolij Gustschin <agust@denx.de>
-Active  powerpc     mpc5xxx        -           ifm             o2dnt2              O2MNT_O2M112                          o2mnt:IFM_SENSOR_TYPE="O2M112"                                                                                                    Anatolij Gustschin <agust@denx.de>
-Active  powerpc     mpc5xxx        -           ifm             o2dnt2              O2MNT_O2M113                          o2mnt:IFM_SENSOR_TYPE="O2M113"                                                                                                    Anatolij Gustschin <agust@denx.de>
-Active  powerpc     mpc5xxx        -           ifm             o2dnt2              O3DNT                                 o3dnt                                                                                                                             Anatolij Gustschin <agust@denx.de>
-Active  powerpc     mpc5xxx        -           intercontrol    digsy_mtc           digsy_mtc                             -                                                                                                                                 Werner Pfister <Pfister_Werner@intercontrol.de>
-Active  powerpc     mpc5xxx        -           intercontrol    digsy_mtc           digsy_mtc_RAMBOOT                     digsy_mtc:SYS_TEXT_BASE=0x00100000                                                                                                Werner Pfister <Pfister_Werner@intercontrol.de>
-Active  powerpc     mpc5xxx        -           intercontrol    digsy_mtc           digsy_mtc_rev5                        digsy_mtc:DIGSY_REV5                                                                                                              Werner Pfister <Pfister_Werner@intercontrol.de>
-Active  powerpc     mpc5xxx        -           intercontrol    digsy_mtc           digsy_mtc_rev5_RAMBOOT                digsy_mtc:SYS_TEXT_BASE=0x00100000,DIGSY_REV5                                                                                     Werner Pfister <Pfister_Werner@intercontrol.de>
-Active  powerpc     mpc5xxx        -           manroland       hmi1001             hmi1001                               -                                                                                                                                 -
-Active  powerpc     mpc5xxx        -           manroland       mucmc52             mucmc52                               -                                                                                                                                 Heiko Schocher <hs@denx.de>
-Active  powerpc     mpc5xxx        -           manroland       uc101               uc101                                 -                                                                                                                                 Heiko Schocher <hs@denx.de>
-Active  powerpc     mpc5xxx        -           phytec          pcm030              pcm030                                -                                                                                                                                 Jon Smirl <jonsmirl@gmail.com>
-Active  powerpc     mpc5xxx        -           phytec          pcm030              pcm030_LOWBOOT                        pcm030:SYS_TEXT_BASE=0xFF000000                                                                                                   Jon Smirl <jonsmirl@gmail.com>
-Active  powerpc     mpc5xxx        -           tqc             tqm5200             aev                                   -                                                                                                                                 -
-Active  powerpc     mpc5xxx        -           tqc             tqm5200             cam5200                               TQM5200:CAM5200,TQM5200S,TQM5200_B                                                                                                -
-Active  powerpc     mpc5xxx        -           tqc             tqm5200             cam5200_niosflash                     TQM5200:CAM5200,TQM5200S,TQM5200_B,CAM5200_NIOSFLASH                                                                              -
-Active  powerpc     mpc5xxx        -           tqc             tqm5200             charon                                -                                                                                                                                 Heiko Schocher <hs@denx.de>
-Active  powerpc     mpc5xxx        -           tqc             tqm5200             fo300                                 TQM5200:FO300                                                                                                                     -
-Active  powerpc     mpc5xxx        -           tqc             tqm5200             MiniFAP                               TQM5200:MINIFAP                                                                                                                   -
-Active  powerpc     mpc5xxx        -           tqc             tqm5200             TB5200                                -                                                                                                                                 -
-Active  powerpc     mpc5xxx        -           tqc             tqm5200             TB5200_B                              TB5200:TQM5200_B                                                                                                                  -
-Active  powerpc     mpc5xxx        -           tqc             tqm5200             TQM5200                               -                                                                                                                                 -
-Active  powerpc     mpc5xxx        -           tqc             tqm5200             TQM5200_B                             TQM5200:TQM5200_B                                                                                                                 -
-Active  powerpc     mpc5xxx        -           tqc             tqm5200             TQM5200_B_HIGHBOOT                    TQM5200:TQM5200_B,SYS_TEXT_BASE=0xFFF00000                                                                                        -
-Active  powerpc     mpc5xxx        -           tqc             tqm5200             TQM5200_STK100                        TQM5200:STK52XX_REV100                                                                                                            -
-Active  powerpc     mpc5xxx        -           tqc             tqm5200             TQM5200S                              TQM5200:TQM5200_B,TQM5200S                                                                                                        -
-Active  powerpc     mpc5xxx        -           tqc             tqm5200             TQM5200S_HIGHBOOT                     TQM5200:TQM5200_B,TQM5200S,SYS_TEXT_BASE=0xFFF00000                                                                               -
-Active  powerpc     mpc824x        -           -               a3000               A3000                                 -                                                                                                                                 -
-Active  powerpc     mpc824x        -           -               cpc45               CPC45                                 -                                                                                                                                 Josef Wagner <Wagner@Microsys.de>
-Active  powerpc     mpc824x        -           -               cpc45               CPC45_ROMBOOT                         CPC45:BOOT_ROM                                                                                                                    Josef Wagner <Wagner@Microsys.de>
-Active  powerpc     mpc824x        -           -               cu824               CU824                                 -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc824x        -           -               eXalion             eXalion                               -                                                                                                                                 Torsten Demke <torsten.demke@fci.com>
-Active  powerpc     mpc824x        -           -               mvblue              MVBLUE                                -                                                                                                                                 -
-Active  powerpc     mpc824x        -           -               sandpoint           Sandpoint8240                         -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc824x        -           -               utx8245             utx8245                               -                                                                                                                                 Greg Allen <gallen@arlut.utexas.edu>
-Active  powerpc     mpc8260        -           -               atc                 atc                                   -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           -               cogent              cogent_mpc8260                        -                                                                                                                                 Murray Jensen <Murray.Jensen@csiro.au>
-Active  powerpc     mpc8260        -           -               cpu86               CPU86                                 -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           -               cpu86               CPU86_ROMBOOT                         CPU86:BOOT_ROM                                                                                                                    Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           -               cpu87               CPU87                                 -                                                                                                                                 -
-Active  powerpc     mpc8260        -           -               cpu87               CPU87_ROMBOOT                         CPU87:BOOT_ROM                                                                                                                    -
-Active  powerpc     mpc8260        -           -               ep82xxm             ep82xxm                               -                                                                                                                                 -
-Active  powerpc     mpc8260        -           -               gw8260              gw8260                                -                                                                                                                                 Oliver Brown <obrown@adventnetworks.com>
-Active  powerpc     mpc8260        -           -               hymod               hymod                                 -                                                                                                                                 Murray Jensen <Murray.Jensen@csiro.au>
-Active  powerpc     mpc8260        -           -               iphase4539          IPHASE4539                            -                                                                                                                                 Wolfgang Grandegger <wg@denx.de>
-Active  powerpc     mpc8260        -           -               muas3001            muas3001                              -                                                                                                                                 Heiko Schocher <hs@denx.de>
-Active  powerpc     mpc8260        -           -               muas3001            muas3001_dev                          muas3001:MUAS_DEV_BOARD                                                                                                           Heiko Schocher <hs@denx.de>
-Active  powerpc     mpc8260        -           -               pm826               PM825                                 PM826:PCI,SYS_TEXT_BASE=0xFF000000                                                                                                Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           -               pm826               PM825_BIGFLASH                        PM826:PCI,FLASH_32MB,SYS_TEXT_BASE=0x40000000                                                                                     Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           -               pm826               PM825_ROMBOOT                         PM826:PCI,BOOT_ROM,SYS_TEXT_BASE=0xFF800000                                                                                       Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           -               pm826               PM825_ROMBOOT_BIGFLASH                PM826:PCI,BOOT_ROM,FLASH_32MB,SYS_TEXT_BASE=0xFF800000                                                                            Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           -               pm826               PM826                                 PM826:SYS_TEXT_BASE=0xFF000000                                                                                                    Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           -               pm826               PM826_BIGFLASH                        PM826:FLASH_32MB,SYS_TEXT_BASE=0x40000000                                                                                         Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           -               pm826               PM826_ROMBOOT                         PM826:BOOT_ROM,SYS_TEXT_BASE=0xFF800000                                                                                           Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           -               pm826               PM826_ROMBOOT_BIGFLASH                PM826:BOOT_ROM,FLASH_32MB,SYS_TEXT_BASE=0xFF800000                                                                                Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           -               pm828               PM828                                 -                                                                                                                                 -
-Active  powerpc     mpc8260        -           -               pm828               PM828_PCI                             PM828:PCI                                                                                                                         -
-Active  powerpc     mpc8260        -           -               pm828               PM828_ROMBOOT                         PM828:BOOT_ROM,SYS_TEXT_BASE=0xFF800000                                                                                           -
-Active  powerpc     mpc8260        -           -               pm828               PM828_ROMBOOT_PCI                     PM828:PCI,BOOT_ROM,SYS_TEXT_BASE=0xFF800000                                                                                       -
-Active  powerpc     mpc8260        -           freescale       mpc8266ads          MPC8266ADS                            -                                                                                                                                 Rune Torgersen <runet@innovsys.com>
-Active  powerpc     mpc8260        -           funkwerk        vovpn-gw            VoVPN-GW_66MHz                        VoVPN-GW:CLKIN_66MHz                                                                                                              -
-Active  powerpc     mpc8260        -           ids             ids8247             IDS8247                               -                                                                                                                                 Heiko Schocher <hs@denx.de>
-Active  powerpc     mpc8260        -           keymile         km82xx              mgcoge                                km82xx:MGCOGE                                                                                                                     Holger Brunck <holger.brunck@keymile.com>
-Active  powerpc     mpc8260        -           keymile         km82xx              mgcoge3ne                             km82xx:MGCOGE3NE                                                                                                                  Holger Brunck <holger.brunck@keymile.com>
-Active  powerpc     mpc8260        -           tqc             tqm8260             TQM8255_AA                            TQM8260:MPC8255,300MHz                                                                                                            Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           tqc             tqm8260             TQM8260_AA                            TQM8260:MPC8260,200MHz                                                                                                            Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           tqc             tqm8260             TQM8260_AB                            TQM8260:MPC8260,200MHz,L2_CACHE,BUSMODE_60x                                                                                       Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           tqc             tqm8260             TQM8260_AC                            TQM8260:MPC8260,200MHz,L2_CACHE,BUSMODE_60x                                                                                       Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           tqc             tqm8260             TQM8260_AD                            TQM8260:MPC8260,300MHz,BUSMODE_60x                                                                                                Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           tqc             tqm8260             TQM8260_AE                            TQM8260:MPC8260,266MHz                                                                                                            Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           tqc             tqm8260             TQM8260_AF                            TQM8260:MPC8260,300MHz,BUSMODE_60x                                                                                                Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           tqc             tqm8260             TQM8260_AG                            TQM8260:MPC8260,300MHz                                                                                                            Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           tqc             tqm8260             TQM8260_AH                            TQM8260:MPC8260,300MHz,L2_CACHE,BUSMODE_60x                                                                                       Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           tqc             tqm8260             TQM8260_AI                            TQM8260:MPC8260,300MHz,BUSMODE_60x                                                                                                Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           tqc             tqm8260             TQM8265_AA                            TQM8260:MPC8265,300MHz,BUSMODE_60x                                                                                                Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8260        -           tqc             tqm8272             TQM8272                               -                                                                                                                                 -
-Active  powerpc     mpc83xx        -           -               mpc8308_p1m         mpc8308_p1m                           -                                                                                                                                 Ilya Yanok <yanok@emcraft.com>
-Active  powerpc     mpc83xx        -           -               sbc8349             sbc8349                               -                                                                                                                                 Paul Gortmaker <paul.gortmaker@windriver.com>
-Active  powerpc     mpc83xx        -           -               sbc8349             sbc8349_PCI_33                        sbc8349:PCI,PCI_33M                                                                                                               Paul Gortmaker <paul.gortmaker@windriver.com>
-Active  powerpc     mpc83xx        -           -               sbc8349             sbc8349_PCI_66                        sbc8349:PCI,PCI_66M                                                                                                               Paul Gortmaker <paul.gortmaker@windriver.com>
-Active  powerpc     mpc83xx        -           -               ve8313              ve8313                                -                                                                                                                                 Heiko Schocher <hs@denx.de>
-Active  powerpc     mpc83xx        -           esd             vme8349             caddy2                                vme8349:CADDY2                                                                                                                    Reinhard Arlt <reinhard.arlt@esd-electronics.com>
-Active  powerpc     mpc83xx        -           esd             vme8349             vme8349                               -                                                                                                                                 Reinhard Arlt <reinhard.arlt@esd-electronics.com>
-Active  powerpc     mpc83xx        -           freescale       mpc8308rdb          MPC8308RDB                            -                                                                                                                                 Ilya Yanok <yanok@emcraft.com>
-Active  powerpc     mpc83xx        -           freescale       mpc8313erdb         MPC8313ERDB_33                        MPC8313ERDB:SYS_33MHZ                                                                                                             -
-Active  powerpc     mpc83xx        -           freescale       mpc8313erdb         MPC8313ERDB_66                        MPC8313ERDB:SYS_66MHZ                                                                                                             -
-Active  powerpc     mpc83xx        -           freescale       mpc8313erdb         MPC8313ERDB_NAND_33                   MPC8313ERDB:SYS_33MHZ,NAND                                                                                                        -
-Active  powerpc     mpc83xx        -           freescale       mpc8313erdb         MPC8313ERDB_NAND_66                   MPC8313ERDB:SYS_66MHZ,NAND                                                                                                        -
-Active  powerpc     mpc83xx        -           freescale       mpc8315erdb         MPC8315ERDB                           -                                                                                                                                 Dave Liu <daveliu@freescale.com>
-Active  powerpc     mpc83xx        -           freescale       mpc8323erdb         MPC8323ERDB                           -                                                                                                                                 Michael Barkowski <michael.barkowski@freescale.com>
-Active  powerpc     mpc83xx        -           freescale       mpc832xemds         MPC832XEMDS                           -                                                                                                                                 Dave Liu <daveliu@freescale.com>
-Active  powerpc     mpc83xx        -           freescale       mpc832xemds         MPC832XEMDS_ATM                       MPC832XEMDS:PQ_MDS_PIB=1,PQ_MDS_PIB_ATM=1                                                                                         Dave Liu <daveliu@freescale.com>
-Active  powerpc     mpc83xx        -           freescale       mpc832xemds         MPC832XEMDS_HOST_33                   MPC832XEMDS:PCI,PCI_33M,PQ_MDS_PIB=1                                                                                              Dave Liu <daveliu@freescale.com>
-Active  powerpc     mpc83xx        -           freescale       mpc832xemds         MPC832XEMDS_HOST_66                   MPC832XEMDS:PCI,PCI_66M,PQ_MDS_PIB=1                                                                                              Dave Liu <daveliu@freescale.com>
-Active  powerpc     mpc83xx        -           freescale       mpc832xemds         MPC832XEMDS_SLAVE                     MPC832XEMDS:PCI,PCISLAVE                                                                                                          Dave Liu <daveliu@freescale.com>
-Active  powerpc     mpc83xx        -           freescale       mpc8349emds         MPC8349EMDS                           -                                                                                                                                 Kim Phillips <kim.phillips@freescale.com>
-Active  powerpc     mpc83xx        -           freescale       mpc8349itx          MPC8349ITX                            MPC8349ITX:MPC8349ITX                                                                                                             -
-Active  powerpc     mpc83xx        -           freescale       mpc8349itx          MPC8349ITX_LOWBOOT                    MPC8349ITX:MPC8349ITX,SYS_TEXT_BASE=0xFE000000                                                                                    -
-Active  powerpc     mpc83xx        -           freescale       mpc8349itx          MPC8349ITXGP                          MPC8349ITX:MPC8349ITXGP,SYS_TEXT_BASE=0xFE000000                                                                                  -
-Active  powerpc     mpc83xx        -           freescale       mpc8360emds         MPC8360EMDS_33                        MPC8360EMDS:CLKIN_33MHZ                                                                                                           Dave Liu <daveliu@freescale.com>
-Active  powerpc     mpc83xx        -           freescale       mpc8360emds         MPC8360EMDS_33_ATM                    MPC8360EMDS:CLKIN_33MHZ,PQ_MDS_PIB=1,PQ_MDS_PIB_ATM=1                                                                             Dave Liu <daveliu@freescale.com>
-Active  powerpc     mpc83xx        -           freescale       mpc8360emds         MPC8360EMDS_33_HOST_33                MPC8360EMDS:CLKIN_33MHZ,PCI,PCI_33M,PQ_MDS_PIB=1                                                                                  Dave Liu <daveliu@freescale.com>
-Active  powerpc     mpc83xx        -           freescale       mpc8360emds         MPC8360EMDS_33_HOST_66                MPC8360EMDS:CLKIN_33MHZ,PCI,PCI_66M,PQ_MDS_PIB=1                                                                                  Dave Liu <daveliu@freescale.com>
-Active  powerpc     mpc83xx        -           freescale       mpc8360emds         MPC8360EMDS_33_SLAVE                  MPC8360EMDS:CLKIN_33MHZ,PCI,PCISLAVE                                                                                              Dave Liu <daveliu@freescale.com>
-Active  powerpc     mpc83xx        -           freescale       mpc8360emds         MPC8360EMDS_66                        MPC8360EMDS:CLKIN_66MHZ                                                                                                           Dave Liu <daveliu@freescale.com>
-Active  powerpc     mpc83xx        -           freescale       mpc8360emds         MPC8360EMDS_66_ATM                    MPC8360EMDS:CLKIN_66MHZ,PQ_MDS_PIB=1,PQ_MDS_PIB_ATM=1                                                                             Dave Liu <daveliu@freescale.com>
-Active  powerpc     mpc83xx        -           freescale       mpc8360emds         MPC8360EMDS_66_HOST_33                MPC8360EMDS:CLKIN_66MHZ,PCI,PCI_33M,PQ_MDS_PIB=1                                                                                  Dave Liu <daveliu@freescale.com>
-Active  powerpc     mpc83xx        -           freescale       mpc8360emds         MPC8360EMDS_66_HOST_66                MPC8360EMDS:CLKIN_66MHZ,PCI,PCI_66M,PQ_MDS_PIB=1                                                                                  Dave Liu <daveliu@freescale.com>
-Active  powerpc     mpc83xx        -           freescale       mpc8360emds         MPC8360EMDS_66_SLAVE                  MPC8360EMDS:CLKIN_66MHZ,PCI,PCISLAVE                                                                                              Dave Liu <daveliu@freescale.com>
-Active  powerpc     mpc83xx        -           freescale       mpc837xemds         MPC837XEMDS                           -                                                                                                                                 Dave Liu <daveliu@freescale.com>
-Active  powerpc     mpc83xx        -           freescale       mpc837xemds         MPC837XEMDS_HOST                      MPC837XEMDS:PCI                                                                                                                   Dave Liu <daveliu@freescale.com>
-Active  powerpc     mpc83xx        -           ids             ids8313             ids8313                               ids8313:SYS_TEXT_BASE=0xFFF00000                                                                                                  Heiko Schocher <hs@denx.de>
-Active  powerpc     mpc83xx        -           keymile         km83xx              kmcoge5ne                             km8360:KMCOGE5NE                                                                                                                  Holger Brunck <holger.brunck@keymile.com>
-Active  powerpc     mpc83xx        -           keymile         km83xx              kmeter1                               km8360:KMETER1                                                                                                                    Holger Brunck <holger.brunck@keymile.com>
-Active  powerpc     mpc83xx        -           keymile         km83xx              kmopti2                               tuxx1:KMOPTI2                                                                                                                     Holger Brunck <holger.brunck@keymile.com>
-Active  powerpc     mpc83xx        -           keymile         km83xx              kmsupx5                               tuxx1:KMSUPX5                                                                                                                     Heiko Schocher <hs@denx.de>
-Active  powerpc     mpc83xx        -           keymile         km83xx              kmvect1                               suvd3:KMVECT1                                                                                                                     Holger Brunck <holger.brunck@keymile.com>
-Active  powerpc     mpc83xx        -           keymile         km83xx              suvd3                                 suvd3:SUVD3                                                                                                                       Holger Brunck <holger.brunck@keymile.com>
-Active  powerpc     mpc83xx        -           keymile         km83xx              tuge1                                 tuxx1:TUGE1                                                                                                                       Holger Brunck <holger.brunck@keymile.com>
-Active  powerpc     mpc83xx        -           keymile         km83xx              tuxx1                                 tuxx1:TUXX1                                                                                                                       Holger Brunck <holger.brunck@keymile.com>
-Active  powerpc     mpc83xx        -           tqc             tqm834x             TQM834x                               -                                                                                                                                 -
-Active  powerpc     mpc85xx        -           -               sbc8548             sbc8548                               -                                                                                                                                 Paul Gortmaker <paul.gortmaker@windriver.com>
-Active  powerpc     mpc85xx        -           -               sbc8548             sbc8548_PCI_33                        sbc8548:PCI,33                                                                                                                    Paul Gortmaker <paul.gortmaker@windriver.com>
-Active  powerpc     mpc85xx        -           -               sbc8548             sbc8548_PCI_33_PCIE                   sbc8548:PCI,33,PCIE                                                                                                               Paul Gortmaker <paul.gortmaker@windriver.com>
-Active  powerpc     mpc85xx        -           -               sbc8548             sbc8548_PCI_66                        sbc8548:PCI,66                                                                                                                    Paul Gortmaker <paul.gortmaker@windriver.com>
-Active  powerpc     mpc85xx        -           -               sbc8548             sbc8548_PCI_66_PCIE                   sbc8548:PCI,66,PCIE                                                                                                               Paul Gortmaker <paul.gortmaker@windriver.com>
-Active  powerpc     mpc85xx        -           -               socrates            socrates                              -                                                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       b4860qds            B4420QDS                              B4860QDS:PPC_B4420                                                                                                                -
-Active  powerpc     mpc85xx        -           freescale       b4860qds            B4420QDS_NAND                         B4860QDS:PPC_B4420,RAMBOOT_PBL,SPL_FSL_PBL,NAND                                                                                   -
-Active  powerpc     mpc85xx        -           freescale       b4860qds            B4420QDS_SPIFLASH                     B4860QDS:PPC_B4420,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000                                                                  -
-Active  powerpc     mpc85xx        -           freescale       b4860qds            B4860QDS                              B4860QDS:PPC_B4860                                                                                                                -
-Active  powerpc     mpc85xx        -           freescale       b4860qds            B4860QDS_NAND                         B4860QDS:PPC_B4860,RAMBOOT_PBL,SPL_FSL_PBL,NAND                                                                                   -
-Active  powerpc     mpc85xx        -           freescale       b4860qds            B4860QDS_SECURE_BOOT                  B4860QDS:PPC_B4860,SECURE_BOOT                                                                                                    Aneesh Bansal <aneesh.bansal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       b4860qds            B4860QDS_SPIFLASH                     B4860QDS:PPC_B4860,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000                                                                  -
-Active  powerpc     mpc85xx        -           freescale       b4860qds            B4860QDS_SRIO_PCIE_BOOT               B4860QDS:PPC_B4860,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000                                                                  -
-Active  powerpc     mpc85xx        -           freescale       bsc9131rdb          BSC9131RDB_NAND                       BSC9131RDB:BSC9131RDB,NAND                                                                                                        Poonam Aggrwal <poonam.aggrwal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       bsc9131rdb          BSC9131RDB_NAND_SYSCLK100             BSC9131RDB:BSC9131RDB,NAND,SYS_CLK_100                                                                                            Poonam Aggrwal <poonam.aggrwal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       bsc9131rdb          BSC9131RDB_SPIFLASH                   BSC9131RDB:BSC9131RDB,SPIFLASH                                                                                                    Poonam Aggrwal <poonam.aggrwal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       bsc9131rdb          BSC9131RDB_SPIFLASH_SYSCLK100         BSC9131RDB:BSC9131RDB,SPIFLASH,SYS_CLK_100                                                                                        Poonam Aggrwal <poonam.aggrwal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       bsc9132qds          BSC9132QDS_NAND_DDRCLK100             BSC9132QDS:BSC9132QDS,NAND,SYS_CLK_100_DDR_100                                                                                    Naveen Burmi <NaveenBurmi@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       bsc9132qds          BSC9132QDS_NAND_DDRCLK100_SECURE      BSC9132QDS:BSC9132QDS,NAND_SECBOOT,SYS_CLK_100_DDR_100,SECURE_BOOT                                                                Aneesh Bansal <aneesh.bansal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       bsc9132qds          BSC9132QDS_NAND_DDRCLK133             BSC9132QDS:BSC9132QDS,NAND,SYS_CLK_100_DDR_133                                                                                    Naveen Burmi <NaveenBurmi@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       bsc9132qds          BSC9132QDS_NAND_DDRCLK133_SECURE      BSC9132QDS:BSC9132QDS,NAND_SECBOOT,SYS_CLK_100_DDR_133,SECURE_BOOT                                                                Aneesh Bansal <aneesh.bansal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       bsc9132qds          BSC9132QDS_NOR_DDRCLK100              BSC9132QDS:BSC9132QDS,SYS_CLK_100_DDR_100                                                                                         Naveen Burmi <NaveenBurmi@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       bsc9132qds          BSC9132QDS_NOR_DDRCLK100_SECURE       BSC9132QDS:BSC9132QDS,SYS_CLK_100_DDR_100,SECURE_BOOT                                                                             Aneesh Bansal <aneesh.bansal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       bsc9132qds          BSC9132QDS_NOR_DDRCLK133              BSC9132QDS:BSC9132QDS,SYS_CLK_100_DDR_133                                                                                         Naveen Burmi <NaveenBurmi@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       bsc9132qds          BSC9132QDS_NOR_DDRCLK133_SECURE       BSC9132QDS:BSC9132QDS,SYS_CLK_100_DDR_133,SECURE_BOOT                                                                             Aneesh Bansal <aneesh.bansal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       bsc9132qds          BSC9132QDS_SDCARD_DDRCLK100           BSC9132QDS:BSC9132QDS,SDCARD,SYS_CLK_100_DDR_100                                                                                  Naveen Burmi <NaveenBurmi@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       bsc9132qds          BSC9132QDS_SDCARD_DDRCLK100_SECURE    BSC9132QDS:BSC9132QDS,SDCARD,SYS_CLK_100_DDR_100,SECURE_BOOT                                                                      Aneesh Bansal <aneesh.bansal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       bsc9132qds          BSC9132QDS_SDCARD_DDRCLK133           BSC9132QDS:BSC9132QDS,SDCARD,SYS_CLK_100_DDR_133                                                                                  Naveen Burmi <NaveenBurmi@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       bsc9132qds          BSC9132QDS_SDCARD_DDRCLK133_SECURE    BSC9132QDS:BSC9132QDS,SDCARD,SYS_CLK_100_DDR_133,SECURE_BOOT                                                                      Aneesh Bansal <aneesh.bansal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       bsc9132qds          BSC9132QDS_SPIFLASH_DDRCLK100         BSC9132QDS:BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_100                                                                                Naveen Burmi <NaveenBurmi@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       bsc9132qds          BSC9132QDS_SPIFLASH_DDRCLK100_SECURE  BSC9132QDS:BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_100,SECURE_BOOT                                                                    Aneesh Bansal <aneesh.bansal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       bsc9132qds          BSC9132QDS_SPIFLASH_DDRCLK133         BSC9132QDS:BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_133                                                                                Naveen Burmi <NaveenBurmi@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       bsc9132qds          BSC9132QDS_SPIFLASH_DDRCLK133_SECURE  BSC9132QDS:BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_133,SECURE_BOOT                                                                    Aneesh Bansal <aneesh.bansal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       c29xpcie            C29XPCIE                              C29XPCIE:C29XPCIE,36BIT                                                                                                           Po Liu <po.liu@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       c29xpcie            C29XPCIE_NAND                         C29XPCIE:C29XPCIE,36BIT,NAND                                                                                                      Po Liu <po.liu@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       c29xpcie            C29XPCIE_SPIFLASH                     C29XPCIE:C29XPCIE,36BIT,SPIFLASH                                                                                                  Po Liu <po.liu@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P3041DS                               -                                                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P3041DS_NAND                          P3041DS:RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P3041DS_SDCARD                        P3041DS:RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000                                                                               -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P3041DS_SECURE_BOOT                   P3041DS:SECURE_BOOT                                                                                                               -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P3041DS_SPIFLASH                      P3041DS:RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000                                                                             -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P3041DS_SRIO_PCIE_BOOT                P3041DS:SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000                                                                             -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P4080DS                               -                                                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P4080DS_SDCARD                        P4080DS:RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000                                                                               -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P4080DS_SECURE_BOOT                   P4080DS:SECURE_BOOT                                                                                                               -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P4080DS_SPIFLASH                      P4080DS:RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000                                                                             -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P4080DS_SRIO_PCIE_BOOT                P4080DS:SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000                                                                             -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P5020DS                               -                                                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P5020DS_NAND                          P5020DS:RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P5020DS_SDCARD                        P5020DS:RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000                                                                               -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P5020DS_SECURE_BOOT                   P5020DS:SECURE_BOOT                                                                                                               -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P5020DS_SPIFLASH                      P5020DS:RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000                                                                             -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P5020DS_SRIO_PCIE_BOOT                P5020DS:SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000                                                                             -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P5040DS                               -                                                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P5040DS_NAND                          P5040DS:RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P5040DS_SDCARD                        P5040DS:RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000                                                                               -
-Active  powerpc     mpc85xx        -           freescale       corenet_ds          P5040DS_SPIFLASH                      P5040DS:RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000                                                                             -
-Active  powerpc     mpc85xx        -           freescale       mpc8536ds           MPC8536DS                             -                                                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       mpc8536ds           MPC8536DS_36BIT                       MPC8536DS:36BIT                                                                                                                   -
-Active  powerpc     mpc85xx        -           freescale       mpc8536ds           MPC8536DS_SDCARD                      MPC8536DS:SDCARD                                                                                                                  -
-Active  powerpc     mpc85xx        -           freescale       mpc8536ds           MPC8536DS_SPIFLASH                    MPC8536DS:SPIFLASH                                                                                                                -
-Active  powerpc     mpc85xx        -           freescale       mpc8544ds           MPC8544DS                             -                                                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       mpc8548cds          MPC8548CDS                            -                                                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       mpc8548cds          MPC8548CDS_36BIT                      MPC8548CDS:36BIT                                                                                                                  -
-Active  powerpc     mpc85xx        -           freescale       mpc8548cds          MPC8548CDS_legacy                     MPC8548CDS:LEGACY                                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       mpc8568mds          MPC8568MDS                            -                                                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       mpc8569mds          MPC8569MDS                            -                                                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       mpc8569mds          MPC8569MDS_ATM                        MPC8569MDS:ATM                                                                                                                    -
-Active  powerpc     mpc85xx        -           freescale       mpc8572ds           MPC8572DS                             -                                                                                                                                 York Sun <yorksun@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       mpc8572ds           MPC8572DS_36BIT                       MPC8572DS:36BIT                                                                                                                   York Sun <yorksun@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PA_36BIT_NAND                P1010RDB:P1010RDB_PA,36BIT,NAND                                                                                                   -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PA_36BIT_NAND_SECBOOT        P1010RDB:P1010RDB_PA,36BIT,NAND_SECBOOT,SECURE_BOOT                                                                               -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PA_36BIT_NOR                 P1010RDB:P1010RDB_PA,36BIT                                                                                                        -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PA_36BIT_NOR_SECBOOT         P1010RDB:P1010RDB_PA,36BIT,SECURE_BOOT                                                                                            -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PA_36BIT_SDCARD              P1010RDB:P1010RDB_PA,36BIT,SDCARD                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PA_36BIT_SPIFLASH            P1010RDB:P1010RDB_PA,36BIT,SPIFLASH                                                                                               -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PA_36BIT_SPIFLASH_SECBOOT    P1010RDB:P1010RDB_PA,36BIT,SPIFLASH,SECURE_BOOT                                                                                   -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PA_NAND                      P1010RDB:P1010RDB_PA,NAND                                                                                                         -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PA_NAND_SECBOOT              P1010RDB:P1010RDB_PA,NAND_SECBOOT,SECURE_BOOT                                                                                     -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PA_NOR                       P1010RDB:P1010RDB_PA                                                                                                              -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PA_NOR_SECBOOT               P1010RDB:P1010RDB_PA,SECURE_BOOT                                                                                                  -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PA_SDCARD                    P1010RDB:P1010RDB_PA,SDCARD                                                                                                       -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PA_SPIFLASH                  P1010RDB:P1010RDB_PA,SPIFLASH                                                                                                     -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PA_SPIFLASH_SECBOOT          P1010RDB:P1010RDB_PA,SPIFLASH,SECURE_BOOT                                                                                         -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PB_36BIT_NAND                P1010RDB:P1010RDB_PB,36BIT,NAND                                                                                                   -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PB_36BIT_NAND_SECBOOT        P1010RDB:P1010RDB_PB,36BIT,NAND_SECBOOT,SECURE_BOOT                                                                               -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PB_36BIT_NOR                 P1010RDB:P1010RDB_PB,36BIT                                                                                                        -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PB_36BIT_NOR_SECBOOT         P1010RDB:P1010RDB_PB,36BIT,SECURE_BOOT                                                                                            -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PB_36BIT_SDCARD              P1010RDB:P1010RDB_PB,36BIT,SDCARD                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PB_36BIT_SPIFLASH            P1010RDB:P1010RDB_PB,36BIT,SPIFLASH                                                                                               -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PB_36BIT_SPIFLASH_SECBOOT    P1010RDB:P1010RDB_PB,36BIT,SPIFLASH,SECURE_BOOT                                                                                   -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PB_NAND                      P1010RDB:P1010RDB_PB,NAND                                                                                                         -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PB_NAND_SECBOOT              P1010RDB:P1010RDB_PB,NAND_SECBOOT,SECURE_BOOT                                                                                     -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PB_NOR                       P1010RDB:P1010RDB_PB                                                                                                              -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PB_NOR_SECBOOT               P1010RDB:P1010RDB_PB,SECURE_BOOT                                                                                                  -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PB_SDCARD                    P1010RDB:P1010RDB_PB,SDCARD                                                                                                       -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PB_SPIFLASH                  P1010RDB:P1010RDB_PB,SPIFLASH                                                                                                     -
-Active  powerpc     mpc85xx        -           freescale       p1010rdb            P1010RDB-PB_SPIFLASH_SECBOOT          P1010RDB:P1010RDB_PB,SPIFLASH,SECURE_BOOT                                                                                         -
-Active  powerpc     mpc85xx        -           freescale       p1022ds             P1022DS                               -                                                                                                                                 Timur Tabi <timur@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       p1022ds             P1022DS_36BIT                         P1022DS:36BIT                                                                                                                     Timur Tabi <timur@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       p1022ds             P1022DS_36BIT_NAND                    P1022DS:36BIT,NAND                                                                                                                Timur Tabi <timur@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       p1022ds             P1022DS_36BIT_SDCARD                  P1022DS:36BIT,SDCARD                                                                                                              Timur Tabi <timur@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       p1022ds             P1022DS_36BIT_SPIFLASH                P1022DS:36BIT,SPIFLASH                                                                                                            Timur Tabi <timur@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       p1022ds             P1022DS_NAND                          P1022DS:NAND                                                                                                                      Timur Tabi <timur@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       p1022ds             P1022DS_SDCARD                        P1022DS:SDCARD                                                                                                                    Timur Tabi <timur@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       p1022ds             P1022DS_SPIFLASH                      P1022DS:SPIFLASH                                                                                                                  Timur Tabi <timur@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       p1023rdb            P1023RDB                              -                                                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       p1023rds            P1023RDS                              -                                                                                                                                 Roy Zang <tie-fei.zang@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P1011RDB                              P1_P2_RDB:P1011RDB                                                                                                                -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P1011RDB_36BIT                        P1_P2_RDB:P1011RDB,36BIT                                                                                                          -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P1011RDB_36BIT_SDCARD                 P1_P2_RDB:P1011RDB,36BIT,SDCARD                                                                                                   -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P1011RDB_36BIT_SPIFLASH               P1_P2_RDB:P1011RDB,36BIT,SPIFLASH                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P1011RDB_NAND                         P1_P2_RDB:P1011RDB,NAND                                                                                                           -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P1011RDB_SDCARD                       P1_P2_RDB:P1011RDB,SDCARD                                                                                                         -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P1011RDB_SPIFLASH                     P1_P2_RDB:P1011RDB,SPIFLASH                                                                                                       -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P1020RDB                              P1_P2_RDB:P1020RDB                                                                                                                -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P1020RDB_36BIT                        P1_P2_RDB:P1020RDB,36BIT                                                                                                          -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P1020RDB_36BIT_SDCARD                 P1_P2_RDB:P1020RDB,36BIT,SDCARD                                                                                                   -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P1020RDB_36BIT_SPIFLASH               P1_P2_RDB:P1020RDB,36BIT,SPIFLASH                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P1020RDB_NAND                         P1_P2_RDB:P1020RDB,NAND                                                                                                           -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P1020RDB_SDCARD                       P1_P2_RDB:P1020RDB,SDCARD                                                                                                         -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P1020RDB_SPIFLASH                     P1_P2_RDB:P1020RDB,SPIFLASH                                                                                                       -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P2010RDB                              P1_P2_RDB:P2010RDB                                                                                                                -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P2010RDB_36BIT                        P1_P2_RDB:P2010RDB,36BIT                                                                                                          -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P2010RDB_36BIT_SDCARD                 P1_P2_RDB:P2010RDB,36BIT,SDCARD                                                                                                   -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P2010RDB_36BIT_SPIFLASH               P1_P2_RDB:P2010RDB,36BIT,SPIFLASH                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P2010RDB_NAND                         P1_P2_RDB:P2010RDB,NAND                                                                                                           -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P2010RDB_SDCARD                       P1_P2_RDB:P2010RDB,SDCARD                                                                                                         -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P2010RDB_SPIFLASH                     P1_P2_RDB:P2010RDB,SPIFLASH                                                                                                       -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P2020RDB                              P1_P2_RDB:P2020RDB                                                                                                                Poonam Aggrwal <poonam.aggrwal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P2020RDB_36BIT                        P1_P2_RDB:P2020RDB,36BIT                                                                                                          -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P2020RDB_36BIT_SDCARD                 P1_P2_RDB:P2020RDB,36BIT,SDCARD                                                                                                   -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P2020RDB_36BIT_SPIFLASH               P1_P2_RDB:P2020RDB,36BIT,SPIFLASH                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P2020RDB_NAND                         P1_P2_RDB:P2020RDB,NAND                                                                                                           -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P2020RDB_SDCARD                       P1_P2_RDB:P2020RDB,SDCARD                                                                                                         -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb           P2020RDB_SPIFLASH                     P1_P2_RDB:P2020RDB,SPIFLASH                                                                                                       -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020MBG-PC                           p1_p2_rdb_pc:P1020MBG                                                                                                             -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020MBG-PC_36BIT                     p1_p2_rdb_pc:P1020MBG,36BIT                                                                                                       -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020MBG-PC_36BIT_SDCARD              p1_p2_rdb_pc:P1020MBG,SDCARD,36BIT                                                                                                -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020MBG-PC_SDCARD                    p1_p2_rdb_pc:P1020MBG,SDCARD                                                                                                      -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020RDB-PC                           p1_p2_rdb_pc:P1020RDB_PC                                                                                                          -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020RDB-PC_36BIT                     p1_p2_rdb_pc:P1020RDB_PC,36BIT                                                                                                    -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020RDB-PC_36BIT_NAND                p1_p2_rdb_pc:P1020RDB_PC,36BIT,NAND                                                                                               -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020RDB-PC_36BIT_SDCARD              p1_p2_rdb_pc:P1020RDB_PC,36BIT,SDCARD                                                                                             -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020RDB-PC_36BIT_SPIFLASH            p1_p2_rdb_pc:P1020RDB_PC,36BIT,SPIFLASH                                                                                           -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020RDB-PC_NAND                      p1_p2_rdb_pc:P1020RDB_PC,NAND                                                                                                     -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020RDB-PC_SDCARD                    p1_p2_rdb_pc:P1020RDB_PC,SDCARD                                                                                                   -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020RDB-PC_SPIFLASH                  p1_p2_rdb_pc:P1020RDB_PC,SPIFLASH                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020RDB-PD                           p1_p2_rdb_pc:P1020RDB_PD                                                                                                          -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020RDB-PD_NAND                      p1_p2_rdb_pc:P1020RDB_PD,NAND                                                                                                     -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020RDB-PD_SDCARD                    p1_p2_rdb_pc:P1020RDB_PD,SDCARD                                                                                                   -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020RDB-PD_SPIFLASH                  p1_p2_rdb_pc:P1020RDB_PD,SPIFLASH                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020UTM-PC                           p1_p2_rdb_pc:P1020UTM                                                                                                             -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020UTM-PC_36BIT                     p1_p2_rdb_pc:P1020UTM,36BIT                                                                                                       -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020UTM-PC_36BIT_SDCARD              p1_p2_rdb_pc:P1020UTM,36BIT,SDCARD                                                                                                -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1020UTM-PC_SDCARD                    p1_p2_rdb_pc:P1020UTM,SDCARD                                                                                                      -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1021RDB-PC                           p1_p2_rdb_pc:P1021RDB                                                                                                             -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1021RDB-PC_36BIT                     p1_p2_rdb_pc:P1021RDB,36BIT                                                                                                       -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1021RDB-PC_36BIT_NAND                p1_p2_rdb_pc:P1021RDB,36BIT,NAND                                                                                                  -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1021RDB-PC_36BIT_SDCARD              p1_p2_rdb_pc:P1021RDB,36BIT,SDCARD                                                                                                -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1021RDB-PC_36BIT_SPIFLASH            p1_p2_rdb_pc:P1021RDB,36BIT,SPIFLASH                                                                                              -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1021RDB-PC_NAND                      p1_p2_rdb_pc:P1021RDB,NAND                                                                                                        -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1021RDB-PC_SDCARD                    p1_p2_rdb_pc:P1021RDB,SDCARD                                                                                                      -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1021RDB-PC_SPIFLASH                  p1_p2_rdb_pc:P1021RDB,SPIFLASH                                                                                                    -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1024RDB                              p1_p2_rdb_pc:P1024RDB                                                                                                             -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1024RDB_36BIT                        p1_p2_rdb_pc:P1024RDB,36BIT                                                                                                       -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1024RDB_NAND                         p1_p2_rdb_pc:P1024RDB,NAND                                                                                                        -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1024RDB_SDCARD                       p1_p2_rdb_pc:P1024RDB,SDCARD                                                                                                      -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1024RDB_SPIFLASH                     p1_p2_rdb_pc:P1024RDB,SPIFLASH                                                                                                    -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1025RDB                              p1_p2_rdb_pc:P1025RDB                                                                                                             -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1025RDB_36BIT                        p1_p2_rdb_pc:P1025RDB,36BIT                                                                                                       -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1025RDB_NAND                         p1_p2_rdb_pc:P1025RDB,NAND                                                                                                        -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1025RDB_SDCARD                       p1_p2_rdb_pc:P1025RDB,SDCARD                                                                                                      -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P1025RDB_SPIFLASH                     p1_p2_rdb_pc:P1025RDB,SPIFLASH                                                                                                    -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P2020RDB-PC                           p1_p2_rdb_pc:P2020RDB                                                                                                             -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P2020RDB-PC_36BIT                     p1_p2_rdb_pc:P2020RDB,36BIT                                                                                                       -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P2020RDB-PC_36BIT_NAND                p1_p2_rdb_pc:P2020RDB,36BIT,NAND                                                                                                  -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P2020RDB-PC_36BIT_SDCARD              p1_p2_rdb_pc:P2020RDB,36BIT,SDCARD                                                                                                -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P2020RDB-PC_36BIT_SPIFLASH            p1_p2_rdb_pc:P2020RDB,36BIT,SPIFLASH                                                                                              -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P2020RDB-PC_NAND                      p1_p2_rdb_pc:P2020RDB,NAND                                                                                                        -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P2020RDB-PC_SDCARD                    p1_p2_rdb_pc:P2020RDB,SDCARD                                                                                                      -
-Active  powerpc     mpc85xx        -           freescale       p1_p2_rdb_pc        P2020RDB-PC_SPIFLASH                  p1_p2_rdb_pc:P2020RDB,SPIFLASH                                                                                                    -
-Active  powerpc     mpc85xx        -           freescale       p1_twr              TWR-P1025                             p1_twr:TWR_P1025                                                                                                                  -
-Active  powerpc     mpc85xx        -           freescale       p2020come           P2020COME_SDCARD                      P2020COME:SDCARD                                                                                                                  Ira W. Snyder <iws@ovro.caltech.edu>
-Active  powerpc     mpc85xx        -           freescale       p2020come           P2020COME_SPIFLASH                    P2020COME:SPIFLASH                                                                                                                Ira W. Snyder <iws@ovro.caltech.edu>
-Active  powerpc     mpc85xx        -           freescale       p2020ds             P2020DS                               -                                                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       p2020ds             P2020DS_36BIT                         P2020DS:36BIT                                                                                                                     -
-Active  powerpc     mpc85xx        -           freescale       p2020ds             P2020DS_DDR2                          P2020DS:DDR2                                                                                                                      -
-Active  powerpc     mpc85xx        -           freescale       p2020ds             P2020DS_SDCARD                        P2020DS:SDCARD                                                                                                                    -
-Active  powerpc     mpc85xx        -           freescale       p2020ds             P2020DS_SPIFLASH                      P2020DS:SPIFLASH                                                                                                                  -
-Active  powerpc     mpc85xx        -           freescale       p2041rdb            P2041RDB                              -                                                                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       p2041rdb            P2041RDB_NAND                         P2041RDB:RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000                                                                                -
-Active  powerpc     mpc85xx        -           freescale       p2041rdb            P2041RDB_SDCARD                       P2041RDB:RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000                                                                              -
-Active  powerpc     mpc85xx        -           freescale       p2041rdb            P2041RDB_SECURE_BOOT                  P2041RDB:SECURE_BOOT                                                                                                              -
-Active  powerpc     mpc85xx        -           freescale       p2041rdb            P2041RDB_SPIFLASH                     P2041RDB:RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000                                                                            -
-Active  powerpc     mpc85xx        -           freescale       p2041rdb            P2041RDB_SRIO_PCIE_BOOT               P2041RDB:SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000                                                                            -
-Active  powerpc     mpc85xx        -           freescale       qemu-ppce500        qemu-ppce500                          -                                                                                                                                 Alexander Graf <agraf@suse.de>
-Active  powerpc     mpc85xx        -           freescale       t1040qds            T1040QDS                              T1040QDS:PPC_T1040                                                                                                                Poonam Aggrwal <poonam.aggrwal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       t1040qds            T1040QDS_D4                           T1040QDS:PPC_T1040,SYS_FSL_DDR4                                                                                                   Poonam Aggrwal <poonam.aggrwal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       t1040qds            T1040QDS_SECURE_BOOT                  T1040QDS:PPC_T1040,SECURE_BOOT                                                                                                    Aneesh Bansal <aneesh.bansal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       t104xrdb            T1040RDB                              T104xRDB:PPC_T1040,T1040RDB                                                                                                       Priyanka Jain  <Priyanka.Jain@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       t104xrdb            T1040RDB_NAND                         T104xRDB:PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND                                                                          Priyanka Jain  <Priyanka.Jain@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       t104xrdb            T1040RDB_SDCARD                       T104xRDB:PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD                                                                        -
-Active  powerpc     mpc85xx        -           freescale       t104xrdb            T1040RDB_SECURE_BOOT                  T104xRDB:PPC_T1040,SECURE_BOOT,T1040RDB                                                                                           Aneesh Bansal  <aneesh.bansal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       t104xrdb            T1040RDB_SPIFLASH                     T104xRDB:PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH                                                                      Priyanka Jain  <Priyanka.Jain@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       t104xrdb            T1042RDB_PI                           T104xRDB:PPC_T1042,T1042RDB_PI                                                                                                    Priyanka Jain  <Priyanka.Jain@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       t104xrdb            T1042RDB_PI_NAND                      T104xRDB:PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,NAND                                                                       Priyanka Jain  <Priyanka.Jain@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       t104xrdb            T1042RDB_PI_SDCARD                    T104xRDB:PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD                                                                     -
-Active  powerpc     mpc85xx        -           freescale       t104xrdb            T1042RDB_PI_SPIFLASH                  T104xRDB:PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH                                                                   Priyanka Jain  <Priyanka.Jain@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       t208xqds            T2080QDS                              T208xQDS:PPC_T2080                                                                                                                -
-Active  powerpc     mpc85xx        -           freescale       t208xqds            T2080QDS_NAND                         T208xQDS:PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,NAND                                                                                   -
-Active  powerpc     mpc85xx        -           freescale       t208xqds            T2080QDS_SDCARD                       T208xQDS:PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       t208xqds            T2080QDS_SECURE_BOOT                  T208xQDS:PPC_T2080,SECURE_BOOT                                                                                                    Aneesh Bansal <aneesh.bansal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       t208xqds            T2080QDS_SPIFLASH                     T208xQDS:PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH                                                                               -
-Active  powerpc     mpc85xx        -           freescale       t208xqds            T2080QDS_SRIO_PCIE_BOOT               T208xQDS:PPC_T2080,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000                                                                  -
-Active  powerpc     mpc85xx        -           freescale       t208xqds            T2081QDS                              T208xQDS:PPC_T2081                                                                                                                -
-Active  powerpc     mpc85xx        -           freescale       t208xqds            T2081QDS_NAND                         T208xQDS:PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,NAND                                                                                   -
-Active  powerpc     mpc85xx        -           freescale       t208xqds            T2081QDS_SDCARD                       T208xQDS:PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       t208xqds            T2081QDS_SPIFLASH                     T208xQDS:PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH                                                                               -
-Active  powerpc     mpc85xx        -           freescale       t208xqds            T2081QDS_SRIO_PCIE_BOOT               T208xQDS:PPC_T2081,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000                                                                  -
-Active  powerpc     mpc85xx        -           freescale       t208xrdb            T2080RDB                              T208xRDB:PPC_T2080                                                                                                                -
-Active  powerpc     mpc85xx        -           freescale       t208xrdb            T2080RDB_NAND                         T208xRDB:PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,NAND                                                                                   -
-Active  powerpc     mpc85xx        -           freescale       t208xrdb            T2080RDB_SDCARD                       T208xRDB:PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       t208xrdb            T2080RDB_SECURE_BOOT                  T208xRDB:PPC_T2080,SECURE_BOOT                                                                                                    Aneesh Bansal <aneesh.bansal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       t208xrdb            T2080RDB_SPIFLASH                     T208xRDB:PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH                                                                               -
-Active  powerpc     mpc85xx        -           freescale       t208xrdb            T2080RDB_SRIO_PCIE_BOOT               T208xRDB:PPC_T2080,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000                                                                  -
-Active  powerpc     mpc85xx        -           freescale       t4qds               T4160QDS                              T4240QDS:PPC_T4160                                                                                                                -
-Active  powerpc     mpc85xx        -           freescale       t4qds               T4160QDS_NAND                         T4240QDS:PPC_T4160,RAMBOOT_PBL,SPL_FSL_PBL,NAND                                                                                   -
-Active  powerpc     mpc85xx        -           freescale       t4qds               T4160QDS_SDCARD                       T4240QDS:PPC_T4160,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       t4qds               T4160QDS_SECURE_BOOT                  T4240QDS:PPC_T4160,SECURE_BOOT                                                                                                    Aneesh Bansal <aneesh.bansal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       t4qds               T4160QDS_SPIFLASH                     T4240QDS:PPC_T4160,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000                                                                  -
-Active  powerpc     mpc85xx        -           freescale       t4qds               T4240EMU                              T4240EMU:PPC_T4240                                                                                                                York Sun <yorksun@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       t4qds               T4240QDS                              T4240QDS:PPC_T4240                                                                                                                -
-Active  powerpc     mpc85xx        -           freescale       t4qds               T4240QDS_NAND                         T4240QDS:PPC_T4240,RAMBOOT_PBL,SPL_FSL_PBL,NAND                                                                                   -
-Active  powerpc     mpc85xx        -           freescale       t4qds               T4240QDS_SDCARD                       T4240QDS:PPC_T4240,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD                                                                                 -
-Active  powerpc     mpc85xx        -           freescale       t4qds               T4240QDS_SECURE_BOOT                  T4240QDS:PPC_T4240,SECURE_BOOT                                                                                                    Aneesh Bansal <aneesh.bansal@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       t4qds               T4240QDS_SPIFLASH                     T4240QDS:PPC_T4240,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000                                                                  -
-Active  powerpc     mpc85xx        -           freescale       t4qds               T4240QDS_SRIO_PCIE_BOOT               T4240QDS:PPC_T4240,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000                                                                  -
-Active  powerpc     mpc85xx        -           freescale       t4rdb               T4160RDB                              T4240RDB:PPC_T4160                                                                                                                Chunhe Lan <Chunhe.Lan@freescale.com>
-Active  powerpc     mpc85xx        -           freescale       t4rdb               T4240RDB                              T4240RDB:PPC_T4240                                                                                                                Chunhe Lan <Chunhe.Lan@freescale.com>
-Active  powerpc     mpc85xx        -           gdsys           p1022               controlcenterd_36BIT_SDCARD           controlcenterd:36BIT,SDCARD                                                                                                       Dirk Eibach <eibach@gdsys.de>
-Active  powerpc     mpc85xx        -           gdsys           p1022               controlcenterd_36BIT_SDCARD_DEVELOP   controlcenterd:36BIT,SDCARD,DEVELOP                                                                                               Dirk Eibach <eibach@gdsys.de>
-Active  powerpc     mpc85xx        -           gdsys           p1022               controlcenterd_TRAILBLAZER            controlcenterd:TRAILBLAZER,SPIFLASH                                                                                               Dirk Eibach <eibach@gdsys.de>
-Active  powerpc     mpc85xx        -           gdsys           p1022               controlcenterd_TRAILBLAZER_DEVELOP    controlcenterd:TRAILBLAZER,SPIFLASH,DEVELOP                                                                                       Dirk Eibach <eibach@gdsys.de>
-Active  powerpc     mpc85xx        -           keymile         kmp204x             kmcoge4                               kmp204x:KMCOGE4                                                                                                                   Valentin Longchamp <valentin.longchamp@keymile.com>
-Active  powerpc     mpc85xx        -           keymile         kmp204x             kmlion1                               kmp204x:KMLION1                                                                                                                   Valentin Longchamp <valentin.longchamp@keymile.com>
-Active  powerpc     mpc85xx        -           xes             xpedite520x         xpedite520x                           -                                                                                                                                 -
-Active  powerpc     mpc85xx        -           xes             xpedite537x         xpedite537x                           -                                                                                                                                 -
-Active  powerpc     mpc85xx        -           xes             xpedite550x         xpedite550x                           -                                                                                                                                 -
-Active  powerpc     mpc86xx        -           -               sbc8641d            sbc8641d                              -                                                                                                                                 Paul Gortmaker <paul.gortmaker@windriver.com>
-Active  powerpc     mpc86xx        -           freescale       mpc8610hpcd         MPC8610HPCD                           -                                                                                                                                 -
-Active  powerpc     mpc86xx        -           xes             xpedite517x         xpedite517x                           -                                                                                                                                 -
-Active  powerpc     mpc8xx         -           -               cogent              cogent_mpc8xx                         -                                                                                                                                 Murray Jensen <Murray.Jensen@csiro.au>
-Active  powerpc     mpc8xx         -           -               esteem192e          ESTEEM192E                            -                                                                                                                                 Conn Clark <clark@esteem.com>
-Active  powerpc     mpc8xx         -           -               hermes              hermes                                -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           -               icu862              ICU862                                -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           -               icu862              ICU862_100MHz                         ICU862:100MHz                                                                                                                     Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           -               ip860               IP860                                 -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           -               ivm                 IVML24                                IVML24:IVML24_16M                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           -               ivm                 IVML24_128                            IVML24:IVML24_32M                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           -               ivm                 IVML24_256                            IVML24:IVML24_64M                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           -               ivm                 IVMS8                                 IVMS8:IVMS8_16M                                                                                                                   Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           -               ivm                 IVMS8_128                             IVMS8:IVMS8_32M                                                                                                                   Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           -               ivm                 IVMS8_256                             IVMS8:IVMS8_64M                                                                                                                   Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           -               lwmon               lwmon                                 -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           -               netvia              NETVIA                                NETVIA:NETVIA_VERSION=1                                                                                                           Pantelis Antoniou <panto@intracom.gr>
-Active  powerpc     mpc8xx         -           -               netvia              NETVIA_V2                             NETVIA:NETVIA_VERSION=2                                                                                                           Pantelis Antoniou <panto@intracom.gr>
-Active  powerpc     mpc8xx         -           -               r360mpi             R360MPI                               -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           -               RRvision            RRvision                              -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           -               RRvision            RRvision_LCD                          RRvision:LCD,SHARP_LQ104V7DS01                                                                                                    Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           -               spd8xx              SPD823TS                              -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           eltec           mhpc                MHPC                                  -                                                                                                                                 Frank Gottschling <fgottschling@eltec.de>
-Active  powerpc     mpc8xx         -           emk             top860              TOP860                                -                                                                                                                                 Reinhard Meyer <reinhard.meyer@emk-elektronik.de>
-Active  powerpc     mpc8xx         -           kup             kup4k               KUP4K                                 -                                                                                                                                 Klaus Heydeck <heydeck@kieback-peter.de>
-Active  powerpc     mpc8xx         -           kup             kup4x               KUP4X                                 -                                                                                                                                 Klaus Heydeck <heydeck@kieback-peter.de>
-Active  powerpc     mpc8xx         -           LEOX            elpt860             ELPT860                               -                                                                                                                                 The LEOX team <team@leox.org>
-Active  powerpc     mpc8xx         -           manroland       uc100               uc100                                 -                                                                                                                                 Stefan Roese <sr@denx.de>
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              FPS850L                               -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              FPS860L                               -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              NSCU                                  -                                                                                                                                 -
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              SM850                                 -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              TK885D                                -                                                                                                                                 -
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              TQM823L                               -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              TQM823L_LCD                           TQM823L:LCD,NEC_NL6448BC20                                                                                                        Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              TQM823M                               -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              TQM850L                               -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              TQM850M                               -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              TQM855L                               -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              TQM855M                               -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              TQM860L                               -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              TQM860M                               -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              TQM862L                               -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              TQM862M                               -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              TQM866M                               -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              TQM885D                               -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              TTTech                                TQM823L:LCD,SHARP_LQ104V7DS01                                                                                                     Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              virtlab2                              -                                                                                                                                 Wolfgang Denk <wd@denx.de>
-Active  powerpc     mpc8xx         -           tqc             tqm8xx              wtk                                   TQM823L:LCD,SHARP_LQ065T9DR51U                                                                                                    Wolfgang Denk <wd@denx.de>
-Active  powerpc     ppc4xx         -           -               csb272              csb272                                -                                                                                                                                 Tolunay Orkun <torkun@nextio.com>
-Active  powerpc     ppc4xx         -           -               csb472              csb472                                -                                                                                                                                 Tolunay Orkun <torkun@nextio.com>
-Active  powerpc     ppc4xx         -           -               g2000               G2000                                 -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           -               jse                 JSE                                   -                                                                                                                                 Stephen Williams <steve@icarus.com>
-Active  powerpc     ppc4xx         -           -               korat               korat                                 -                                                                                                                                 Larry Johnson <lrj@acm.org>
-Active  powerpc     ppc4xx         -           -               korat               korat_perm                            korat:KORAT_PERMANENT                                                                                                             Larry Johnson <lrj@acm.org>
-Active  powerpc     ppc4xx         -           -               lwmon5              lcd4_lwmon5                           lwmon5:LCD4_LWMON5                                                                                                                Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           -               lwmon5              lwmon5                                -                                                                                                                                 Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           -               pcs440ep            pcs440ep                              -                                                                                                                                 Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           -               sbc405              sbc405                                -                                                                                                                                 -
-Active  powerpc     ppc4xx         -           -               sc3                 sc3                                   -                                                                                                                                 Heiko Schocher <hs@denx.de>
-Active  powerpc     ppc4xx         -           -               t3corp              t3corp                                -                                                                                                                                 Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           -               w7o                 W7OLMC                                -                                                                                                                                 Erik Theisen <etheisen@mindspring.com>
-Active  powerpc     ppc4xx         -           -               w7o                 W7OLMG                                -                                                                                                                                 Erik Theisen <etheisen@mindspring.com>
-Active  powerpc     ppc4xx         -           -               zeus                zeus                                  -                                                                                                                                 Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            acadia              acadia                                -                                                                                                                                 Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            bamboo              bamboo                                -                                                                                                                                 Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            bubinga             bubinga                               -                                                                                                                                 -
-Active  powerpc     ppc4xx         -           amcc            canyonlands         arches                                canyonlands:ARCHES                                                                                                                Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            canyonlands         canyonlands                           canyonlands:CANYONLANDS                                                                                                           Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            canyonlands         glacier                               canyonlands:GLACIER                                                                                                               Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            ebony               ebony                                 -                                                                                                                                 Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            katmai              katmai                                -                                                                                                                                 Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            kilauea             haleakala                             kilauea:HALEAKALA                                                                                                                 Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            kilauea             kilauea                               kilauea:KILAUEA                                                                                                                   Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            luan                luan                                  -                                                                                                                                 John Otken <jotken@softadvances.com>
-Active  powerpc     ppc4xx         -           amcc            makalu              makalu                                -                                                                                                                                 Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            ocotea              ocotea                                -                                                                                                                                 Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            redwood             redwood                               -                                                                                                                                 Feng Kan <fkan@amcc.com>
-Active  powerpc     ppc4xx         -           amcc            sequoia             rainier                               sequoia:RAINIER                                                                                                                   Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            sequoia             rainier_ramboot                       sequoia:RAINIER,SYS_RAMBOOT,SYS_TEXT_BASE=0x01000000,SYS_LDSCRIPT=board/amcc/sequoia/u-boot-ram.lds                               Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            sequoia             sequoia                               sequoia:SEQUOIA                                                                                                                   Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            sequoia             sequoia_ramboot                       sequoia:SEQUOIA,SYS_RAMBOOT,SYS_TEXT_BASE=0x01000000,SYS_LDSCRIPT=board/amcc/sequoia/u-boot-ram.lds                               Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            taihu               taihu                                 -                                                                                                                                 John Otken <jotken@softadvances.com>
-Active  powerpc     ppc4xx         -           amcc            taishan             taishan                               -                                                                                                                                 Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            walnut              sycamore                              walnut                                                                                                                            Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            walnut              walnut                                -                                                                                                                                 Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            yosemite            yellowstone                           yosemite:YELLOWSTONE                                                                                                              Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            yosemite            yosemite                              yosemite:YOSEMITE                                                                                                                 Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           amcc            yucca               yucca                                 -                                                                                                                                 -
-Active  powerpc     ppc4xx         -           avnet           fx12mm              fx12mm                                fx12mm:SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x04100000,INIT_TLB=board/xilinx/ppc405-generic/init.o                       Georg Schardt <schardt@team-ctech.de>
-Active  powerpc     ppc4xx         -           avnet           fx12mm              fx12mm_flash                          fx12mm:SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFFFC,INIT_TLB=board/xilinx/ppc405-generic/init.o                       Georg Schardt <schardt@team-ctech.de>
-Active  powerpc     ppc4xx         -           avnet           v5fx30teval         v5fx30teval                           v5fx30teval:SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x04100000,BOOT_FROM_XMD=1,INIT_TLB=board/xilinx/ppc440-generic/init.o  Ricardo Ribalda <ricardo.ribalda@uam.es>
-Active  powerpc     ppc4xx         -           avnet           v5fx30teval         v5fx30teval_flash                     v5fx30teval:SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFFFC,INIT_TLB=board/xilinx/ppc440-generic/init.o                  Ricardo Ribalda <ricardo.ribalda@uam.es>
-Active  powerpc     ppc4xx         -           dave            PPChameleonEVB      CATcenter                             CATcenter:PPCHAMELEON_MODULE_MODEL=1                                                                                              -
-Active  powerpc     ppc4xx         -           dave            PPChameleonEVB      CATcenter_25                          CATcenter:PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_25                                                                           -
-Active  powerpc     ppc4xx         -           dave            PPChameleonEVB      CATcenter_33                          CATcenter:PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_33                                                                           -
-Active  powerpc     ppc4xx         -           dave            PPChameleonEVB      PPChameleonEVB                        -                                                                                                                                 Andrea "llandre" Marson <andrea.marson@dave-tech.it>
-Active  powerpc     ppc4xx         -           dave            PPChameleonEVB      PPChameleonEVB_BA_25                  PPChameleonEVB:PPCHAMELEON_MODULE_MODEL=0,PPCHAMELEON_CLK_25                                                                      Andrea "llandre" Marson <andrea.marson@dave-tech.it>
-Active  powerpc     ppc4xx         -           dave            PPChameleonEVB      PPChameleonEVB_BA_33                  PPChameleonEVB:PPCHAMELEON_MODULE_MODEL=0,PPCHAMELEON_CLK_33                                                                      Andrea "llandre" Marson <andrea.marson@dave-tech.it>
-Active  powerpc     ppc4xx         -           dave            PPChameleonEVB      PPChameleonEVB_HI_25                  PPChameleonEVB:PPCHAMELEON_MODULE_MODEL=2,PPCHAMELEON_CLK_25                                                                      Andrea "llandre" Marson <andrea.marson@dave-tech.it>
-Active  powerpc     ppc4xx         -           dave            PPChameleonEVB      PPChameleonEVB_HI_33                  PPChameleonEVB:PPCHAMELEON_MODULE_MODEL=2,PPCHAMELEON_CLK_33                                                                      Andrea "llandre" Marson <andrea.marson@dave-tech.it>
-Active  powerpc     ppc4xx         -           dave            PPChameleonEVB      PPChameleonEVB_ME_25                  PPChameleonEVB:PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_25                                                                      Andrea "llandre" Marson <andrea.marson@dave-tech.it>
-Active  powerpc     ppc4xx         -           dave            PPChameleonEVB      PPChameleonEVB_ME_33                  PPChameleonEVB:PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_33                                                                      Andrea "llandre" Marson <andrea.marson@dave-tech.it>
-Active  powerpc     ppc4xx         -           esd             apc405              APC405                                -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             ar405               AR405                                 -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             ash405              ASH405                                -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             cms700              CMS700                                -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             cpci2dp             CPCI2DP                               -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             cpci405             CPCI405                               -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             cpci405             CPCI4052                              -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             cpci405             CPCI405AB                             -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             cpci405             CPCI405DT                             -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             cpciiser4           CPCIISER4                             -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             dp405               DP405                                 -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             du405               DU405                                 -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             du440               DU440                                 -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             hh405               HH405                                 -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             hub405              HUB405                                -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             ocrtc               OCRTC                                 -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             pci405              PCI405                                -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             plu405              PLU405                                -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             pmc405              PMC405                                -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             pmc405de            PMC405DE                              -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             pmc440              PMC440                                -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             voh405              VOH405                                -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             vom405              VOM405                                -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           esd             wuh405              WUH405                                -                                                                                                                                 Matthias Fuchs <matthias.fuchs@esd-electronics.com>
-Active  powerpc     ppc4xx         -           gdsys           405ep               dlvision-10g                          -                                                                                                                                 Dirk Eibach <eibach@gdsys.de>
-Active  powerpc     ppc4xx         -           gdsys           405ep               io                                    -                                                                                                                                 Dirk Eibach <eibach@gdsys.de>
-Active  powerpc     ppc4xx         -           gdsys           405ep               iocon                                 -                                                                                                                                 Dirk Eibach <eibach@gdsys.de>
-Active  powerpc     ppc4xx         -           gdsys           405ep               neo                                   -                                                                                                                                 Dirk Eibach <eibach@gdsys.de>
-Active  powerpc     ppc4xx         -           gdsys           405ex               io64                                  -                                                                                                                                 Dirk Eibach <eibach@gdsys.de>
-Active  powerpc     ppc4xx         -           gdsys           dlvision            dlvision                              -                                                                                                                                 Dirk Eibach <eibach@gdsys.de>
-Active  powerpc     ppc4xx         -           gdsys           gdppc440etx         gdppc440etx                           -                                                                                                                                 Dirk Eibach <eibach@gdsys.de>
-Active  powerpc     ppc4xx         -           gdsys           intip               devconcenter                          intip:DEVCONCENTER                                                                                                                Dirk Eibach <eibach@gdsys.de>
-Active  powerpc     ppc4xx         -           gdsys           intip               intip                                 intip:INTIB                                                                                                                       Dirk Eibach <eibach@gdsys.de>
-Active  powerpc     ppc4xx         -           mosaixtech      icon                icon                                  -                                                                                                                                 Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           mpl             mip405              MIP405                                -                                                                                                                                 Denis Peter <d.peter@mpl.ch>
-Active  powerpc     ppc4xx         -           mpl             mip405              MIP405T                               MIP405:MIP405T                                                                                                                    Denis Peter <d.peter@mpl.ch>
-Active  powerpc     ppc4xx         -           mpl             pip405              PIP405                                -                                                                                                                                 Denis Peter <d.peter@mpl.ch>
-Active  powerpc     ppc4xx         -           prodrive        alpr                alpr                                  -                                                                                                                                 Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           prodrive        p3p440              p3p440                                -                                                                                                                                 Stefan Roese <sr@denx.de>
-Active  powerpc     ppc4xx         -           xes             xpedite1000         xpedite1000                           -                                                                                                                                 Peter Tyser <ptyser@xes-inc.com>
-Active  powerpc     ppc4xx         -           xilinx          ml507               ml507                                 ml507:SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x04100000,BOOT_FROM_XMD=1,INIT_TLB=board/xilinx/ppc440-generic/init.o        Ricardo Ribalda <ricardo.ribalda@uam.es>
-Active  powerpc     ppc4xx         -           xilinx          ml507               ml507_flash                           ml507:SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFFFC,INIT_TLB=board/xilinx/ppc440-generic/init.o                        Ricardo Ribalda <ricardo.ribalda@uam.es>
-Active  powerpc     ppc4xx         -           xilinx          ppc405-generic      xilinx-ppc405-generic                 xilinx-ppc405-generic:SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x04100000                                                    Ricardo Ribalda <ricardo.ribalda@uam.es>
-Active  powerpc     ppc4xx         -           xilinx          ppc405-generic      xilinx-ppc405-generic_flash           xilinx-ppc405-generic:SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFFFC                                                    Ricardo Ribalda <ricardo.ribalda@uam.es>
-Active  powerpc     ppc4xx         -           xilinx          ppc440-generic      xilinx-ppc440-generic                 xilinx-ppc440-generic:SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x04100000,BOOT_FROM_XMD=1                                    Ricardo Ribalda <ricardo.ribalda@uam.es>
-Active  powerpc     ppc4xx         -           xilinx          ppc440-generic      xilinx-ppc440-generic_flash           xilinx-ppc440-generic:SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFFFC                                                    Ricardo Ribalda <ricardo.ribalda@uam.es>
-Active  sandbox     -              -           -               sandbox             sandbox                               -                                                                                                                                 Simon Glass <sjg@chromium.org>
-Active  sh          sh2            -           renesas         rsk7203             rsk7203                               -                                                                                                                                 Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>:Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-Active  sh          sh2            -           renesas         rsk7264             rsk7264                               -                                                                                                                                 Phil Edworthy <phil.edworthy@renesas.com>
-Active  sh          sh2            -           renesas         rsk7269             rsk7269                               -                                                                                                                                 -
-Active  sh          sh3            -           -               mpr2                mpr2                                  -                                                                                                                                 Mark Jonas <mark.jonas@de.bosch.com>
-Active  sh          sh3            -           -               ms7720se            ms7720se                              -                                                                                                                                 Yoshihiro Shimoda <yoshihiro.shimoda.uh@renesas.com>
-Active  sh          sh3            -           -               shmin               shmin                                 -                                                                                                                                 Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>:Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-Active  sh          sh4            -           -               espt                espt                                  -                                                                                                                                 -
-Active  sh          sh4            -           -               ms7722se            ms7722se                              -                                                                                                                                 Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>:Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-Active  sh          sh4            -           -               ms7750se            ms7750se                              -                                                                                                                                 Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>:Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-Active  sh          sh4            -           alphaproject    ap_sh4a_4a          ap_sh4a_4a                            -                                                                                                                                 Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>:Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-Active  sh          sh4            -           renesas         ap325rxa            ap325rxa                              -                                                                                                                                 Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>:Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-Active  sh          sh4            -           renesas         ecovec              ecovec                                -                                                                                                                                 Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>:Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-Active  sh          sh4            -           renesas         MigoR               MigoR                                 -                                                                                                                                 -
-Active  sh          sh4            -           renesas         r0p7734             r0p7734                               -                                                                                                                                 Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>:Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-Active  sh          sh4            -           renesas         r2dplus             r2dplus                               -                                                                                                                                 Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>:Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-Active  sh          sh4            -           renesas         r7780mp             r7780mp                               -                                                                                                                                 Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>:Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-Active  sh          sh4            -           renesas         sh7752evb           sh7752evb                             -                                                                                                                                 -
-Active  sh          sh4            -           renesas         sh7753evb           sh7753evb                             -                                                                                                                                 -
-Active  sh          sh4            -           renesas         sh7757lcr           sh7757lcr                             -                                                                                                                                 -
-Active  sh          sh4            -           renesas         sh7763rdp           sh7763rdp                             -                                                                                                                                 Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>:Nobuhiro Iwamatsu <iwamatsu@nigauri.org>
-Active  sh          sh4            -           renesas         sh7785lcr           sh7785lcr                             -                                                                                                                                 -
-Active  sh          sh4            -           renesas         sh7785lcr           sh7785lcr_32bit                       sh7785lcr:SH_32BIT=1                                                                                                              -
-Active  sparc       leon2          -           gaisler         grsim_leon2         grsim_leon2                           -                                                                                                                                 -
-Active  sparc       leon3          -           gaisler         gr_cpci_ax2000      gr_cpci_ax2000                        -                                                                                                                                 -
-Active  sparc       leon3          -           gaisler         gr_ep2s60           gr_ep2s60                             -                                                                                                                                 -
-Active  sparc       leon3          -           gaisler         gr_xc3s_1500        gr_xc3s_1500                          -                                                                                                                                 -
-Active  sparc       leon3          -           gaisler         grsim               grsim                                 -                                                                                                                                 -
-Active  x86         -              coreboot    chromebook-x86  coreboot            coreboot-x86                          coreboot:SYS_TEXT_BASE=0x01110000                                                                                                 Simon Glass <sjg@chromium.org>
-# The following were moved to "Orphan" in June, 2014
-Orphan  arm         arm1176        tnetv107x   ti              tnetv107xevm        tnetv107x_evm                         -                                                                                                                                 Chan-Taek Park <c-park@ti.com>
-Orphan  arm         arm926ejs      at91        calao           sbc35_a9g20         sbc35_a9g20_eeprom                    sbc35_a9g20:AT91SAM9G20,SYS_USE_EEPROM                                                                                            Albin Tonnerre <albin.tonnerre@free-electrons.com>
-Orphan  arm         arm926ejs      at91        calao           sbc35_a9g20         sbc35_a9g20_nandflash                 sbc35_a9g20:AT91SAM9G20,SYS_USE_NANDFLASH                                                                                         Albin Tonnerre <albin.tonnerre@free-electrons.com>
-Orphan  arm         arm926ejs      at91        calao           tny_a9260           tny_a9260_eeprom                      tny_a9260:AT91SAM9260,SYS_USE_EEPROM                                                                                              Albin Tonnerre <albin.tonnerre@free-electrons.com>
-Orphan  arm         arm926ejs      at91        calao           tny_a9260           tny_a9260_nandflash                   tny_a9260:AT91SAM9260,SYS_USE_NANDFLASH                                                                                           Albin Tonnerre <albin.tonnerre@free-electrons.com>
-Orphan  arm         arm926ejs      at91        calao           tny_a9260           tny_a9g20_eeprom                      tny_a9260:AT91SAM9G20,SYS_USE_EEPROM                                                                                              Albin Tonnerre <albin.tonnerre@free-electrons.com>
-Orphan  arm         arm926ejs      at91        calao           tny_a9260           tny_a9g20_nandflash                   tny_a9260:AT91SAM9G20,SYS_USE_NANDFLASH                                                                                           Albin Tonnerre <albin.tonnerre@free-electrons.com>
-Orphan  arm         armv7          mx6         congatec        cgtqmx6eval         cgtqmx6qeval                          cgtqmx6eval:IMX_CONFIG=board/freescale/imx/ddr/mx6q_4x_mt41j128.cfg,MX6Q                                                          Leo Sartre <lsartre@adeneo-embedded.com>
-Orphan  arm         pxa            -           -               palmtreo680         palmtreo680                           -                                                                                                                                 Mike Dunn <mikedunn@newsguy.com>
-Orphan  avr32       -              at32ap700x  atmel           atngw100            atngw100                              -                                                                                                                                 Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
-Orphan  avr32       -              at32ap700x  atmel           atstk1000           atstk1002                             -                                                                                                                                 Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
-Orphan  avr32       -              at32ap700x  atmel           atstk1000           atstk1003                             -                                                                                                                                 Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
-Orphan  avr32       -              at32ap700x  atmel           atstk1000           atstk1004                             -                                                                                                                                 Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
-Orphan  avr32       -              at32ap700x  atmel           atstk1000           atstk1006                             -                                                                                                                                 Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
-Orphan  avr32       -              at32ap700x  earthlcd        favr-32-ezkit       favr-32-ezkit                         -                                                                                                                                 Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
-Orphan  blackfin    -              -           -               ip04                ip04                                  -                                                                                                                                 Brent Kandetzki <brentk@teleco.com>
-Orphan  m68k        mcf52x2        -           freescale       m5253evbe           M5253EVBE                             -                                                                                                                                 Hayden Fraser <Hayden.Fraser@freescale.com>
-Orphan  powerpc     mpc5xxx        -           -               galaxy5200          galaxy5200                            galaxy5200:galaxy5200                                                                                                             Eric Millbrandt <emillbrandt@dekaresearch.com>
-Orphan  powerpc     mpc5xxx        -           -               galaxy5200          galaxy5200_LOWBOOT                    galaxy5200:galaxy5200_LOWBOOT                                                                                                     Eric Millbrandt <emillbrandt@dekaresearch.com>
-Orphan  powerpc     mpc8260        -           -               ep8260              ep8260                                -                                                                                                                                 Frank Panno <fpanno@delphintech.com>
-Orphan  powerpc     mpc8260        -           -               sacsng              sacsng                                -                                                                                                                                 Jerry Van Baren <gerald.vanbaren@smiths-aerospace.com>
-Orphan  powerpc     mpc83xx        -           freescale       mpc837xerdb         MPC837XERDB                           -                                                                                                                                 Joe D'Abbraccio <ljd015@freescale.com>
-Orphan  powerpc     mpc85xx        -           exmeritus       hww1u1a             HWW1U1A                               -                                                                                                                                 Kyle Moffett <Kyle.D.Moffett@boeing.com>
-Orphan  powerpc     mpc85xx        -           freescale       mpc8540ads          MPC8540ADS                            -                                                                                                                                 Kumar Gala <kumar.gala@freescale.com>
-Orphan  powerpc     mpc85xx        -           freescale       mpc8541cds          MPC8541CDS                            -                                                                                                                                 Kumar Gala <kumar.gala@freescale.com>
-Orphan  powerpc     mpc85xx        -           freescale       mpc8541cds          MPC8541CDS_legacy                     MPC8541CDS:LEGACY                                                                                                                 Kumar Gala <kumar.gala@freescale.com>
-Orphan  powerpc     mpc85xx        -           freescale       mpc8555cds          MPC8555CDS                            -                                                                                                                                 Kumar Gala <kumar.gala@freescale.com>
-Orphan  powerpc     mpc85xx        -           freescale       mpc8555cds          MPC8555CDS_legacy                     MPC8555CDS:LEGACY                                                                                                                 Kumar Gala <kumar.gala@freescale.com>
-Orphan  powerpc     mpc85xx        -           freescale       mpc8560ads          MPC8560ADS                            -                                                                                                                                 Kumar Gala <kumar.gala@freescale.com>
-Orphan  powerpc     mpc85xx        -           stx             stxgp3              stxgp3                                -                                                                                                                                 Dan Malek <dan@embeddedalley.com>
-Orphan  powerpc     mpc85xx        -           stx             stxssa              stxssa                                -                                                                                                                                 Dan Malek <dan@embeddedalley.com>
-Orphan  powerpc     mpc85xx        -           stx             stxssa              stxssa_4M                             stxssa:STXSSA_4M                                                                                                                  Dan Malek <dan@embeddedalley.com>
-Orphan  powerpc     mpc86xx        -           freescale       mpc8641hpcn         MPC8641HPCN                           -                                                                                                                                 Kumar Gala <kumar.gala@freescale.com>
-Orphan  powerpc     mpc86xx        -           freescale       mpc8641hpcn         MPC8641HPCN_36BIT                     MPC8641HPCN:PHYS_64BIT                                                                                                            Kumar Gala <kumar.gala@freescale.com>
-Orphan  powerpc     mpc8xx         -           -               flagadm             FLAGADM                               -                                                                                                                                 Kári Davíðsson <kd@flaga.is>
-Orphan  powerpc     mpc8xx         -           -               gen860t             GEN860T                               -                                                                                                                                 Keith Outwater <Keith_Outwater@mvis.com>
-Orphan  powerpc     mpc8xx         -           -               gen860t             GEN860T_SC                            GEN860T:SC                                                                                                                        Keith Outwater <Keith_Outwater@mvis.com>
-Orphan  powerpc     mpc8xx         -           -               sixnet              SXNI855T                              -                                                                                                                                 Dave Ellis <DGE@sixnetio.com>
-Orphan  powerpc     mpc8xx         -           -               svm_sc8xx           svm_sc8xx                             -                                                                                                                                 John Zhan <zhanz@sinovee.com>
-Orphan  powerpc     mpc8xx         -           stx             stxxtc              stxxtc                                -                                                                                                                                 Dan Malek <dan@embeddedalley.com>
-# The following were moved to "Orphan" in April, 2014
-Orphan  powerpc     74xx_7xx       -           -               evb64260            ZUMA                                  -                                                                                                                                 Nye Liu <nyet@zumanetworks.com>
-Orphan  powerpc     mpc824x        -           -               musenki             MUSENKI                               -                                                                                                                                 Jim Thompson <jim@musenki.com>
-Orphan  powerpc     mpc824x        -           -               sandpoint           Sandpoint8245                         -                                                                                                                                 Jim Thompson <jim@musenki.com>
-Orphan  powerpc     mpc8260        -           -               ppmc8260            ppmc8260                              -                                                                                                                                 Brad Kemp <Brad.Kemp@seranoa.com>
-# The following were moved to "Orphan" in March, 2014
-Orphan  blackfin    -              -           -               cm-bf527            cm-bf527                              -                                                                                                                                 Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
-Orphan  blackfin    -              -           -               cm-bf533            cm-bf533                              -                                                                                                                                 Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
-Orphan  blackfin    -              -           -               cm-bf537e           cm-bf537e                             -                                                                                                                                 Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
-Orphan  blackfin    -              -           -               cm-bf537u           cm-bf537u                             -                                                                                                                                 Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
-Orphan  blackfin    -              -           -               cm-bf548            cm-bf548                              -                                                                                                                                 Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
-Orphan  blackfin    -              -           -               cm-bf561            cm-bf561                              -                                                                                                                                 Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
-Orphan  blackfin    -              -           -               tcm-bf518           tcm-bf518                             -                                                                                                                                 Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
-Orphan  blackfin    -              -           -               tcm-bf537           tcm-bf537                             -                                                                                                                                 Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
-Orphan  powerpc     mpc5xxx        -           matrix_vision   mvbc_p              MVBC_P                                MVBC_P:MVBC_P                                                                                                                     Andre Schwarz <andre.schwarz@matrix-vision.de>
-Orphan  powerpc     mpc5xxx        -           matrix_vision   mvsmr               MVSMR                                 -                                                                                                                                 Andre Schwarz <andre.schwarz@matrix-vision.de>
-Orphan  powerpc     mpc83xx        -           freescale       mpc8360erdk         MPC8360ERDK                           -                                                                                                                                 Anton Vorontsov <avorontsov@ru.mvista.com>
-Orphan  powerpc     mpc83xx        -           freescale       mpc8360erdk         MPC8360ERDK_33                        MPC8360ERDK:CLKIN_33MHZ                                                                                                           Anton Vorontsov <avorontsov@ru.mvista.com>
-Orphan  powerpc     mpc83xx        -           matrix_vision   mergerbox           MERGERBOX                             -                                                                                                                                 Andre Schwarz <andre.schwarz@matrix-vision.de>
-Orphan  powerpc     mpc83xx        -           matrix_vision   mvblm7              MVBLM7                                -                                                                                                                                 Andre Schwarz <andre.schwarz@matrix-vision.de>
-Orphan  powerpc     ppc4xx         -           amcc            bluestone           bluestone                             -                                                                                                                                 Tirumala Marri <tmarri@apm.com>
-Orphan  powerpc     ppc4xx         -           cray            L1                  CRAYL1                                -                                                                                                                                 David Updegraff <dave@cray.com>
-Orphan  powerpc     ppc4xx         -           sandburst       karef               KAREF                                 -                                                                                                                                 Travis Sawyer <travis.sawyer@sandburst.com>
-Orphan  powerpc     ppc4xx         -           sandburst       metrobox            METROBOX                              -                                                                                                                                 Travis Sawyer <travis.sawyer@sandburst.com>
-# The following were move to "Orphan" in September, 2013
-Orphan  arm         arm1136        mx31        -               imx31_phycore       imx31_phycore_eet                     imx31_phycore:IMX31_PHYCORE_EET                                                                                                   (resigned) Guennadi Liakhovetski <g.liakhovetski@gmx.de>
-Orphan  arm         arm1136        mx31        freescale       mx31ads             mx31ads                               -                                                                                                                                 (resigned) Guennadi Liakhovetski <g.liakhovetski@gmx.de>
index 7da10e61afbba4733fddf5bbbcd11f0006a396b0..a7621a897c44f475a185547cfe051880c0847d0d 100644 (file)
@@ -62,16 +62,36 @@ int env_init(void)
        return 0;
 }
 
-static int init_mmc_for_env(struct mmc *mmc)
-{
 #ifdef CONFIG_SYS_MMC_ENV_PART
+__weak uint mmc_get_env_part(struct mmc *mmc)
+{
+       return CONFIG_SYS_MMC_ENV_PART;
+}
+
+static int mmc_set_env_part(struct mmc *mmc)
+{
+       uint part = mmc_get_env_part(mmc);
        int dev = CONFIG_SYS_MMC_ENV_DEV;
+       int ret = 0;
 
 #ifdef CONFIG_SPL_BUILD
        dev = 0;
 #endif
+
+       if (part != mmc->part_num) {
+               ret = mmc_switch_part(dev, part);
+               if (ret)
+                       puts("MMC partition switch failed\n");
+       }
+
+       return ret;
+}
+#else
+static inline int mmc_set_env_part(struct mmc *mmc) {return 0; };
 #endif
 
+static int init_mmc_for_env(struct mmc *mmc)
+{
        if (!mmc) {
                puts("No MMC card found\n");
                return -1;
@@ -82,16 +102,7 @@ static int init_mmc_for_env(struct mmc *mmc)
                return -1;
        }
 
-#ifdef CONFIG_SYS_MMC_ENV_PART
-       if (CONFIG_SYS_MMC_ENV_PART != mmc->part_num) {
-               if (mmc_switch_part(dev, CONFIG_SYS_MMC_ENV_PART)) {
-                       puts("MMC partition switch failed\n");
-                       return -1;
-               }
-       }
-#endif
-
-       return 0;
+       return mmc_set_env_part(mmc);
 }
 
 static void fini_mmc_for_env(struct mmc *mmc)
index bd74732d48d2bb71aae66aab3f106029bb95698a..b4bf6f95d33735b9caeaabccbe479638731a5b09 100644 (file)
--- a/config.mk
+++ b/config.mk
@@ -20,6 +20,16 @@ LDFLAGS_FINAL :=
 OBJCOPYFLAGS :=
 #########################################################################
 
+ARCH := $(CONFIG_SYS_ARCH:"%"=%)
+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
+
 # 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
diff --git a/configs/A10-OLinuXino-Lime_defconfig b/configs/A10-OLinuXino-Lime_defconfig
new file mode 100644 (file)
index 0000000..a414953
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="A10_OLINUXINO_L,SPL,AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPC(3),USB_EHCI"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN4I=y
diff --git a/configs/A10s-OLinuXino-M_defconfig b/configs/A10s-OLinuXino-M_defconfig
new file mode 100644 (file)
index 0000000..1560ab1
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="A10S_OLINUXINO_M,SPL,AXP152_POWER,SUNXI_EMAC,USB_EHCI,SUNXI_USB_VBUS0_GPIO=SUNXI_GPB(10)"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN5I=y
diff --git a/configs/A13-OLinuXinoM_defconfig b/configs/A13-OLinuXinoM_defconfig
new file mode 100644 (file)
index 0000000..fb510d5
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="A13_OLINUXINOM,SPL,CONS_INDEX=2,USB_EHCI,SUNXI_USB_VBUS0_GPIO=SUNXI_GPG(11)"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN5I=y
diff --git a/configs/A13-OLinuXino_defconfig b/configs/A13-OLinuXino_defconfig
new file mode 100644 (file)
index 0000000..ba21136
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="A13_OLINUXINO,SPL,CONS_INDEX=2,AXP209_POWER,USB_EHCI,SUNXI_USB_VBUS0_GPIO=SUNXI_GPG(11)"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN5I=y
diff --git a/configs/A20-OLinuXino_MICRO_defconfig b/configs/A20-OLinuXino_MICRO_defconfig
new file mode 100644 (file)
index 0000000..52a857a
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="A20_OLINUXINO_M,SPL,AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN7I=y
diff --git a/configs/A3000_defconfig b/configs/A3000_defconfig
new file mode 100644 (file)
index 0000000..e1923de
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC824X=y
+CONFIG_TARGET_A3000=y
diff --git a/configs/APC405_defconfig b/configs/APC405_defconfig
new file mode 100644 (file)
index 0000000..d9da49b
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_APC405=y
diff --git a/configs/AR405_defconfig b/configs/AR405_defconfig
new file mode 100644 (file)
index 0000000..be65ab7
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_AR405=y
diff --git a/configs/ASH405_defconfig b/configs/ASH405_defconfig
new file mode 100644 (file)
index 0000000..ee094cb
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_ASH405=y
diff --git a/configs/Auxtek-T004_defconfig b/configs/Auxtek-T004_defconfig
new file mode 100644 (file)
index 0000000..643e628
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="AUXTEK_T004,SPL,AXP152_POWER,USB_EHCI,SUNXI_USB_VBUS0_GPIO=SUNXI_GPG(13)"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN5I=y
diff --git a/configs/B4420QDS_NAND_defconfig b/configs/B4420QDS_NAND_defconfig
new file mode 100644 (file)
index 0000000..5367e9b
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_B4420,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_B4860QDS=y
diff --git a/configs/B4420QDS_SPIFLASH_defconfig b/configs/B4420QDS_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..d62a068
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_B4420,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_B4860QDS=y
diff --git a/configs/B4420QDS_defconfig b/configs/B4420QDS_defconfig
new file mode 100644 (file)
index 0000000..dc77f70
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_B4420"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_B4860QDS=y
diff --git a/configs/B4860QDS_NAND_defconfig b/configs/B4860QDS_NAND_defconfig
new file mode 100644 (file)
index 0000000..05cf734
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_B4860QDS=y
diff --git a/configs/B4860QDS_SECURE_BOOT_defconfig b/configs/B4860QDS_SECURE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..f73a2ae
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_B4860QDS=y
diff --git a/configs/B4860QDS_SPIFLASH_defconfig b/configs/B4860QDS_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..235d3ea
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_B4860QDS=y
diff --git a/configs/B4860QDS_SRIO_PCIE_BOOT_defconfig b/configs/B4860QDS_SRIO_PCIE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..dda1944
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_B4860QDS=y
diff --git a/configs/B4860QDS_defconfig b/configs/B4860QDS_defconfig
new file mode 100644 (file)
index 0000000..15b3dfb
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_B4860"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_B4860QDS=y
diff --git a/configs/BC3450_defconfig b/configs/BC3450_defconfig
new file mode 100644 (file)
index 0000000..ecb46e9
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_BC3450=y
diff --git a/configs/BSC9131RDB_NAND_SYSCLK100_defconfig b/configs/BSC9131RDB_NAND_SYSCLK100_defconfig
new file mode 100644 (file)
index 0000000..1adc2b8
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,NAND,SYS_CLK_100"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_BSC9131RDB=y
diff --git a/configs/BSC9131RDB_NAND_defconfig b/configs/BSC9131RDB_NAND_defconfig
new file mode 100644 (file)
index 0000000..502fa31
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,NAND"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_BSC9131RDB=y
diff --git a/configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig b/configs/BSC9131RDB_SPIFLASH_SYSCLK100_defconfig
new file mode 100644 (file)
index 0000000..895ae12
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,SPIFLASH,SYS_CLK_100"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_BSC9131RDB=y
diff --git a/configs/BSC9131RDB_SPIFLASH_defconfig b/configs/BSC9131RDB_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..8961976
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BSC9131RDB,SPIFLASH"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_BSC9131RDB=y
diff --git a/configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig b/configs/BSC9132QDS_NAND_DDRCLK100_SECURE_defconfig
new file mode 100644 (file)
index 0000000..8aef0d6
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND_SECBOOT,SYS_CLK_100_DDR_100,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_BSC9132QDS=y
diff --git a/configs/BSC9132QDS_NAND_DDRCLK100_defconfig b/configs/BSC9132QDS_NAND_DDRCLK100_defconfig
new file mode 100644 (file)
index 0000000..3c3b46e
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND,SYS_CLK_100_DDR_100"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_BSC9132QDS=y
diff --git a/configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig b/configs/BSC9132QDS_NAND_DDRCLK133_SECURE_defconfig
new file mode 100644 (file)
index 0000000..ac31fad
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND_SECBOOT,SYS_CLK_100_DDR_133,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_BSC9132QDS=y
diff --git a/configs/BSC9132QDS_NAND_DDRCLK133_defconfig b/configs/BSC9132QDS_NAND_DDRCLK133_defconfig
new file mode 100644 (file)
index 0000000..d2e7391
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,NAND,SYS_CLK_100_DDR_133"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_BSC9132QDS=y
diff --git a/configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig b/configs/BSC9132QDS_NOR_DDRCLK100_SECURE_defconfig
new file mode 100644 (file)
index 0000000..b26f6e0
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_100,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_BSC9132QDS=y
diff --git a/configs/BSC9132QDS_NOR_DDRCLK100_defconfig b/configs/BSC9132QDS_NOR_DDRCLK100_defconfig
new file mode 100644 (file)
index 0000000..7eaa32d
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_100"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_BSC9132QDS=y
diff --git a/configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig b/configs/BSC9132QDS_NOR_DDRCLK133_SECURE_defconfig
new file mode 100644 (file)
index 0000000..13d7794
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_133,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_BSC9132QDS=y
diff --git a/configs/BSC9132QDS_NOR_DDRCLK133_defconfig b/configs/BSC9132QDS_NOR_DDRCLK133_defconfig
new file mode 100644 (file)
index 0000000..7e205c5
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SYS_CLK_100_DDR_133"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_BSC9132QDS=y
diff --git a/configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig b/configs/BSC9132QDS_SDCARD_DDRCLK100_SECURE_defconfig
new file mode 100644 (file)
index 0000000..8e5585a
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_100,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_BSC9132QDS=y
diff --git a/configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig b/configs/BSC9132QDS_SDCARD_DDRCLK100_defconfig
new file mode 100644 (file)
index 0000000..6a7920f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_100"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_BSC9132QDS=y
diff --git a/configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig b/configs/BSC9132QDS_SDCARD_DDRCLK133_SECURE_defconfig
new file mode 100644 (file)
index 0000000..920cf6c
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_133,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_BSC9132QDS=y
diff --git a/configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig b/configs/BSC9132QDS_SDCARD_DDRCLK133_defconfig
new file mode 100644 (file)
index 0000000..95a35f2
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SDCARD,SYS_CLK_100_DDR_133"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_BSC9132QDS=y
diff --git a/configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig b/configs/BSC9132QDS_SPIFLASH_DDRCLK100_SECURE_defconfig
new file mode 100644 (file)
index 0000000..c55b5a7
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_100,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_BSC9132QDS=y
diff --git a/configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig b/configs/BSC9132QDS_SPIFLASH_DDRCLK100_defconfig
new file mode 100644 (file)
index 0000000..85e4701
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_100"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_BSC9132QDS=y
diff --git a/configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig b/configs/BSC9132QDS_SPIFLASH_DDRCLK133_SECURE_defconfig
new file mode 100644 (file)
index 0000000..7eb3727
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_133,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_BSC9132QDS=y
diff --git a/configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig b/configs/BSC9132QDS_SPIFLASH_DDRCLK133_defconfig
new file mode 100644 (file)
index 0000000..b8e4e7d
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BSC9132QDS,SPIFLASH,SYS_CLK_100_DDR_133"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_BSC9132QDS=y
diff --git a/configs/Bananapi_defconfig b/configs/Bananapi_defconfig
new file mode 100644 (file)
index 0000000..be3d815
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="BANANAPI,SPL,AXP209_POWER,SUNXI_GMAC,RGMII,MACPWR=SUNXI_GPH(23),AHCI,USB_EHCI"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN7I=y
diff --git a/configs/C29XPCIE_NAND_defconfig b/configs/C29XPCIE_NAND_defconfig
new file mode 100644 (file)
index 0000000..c932579
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT,NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_C29XPCIE=y
diff --git a/configs/C29XPCIE_SPIFLASH_defconfig b/configs/C29XPCIE_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..2185d9d
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT,SPIFLASH"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_C29XPCIE=y
diff --git a/configs/C29XPCIE_defconfig b/configs/C29XPCIE_defconfig
new file mode 100644 (file)
index 0000000..2ee3305
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="C29XPCIE,36BIT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_C29XPCIE=y
diff --git a/configs/CATcenter_25_defconfig b/configs/CATcenter_25_defconfig
new file mode 100644 (file)
index 0000000..1a8903c
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_25"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_CATCENTER=y
diff --git a/configs/CATcenter_33_defconfig b/configs/CATcenter_33_defconfig
new file mode 100644 (file)
index 0000000..4b0eb8d
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_33"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_CATCENTER=y
diff --git a/configs/CATcenter_defconfig b/configs/CATcenter_defconfig
new file mode 100644 (file)
index 0000000..53e00ad
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPCHAMELEON_MODULE_MODEL=1"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_CATCENTER=y
diff --git a/configs/CMS700_defconfig b/configs/CMS700_defconfig
new file mode 100644 (file)
index 0000000..dd21223
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_CMS700=y
diff --git a/configs/CPC45_ROMBOOT_defconfig b/configs/CPC45_ROMBOOT_defconfig
new file mode 100644 (file)
index 0000000..4aae7f6
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BOOT_ROM"
+CONFIG_PPC=y
+CONFIG_MPC824X=y
+CONFIG_TARGET_CPC45=y
diff --git a/configs/CPC45_defconfig b/configs/CPC45_defconfig
new file mode 100644 (file)
index 0000000..77ae66c
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC824X=y
+CONFIG_TARGET_CPC45=y
diff --git a/configs/CPCI2DP_defconfig b/configs/CPCI2DP_defconfig
new file mode 100644 (file)
index 0000000..23631e9
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_CPCI2DP=y
diff --git a/configs/CPCI4052_defconfig b/configs/CPCI4052_defconfig
new file mode 100644 (file)
index 0000000..5d30b79
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_CPCI4052=y
diff --git a/configs/CPCI405AB_defconfig b/configs/CPCI405AB_defconfig
new file mode 100644 (file)
index 0000000..6550fd1
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_CPCI405AB=y
diff --git a/configs/CPCI405DT_defconfig b/configs/CPCI405DT_defconfig
new file mode 100644 (file)
index 0000000..b61f65c
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_CPCI405DT=y
diff --git a/configs/CPCI405_defconfig b/configs/CPCI405_defconfig
new file mode 100644 (file)
index 0000000..1638e2b
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_CPCI405=y
diff --git a/configs/CPCI750_defconfig b/configs/CPCI750_defconfig
new file mode 100644 (file)
index 0000000..abdd4d2
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_74xx_7xx=y
+CONFIG_TARGET_CPCI750=y
diff --git a/configs/CPCIISER4_defconfig b/configs/CPCIISER4_defconfig
new file mode 100644 (file)
index 0000000..2a7566d
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_CPCIISER4=y
diff --git a/configs/CPU86_ROMBOOT_defconfig b/configs/CPU86_ROMBOOT_defconfig
new file mode 100644 (file)
index 0000000..41aa7df
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BOOT_ROM"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_CPU86=y
diff --git a/configs/CPU86_defconfig b/configs/CPU86_defconfig
new file mode 100644 (file)
index 0000000..f0a4049
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_CPU86=y
diff --git a/configs/CPU87_ROMBOOT_defconfig b/configs/CPU87_ROMBOOT_defconfig
new file mode 100644 (file)
index 0000000..ba13b40
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BOOT_ROM"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_CPU87=y
diff --git a/configs/CPU87_defconfig b/configs/CPU87_defconfig
new file mode 100644 (file)
index 0000000..86a5737
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_CPU87=y
diff --git a/configs/CRAYL1_defconfig b/configs/CRAYL1_defconfig
new file mode 100644 (file)
index 0000000..ad6cbac
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_CRAYL1=y
diff --git a/configs/CU824_defconfig b/configs/CU824_defconfig
new file mode 100644 (file)
index 0000000..0f22188
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC824X=y
+CONFIG_TARGET_CU824=y
diff --git a/configs/Cubieboard2_FEL_defconfig b/configs/Cubieboard2_FEL_defconfig
new file mode 100644 (file)
index 0000000..63636b0
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="CUBIEBOARD2,SPL_FEL,AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN7I=y
diff --git a/configs/Cubieboard2_defconfig b/configs/Cubieboard2_defconfig
new file mode 100644 (file)
index 0000000..fa34c51
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="CUBIEBOARD2,SPL,AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN7I=y
diff --git a/configs/Cubieboard_defconfig b/configs/Cubieboard_defconfig
new file mode 100644 (file)
index 0000000..774029c
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="CUBIEBOARD,SPL,AXP209_POWER,SUNXI_EMAC,AHCI,SATAPWR=SUNXI_GPB(8),USB_EHCI"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN4I=y
diff --git a/configs/Cubietruck_FEL_defconfig b/configs/Cubietruck_FEL_defconfig
new file mode 100644 (file)
index 0000000..7ebf635
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="CUBIETRUCK,SPL_FEL,AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(12),USB_EHCI"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN7I=y
diff --git a/configs/Cubietruck_defconfig b/configs/Cubietruck_defconfig
new file mode 100644 (file)
index 0000000..fbc9127
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="CUBIETRUCK,SPL,AXP209_POWER,SUNXI_GMAC,RGMII,AHCI,SATAPWR=SUNXI_GPH(12),USB_EHCI"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN7I=y
diff --git a/configs/DB64360_defconfig b/configs/DB64360_defconfig
new file mode 100644 (file)
index 0000000..358b096
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_74xx_7xx=y
+CONFIG_TARGET_DB64360=y
diff --git a/configs/DB64460_defconfig b/configs/DB64460_defconfig
new file mode 100644 (file)
index 0000000..4ff2fad
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_74xx_7xx=y
+CONFIG_TARGET_DB64460=y
diff --git a/configs/DP405_defconfig b/configs/DP405_defconfig
new file mode 100644 (file)
index 0000000..4d48276
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_DP405=y
diff --git a/configs/DU405_defconfig b/configs/DU405_defconfig
new file mode 100644 (file)
index 0000000..fdfe41b
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_DU405=y
diff --git a/configs/DU440_defconfig b/configs/DU440_defconfig
new file mode 100644 (file)
index 0000000..59891fe
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_DU440=y
diff --git a/configs/ELPPC_defconfig b/configs/ELPPC_defconfig
new file mode 100644 (file)
index 0000000..c4694ef
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_74xx_7xx=y
+CONFIG_TARGET_ELPPC=y
diff --git a/configs/ELPT860_defconfig b/configs/ELPT860_defconfig
new file mode 100644 (file)
index 0000000..d02b313
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_ELPT860=y
diff --git a/configs/ESTEEM192E_defconfig b/configs/ESTEEM192E_defconfig
new file mode 100644 (file)
index 0000000..e6279b8
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_ESTEEM192E=y
diff --git a/configs/EVAL5200_defconfig b/configs/EVAL5200_defconfig
new file mode 100644 (file)
index 0000000..6a272d2
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="EVAL5200"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_TOP5200=y
diff --git a/configs/FLAGADM_defconfig b/configs/FLAGADM_defconfig
new file mode 100644 (file)
index 0000000..6113797
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_FLAGADM=y
diff --git a/configs/FPS850L_defconfig b/configs/FPS850L_defconfig
new file mode 100644 (file)
index 0000000..e72ccdd
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_FPS850L=y
diff --git a/configs/FPS860L_defconfig b/configs/FPS860L_defconfig
new file mode 100644 (file)
index 0000000..643da6a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_FPS860L=y
diff --git a/configs/G2000_defconfig b/configs/G2000_defconfig
new file mode 100644 (file)
index 0000000..a01bc0f
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_G2000=y
diff --git a/configs/GEN860T_SC_defconfig b/configs/GEN860T_SC_defconfig
new file mode 100644 (file)
index 0000000..ff624db
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SC"
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_GEN860T=y
diff --git a/configs/GEN860T_defconfig b/configs/GEN860T_defconfig
new file mode 100644 (file)
index 0000000..e672623
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_GEN860T=y
diff --git a/configs/HH405_defconfig b/configs/HH405_defconfig
new file mode 100644 (file)
index 0000000..1571f32
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_HH405=y
diff --git a/configs/HUB405_defconfig b/configs/HUB405_defconfig
new file mode 100644 (file)
index 0000000..a39712e
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_HUB405=y
diff --git a/configs/HWW1U1A_defconfig b/configs/HWW1U1A_defconfig
new file mode 100644 (file)
index 0000000..8947be2
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_HWW1U1A=y
diff --git a/configs/ICU862_100MHz_defconfig b/configs/ICU862_100MHz_defconfig
new file mode 100644 (file)
index 0000000..72f0dfa
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="100MHz"
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_ICU862=y
diff --git a/configs/ICU862_defconfig b/configs/ICU862_defconfig
new file mode 100644 (file)
index 0000000..b58ea05
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_ICU862=y
diff --git a/configs/IDS8247_defconfig b/configs/IDS8247_defconfig
new file mode 100644 (file)
index 0000000..b4dd23f
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_IDS8247=y
diff --git a/configs/IP860_defconfig b/configs/IP860_defconfig
new file mode 100644 (file)
index 0000000..feb243d
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_IP860=y
diff --git a/configs/IPHASE4539_defconfig b/configs/IPHASE4539_defconfig
new file mode 100644 (file)
index 0000000..d49ea52
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_IPHASE4539=y
diff --git a/configs/IVML24_128_defconfig b/configs/IVML24_128_defconfig
new file mode 100644 (file)
index 0000000..f0850f6
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="IVML24_32M"
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_IVML24=y
diff --git a/configs/IVML24_256_defconfig b/configs/IVML24_256_defconfig
new file mode 100644 (file)
index 0000000..9c241c2
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="IVML24_64M"
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_IVML24=y
diff --git a/configs/IVML24_defconfig b/configs/IVML24_defconfig
new file mode 100644 (file)
index 0000000..0f85d43
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="IVML24_16M"
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_IVML24=y
diff --git a/configs/IVMS8_128_defconfig b/configs/IVMS8_128_defconfig
new file mode 100644 (file)
index 0000000..685d76f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="IVMS8_32M"
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_IVMS8=y
diff --git a/configs/IVMS8_256_defconfig b/configs/IVMS8_256_defconfig
new file mode 100644 (file)
index 0000000..63435d2
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="IVMS8_64M"
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_IVMS8=y
diff --git a/configs/IVMS8_defconfig b/configs/IVMS8_defconfig
new file mode 100644 (file)
index 0000000..3f4087b
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="IVMS8_16M"
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_IVMS8=y
diff --git a/configs/JSE_defconfig b/configs/JSE_defconfig
new file mode 100644 (file)
index 0000000..14c9c2f
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_JSE=y
diff --git a/configs/KAREF_defconfig b/configs/KAREF_defconfig
new file mode 100644 (file)
index 0000000..fcca3c9
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_KAREF=y
diff --git a/configs/KUP4K_defconfig b/configs/KUP4K_defconfig
new file mode 100644 (file)
index 0000000..8e9e26d
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_KUP4K=y
diff --git a/configs/KUP4X_defconfig b/configs/KUP4X_defconfig
new file mode 100644 (file)
index 0000000..29520c9
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_KUP4X=y
diff --git a/configs/Linksprite_pcDuino3_defconfig b/configs/Linksprite_pcDuino3_defconfig
new file mode 100644 (file)
index 0000000..10ebcef
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PCDUINO3,SPL,AXP209_POWER,SUNXI_GMAC,AHCI,SATAPWR=SUNXI_GPH(2),USB_EHCI"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN7I=y
diff --git a/configs/Lite5200_LOWBOOT08_defconfig b/configs/Lite5200_LOWBOOT08_defconfig
new file mode 100644 (file)
index 0000000..9f0cbd8
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xFF800000"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_ICECUBE=y
diff --git a/configs/Lite5200_LOWBOOT_defconfig b/configs/Lite5200_LOWBOOT_defconfig
new file mode 100644 (file)
index 0000000..ff1552f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xFF000000"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_ICECUBE=y
diff --git a/configs/Lite5200_defconfig b/configs/Lite5200_defconfig
new file mode 100644 (file)
index 0000000..49fdb3b
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_ICECUBE=y
diff --git a/configs/M5208EVBE_defconfig b/configs/M5208EVBE_defconfig
new file mode 100644 (file)
index 0000000..c727683
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_M68K=y
+CONFIG_TARGET_M5208EVBE=y
diff --git a/configs/M52277EVB_defconfig b/configs/M52277EVB_defconfig
new file mode 100644 (file)
index 0000000..bcf2359
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_SPANSION_BOOT,SYS_TEXT_BASE=0x00000000"
+CONFIG_M68K=y
+CONFIG_TARGET_M52277EVB=y
diff --git a/configs/M52277EVB_stmicro_defconfig b/configs/M52277EVB_stmicro_defconfig
new file mode 100644 (file)
index 0000000..0e49bc3
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CF_SBF,SYS_STMICRO_BOOT,SYS_TEXT_BASE=0x43E00000"
+CONFIG_M68K=y
+CONFIG_TARGET_M52277EVB=y
diff --git a/configs/M5235EVB_Flash32_defconfig b/configs/M5235EVB_Flash32_defconfig
new file mode 100644 (file)
index 0000000..e6facec
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="NORFLASH_PS32BIT,SYS_TEXT_BASE=0xFFC00000"
+CONFIG_M68K=y
+CONFIG_TARGET_M5235EVB=y
diff --git a/configs/M5235EVB_defconfig b/configs/M5235EVB_defconfig
new file mode 100644 (file)
index 0000000..04b11ec
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xFFE00000"
+CONFIG_M68K=y
+CONFIG_TARGET_M5235EVB=y
diff --git a/configs/M5249EVB_defconfig b/configs/M5249EVB_defconfig
new file mode 100644 (file)
index 0000000..fb29274
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_M68K=y
+CONFIG_TARGET_M5249EVB=y
diff --git a/configs/M5253DEMO_defconfig b/configs/M5253DEMO_defconfig
new file mode 100644 (file)
index 0000000..68cad2f
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_M68K=y
+CONFIG_TARGET_M5253DEMO=y
diff --git a/configs/M5253EVBE_defconfig b/configs/M5253EVBE_defconfig
new file mode 100644 (file)
index 0000000..5c562fe
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_M68K=y
+CONFIG_TARGET_M5253EVBE=y
diff --git a/configs/M5272C3_defconfig b/configs/M5272C3_defconfig
new file mode 100644 (file)
index 0000000..fdb872a
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_M68K=y
+CONFIG_TARGET_M5272C3=y
diff --git a/configs/M5275EVB_defconfig b/configs/M5275EVB_defconfig
new file mode 100644 (file)
index 0000000..1e33649
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_M68K=y
+CONFIG_TARGET_M5275EVB=y
diff --git a/configs/M5282EVB_defconfig b/configs/M5282EVB_defconfig
new file mode 100644 (file)
index 0000000..66d742f
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_M68K=y
+CONFIG_TARGET_M5282EVB=y
diff --git a/configs/M53017EVB_defconfig b/configs/M53017EVB_defconfig
new file mode 100644 (file)
index 0000000..d83e638
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_M68K=y
+CONFIG_TARGET_M53017EVB=y
diff --git a/configs/M5329AFEE_defconfig b/configs/M5329AFEE_defconfig
new file mode 100644 (file)
index 0000000..048d3a9
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="NANDFLASH_SIZE=0"
+CONFIG_M68K=y
+CONFIG_TARGET_M5329EVB=y
diff --git a/configs/M5329BFEE_defconfig b/configs/M5329BFEE_defconfig
new file mode 100644 (file)
index 0000000..01e3d6a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="NANDFLASH_SIZE=16"
+CONFIG_M68K=y
+CONFIG_TARGET_M5329EVB=y
diff --git a/configs/M5373EVB_defconfig b/configs/M5373EVB_defconfig
new file mode 100644 (file)
index 0000000..51a7b81
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="NANDFLASH_SIZE=16"
+CONFIG_M68K=y
+CONFIG_TARGET_M5373EVB=y
diff --git a/configs/M54418TWR_defconfig b/configs/M54418TWR_defconfig
new file mode 100644 (file)
index 0000000..8f18bbe
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CF_SBF,SYS_SERIAL_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSRC=50000000"
+CONFIG_M68K=y
+CONFIG_TARGET_M54418TWR=y
diff --git a/configs/M54418TWR_nand_mii_defconfig b/configs/M54418TWR_nand_mii_defconfig
new file mode 100644 (file)
index 0000000..4b1c6c9
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_NAND_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSRC=25000000"
+CONFIG_M68K=y
+CONFIG_TARGET_M54418TWR=y
diff --git a/configs/M54418TWR_nand_rmii_defconfig b/configs/M54418TWR_nand_rmii_defconfig
new file mode 100644 (file)
index 0000000..72cc83c
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_NAND_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSRC=50000000"
+CONFIG_M68K=y
+CONFIG_TARGET_M54418TWR=y
diff --git a/configs/M54418TWR_nand_rmii_lowfreq_defconfig b/configs/M54418TWR_nand_rmii_lowfreq_defconfig
new file mode 100644 (file)
index 0000000..0bc929f
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_NAND_BOOT,LOW_MCFCLK,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSRC=50000000"
+CONFIG_M68K=y
+CONFIG_TARGET_M54418TWR=y
diff --git a/configs/M54418TWR_serial_mii_defconfig b/configs/M54418TWR_serial_mii_defconfig
new file mode 100644 (file)
index 0000000..93fe401
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CF_SBF,SYS_SERIAL_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSRC=25000000"
+CONFIG_M68K=y
+CONFIG_TARGET_M54418TWR=y
diff --git a/configs/M54418TWR_serial_rmii_defconfig b/configs/M54418TWR_serial_rmii_defconfig
new file mode 100644 (file)
index 0000000..8f18bbe
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CF_SBF,SYS_SERIAL_BOOT,SYS_TEXT_BASE=0x47E00000,SYS_INPUT_CLKSRC=50000000"
+CONFIG_M68K=y
+CONFIG_TARGET_M54418TWR=y
diff --git a/configs/M54451EVB_defconfig b/configs/M54451EVB_defconfig
new file mode 100644 (file)
index 0000000..af02731
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x00000000,SYS_INPUT_CLKSRC=24000000"
+CONFIG_M68K=y
+CONFIG_TARGET_M54451EVB=y
diff --git a/configs/M54451EVB_stmicro_defconfig b/configs/M54451EVB_stmicro_defconfig
new file mode 100644 (file)
index 0000000..4a3c87f
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CF_SBF,SYS_STMICRO_BOOT,SYS_TEXT_BASE=0x47e00000,SYS_INPUT_CLKSRC=24000000"
+CONFIG_M68K=y
+CONFIG_TARGET_M54451EVB=y
diff --git a/configs/M54455EVB_a66_defconfig b/configs/M54455EVB_a66_defconfig
new file mode 100644 (file)
index 0000000..b05a12e
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_ATMEL_BOOT,SYS_TEXT_BASE=0x04000000,SYS_INPUT_CLKSRC=66666666"
+CONFIG_M68K=y
+CONFIG_TARGET_M54455EVB=y
diff --git a/configs/M54455EVB_defconfig b/configs/M54455EVB_defconfig
new file mode 100644 (file)
index 0000000..ffd3407
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_ATMEL_BOOT,SYS_TEXT_BASE=0x04000000,SYS_INPUT_CLKSRC=33333333"
+CONFIG_M68K=y
+CONFIG_TARGET_M54455EVB=y
diff --git a/configs/M54455EVB_i66_defconfig b/configs/M54455EVB_i66_defconfig
new file mode 100644 (file)
index 0000000..90cf787
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_INTEL_BOOT,SYS_TEXT_BASE=0x00000000,SYS_INPUT_CLKSRC=66666666"
+CONFIG_M68K=y
+CONFIG_TARGET_M54455EVB=y
diff --git a/configs/M54455EVB_intel_defconfig b/configs/M54455EVB_intel_defconfig
new file mode 100644 (file)
index 0000000..a3d69db
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_INTEL_BOOT,SYS_TEXT_BASE=0x00000000,SYS_INPUT_CLKSRC=33333333"
+CONFIG_M68K=y
+CONFIG_TARGET_M54455EVB=y
diff --git a/configs/M54455EVB_stm33_defconfig b/configs/M54455EVB_stm33_defconfig
new file mode 100644 (file)
index 0000000..cf33d0f
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_STMICRO_BOOT,CF_SBF,SYS_TEXT_BASE=0x4FE00000,SYS_INPUT_CLKSRC=33333333"
+CONFIG_M68K=y
+CONFIG_TARGET_M54455EVB=y
diff --git a/configs/M5475AFE_defconfig b/configs/M5475AFE_defconfig
new file mode 100644 (file)
index 0000000..28fd0ec
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64"
+CONFIG_M68K=y
+CONFIG_TARGET_M5475EVB=y
diff --git a/configs/M5475BFE_defconfig b/configs/M5475BFE_defconfig
new file mode 100644 (file)
index 0000000..329f3e3
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16"
+CONFIG_M68K=y
+CONFIG_TARGET_M5475EVB=y
diff --git a/configs/M5475CFE_defconfig b/configs/M5475CFE_defconfig
new file mode 100644 (file)
index 0000000..8dd75db
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16,SYS_VIDEO,SYS_USBCTRL"
+CONFIG_M68K=y
+CONFIG_TARGET_M5475EVB=y
diff --git a/configs/M5475DFE_defconfig b/configs/M5475DFE_defconfig
new file mode 100644 (file)
index 0000000..a6288da
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_USBCTRL"
+CONFIG_M68K=y
+CONFIG_TARGET_M5475EVB=y
diff --git a/configs/M5475EFE_defconfig b/configs/M5475EFE_defconfig
new file mode 100644 (file)
index 0000000..19640a2
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_VIDEO,SYS_USBCTRL"
+CONFIG_M68K=y
+CONFIG_TARGET_M5475EVB=y
diff --git a/configs/M5475FFE_defconfig b/configs/M5475FFE_defconfig
new file mode 100644 (file)
index 0000000..0201d38
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=133333333,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=32,SYS_VIDEO,SYS_USBCTRL,SYS_DRAMSZ1=64"
+CONFIG_M68K=y
+CONFIG_TARGET_M5475EVB=y
diff --git a/configs/M5475GFE_defconfig b/configs/M5475GFE_defconfig
new file mode 100644 (file)
index 0000000..b876868
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=133333333,SYS_BOOTSZ=4,SYS_DRAMSZ=64"
+CONFIG_M68K=y
+CONFIG_TARGET_M5475EVB=y
diff --git a/configs/M5485AFE_defconfig b/configs/M5485AFE_defconfig
new file mode 100644 (file)
index 0000000..612218d
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64"
+CONFIG_M68K=y
+CONFIG_TARGET_M5485EVB=y
diff --git a/configs/M5485BFE_defconfig b/configs/M5485BFE_defconfig
new file mode 100644 (file)
index 0000000..697feb0
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16"
+CONFIG_M68K=y
+CONFIG_TARGET_M5485EVB=y
diff --git a/configs/M5485CFE_defconfig b/configs/M5485CFE_defconfig
new file mode 100644 (file)
index 0000000..46c0d08
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16,SYS_VIDEO,SYS_USBCTRL"
+CONFIG_M68K=y
+CONFIG_TARGET_M5485EVB=y
diff --git a/configs/M5485DFE_defconfig b/configs/M5485DFE_defconfig
new file mode 100644 (file)
index 0000000..ad6248d
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_USBCTRL"
+CONFIG_M68K=y
+CONFIG_TARGET_M5485EVB=y
diff --git a/configs/M5485EFE_defconfig b/configs/M5485EFE_defconfig
new file mode 100644 (file)
index 0000000..5f27496
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_VIDEO,SYS_USBCTRL"
+CONFIG_M68K=y
+CONFIG_TARGET_M5485EVB=y
diff --git a/configs/M5485FFE_defconfig b/configs/M5485FFE_defconfig
new file mode 100644 (file)
index 0000000..b1da743
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=32,SYS_VIDEO,SYS_USBCTRL,SYS_DRAMSZ1=64"
+CONFIG_M68K=y
+CONFIG_TARGET_M5485EVB=y
diff --git a/configs/M5485GFE_defconfig b/configs/M5485GFE_defconfig
new file mode 100644 (file)
index 0000000..578d24a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=100000000,SYS_BOOTSZ=4,SYS_DRAMSZ=64"
+CONFIG_M68K=y
+CONFIG_TARGET_M5485EVB=y
diff --git a/configs/M5485HFE_defconfig b/configs/M5485HFE_defconfig
new file mode 100644 (file)
index 0000000..c632055
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_BUSCLK=100000000,SYS_BOOTSZ=2,SYS_DRAMSZ=64,SYS_NOR1SZ=16,SYS_VIDEO"
+CONFIG_M68K=y
+CONFIG_TARGET_M5485EVB=y
diff --git a/configs/MERGERBOX_defconfig b/configs/MERGERBOX_defconfig
new file mode 100644 (file)
index 0000000..34a527e
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MERGERBOX=y
diff --git a/configs/METROBOX_defconfig b/configs/METROBOX_defconfig
new file mode 100644 (file)
index 0000000..14b471a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_METROBOX=y
diff --git a/configs/MHPC_defconfig b/configs/MHPC_defconfig
new file mode 100644 (file)
index 0000000..b05d3c4
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_MHPC=y
diff --git a/configs/MINI5200_defconfig b/configs/MINI5200_defconfig
new file mode 100644 (file)
index 0000000..dfe853e
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MINI5200"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_TOP5200=y
diff --git a/configs/MIP405T_defconfig b/configs/MIP405T_defconfig
new file mode 100644 (file)
index 0000000..304d890
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MIP405T"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_MIP405=y
diff --git a/configs/MIP405_defconfig b/configs/MIP405_defconfig
new file mode 100644 (file)
index 0000000..57004e8
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_MIP405=y
diff --git a/configs/MPC8266ADS_defconfig b/configs/MPC8266ADS_defconfig
new file mode 100644 (file)
index 0000000..485c842
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_MPC8266ADS=y
diff --git a/configs/MPC8308RDB_defconfig b/configs/MPC8308RDB_defconfig
new file mode 100644 (file)
index 0000000..64717ec
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8308RDB=y
diff --git a/configs/MPC8313ERDB_33_defconfig b/configs/MPC8313ERDB_33_defconfig
new file mode 100644 (file)
index 0000000..ca6c304
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_33MHZ"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8313ERDB=y
diff --git a/configs/MPC8313ERDB_66_defconfig b/configs/MPC8313ERDB_66_defconfig
new file mode 100644 (file)
index 0000000..974bdf9
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_66MHZ"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8313ERDB=y
diff --git a/configs/MPC8313ERDB_NAND_33_defconfig b/configs/MPC8313ERDB_NAND_33_defconfig
new file mode 100644 (file)
index 0000000..3a55931
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SYS_33MHZ,NAND"
++S:CONFIG_PPC=y
++S:CONFIG_MPC83xx=y
++S:CONFIG_TARGET_MPC8313ERDB=y
diff --git a/configs/MPC8313ERDB_NAND_66_defconfig b/configs/MPC8313ERDB_NAND_66_defconfig
new file mode 100644 (file)
index 0000000..180316b
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SYS_66MHZ,NAND"
++S:CONFIG_PPC=y
++S:CONFIG_MPC83xx=y
++S:CONFIG_TARGET_MPC8313ERDB=y
diff --git a/configs/MPC8315ERDB_defconfig b/configs/MPC8315ERDB_defconfig
new file mode 100644 (file)
index 0000000..ebebbed
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8315ERDB=y
diff --git a/configs/MPC8323ERDB_defconfig b/configs/MPC8323ERDB_defconfig
new file mode 100644 (file)
index 0000000..7c03842
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8323ERDB=y
diff --git a/configs/MPC832XEMDS_ATM_defconfig b/configs/MPC832XEMDS_ATM_defconfig
new file mode 100644 (file)
index 0000000..e1ba08d
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PQ_MDS_PIB=1,PQ_MDS_PIB_ATM=1"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC832XEMDS=y
diff --git a/configs/MPC832XEMDS_HOST_33_defconfig b/configs/MPC832XEMDS_HOST_33_defconfig
new file mode 100644 (file)
index 0000000..55df0f6
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PCI,PCI_33M,PQ_MDS_PIB=1"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC832XEMDS=y
diff --git a/configs/MPC832XEMDS_HOST_66_defconfig b/configs/MPC832XEMDS_HOST_66_defconfig
new file mode 100644 (file)
index 0000000..1ceee68
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PCI,PCI_66M,PQ_MDS_PIB=1"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC832XEMDS=y
diff --git a/configs/MPC832XEMDS_SLAVE_defconfig b/configs/MPC832XEMDS_SLAVE_defconfig
new file mode 100644 (file)
index 0000000..ef67be5
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PCI,PCISLAVE"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC832XEMDS=y
diff --git a/configs/MPC832XEMDS_defconfig b/configs/MPC832XEMDS_defconfig
new file mode 100644 (file)
index 0000000..0398472
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC832XEMDS=y
diff --git a/configs/MPC8349EMDS_defconfig b/configs/MPC8349EMDS_defconfig
new file mode 100644 (file)
index 0000000..f6af218
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8349EMDS=y
diff --git a/configs/MPC8349ITXGP_defconfig b/configs/MPC8349ITXGP_defconfig
new file mode 100644 (file)
index 0000000..f853309
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC8349ITXGP,SYS_TEXT_BASE=0xFE000000"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8349ITX=y
diff --git a/configs/MPC8349ITX_LOWBOOT_defconfig b/configs/MPC8349ITX_LOWBOOT_defconfig
new file mode 100644 (file)
index 0000000..5321801
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC8349ITX,SYS_TEXT_BASE=0xFE000000"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8349ITX=y
diff --git a/configs/MPC8349ITX_defconfig b/configs/MPC8349ITX_defconfig
new file mode 100644 (file)
index 0000000..83f25ae
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC8349ITX"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8349ITX=y
diff --git a/configs/MPC8360EMDS_33_ATM_defconfig b/configs/MPC8360EMDS_33_ATM_defconfig
new file mode 100644 (file)
index 0000000..dc325b1
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CLKIN_33MHZ,PQ_MDS_PIB=1,PQ_MDS_PIB_ATM=1"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8360EMDS=y
diff --git a/configs/MPC8360EMDS_33_HOST_33_defconfig b/configs/MPC8360EMDS_33_HOST_33_defconfig
new file mode 100644 (file)
index 0000000..fba273d
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CLKIN_33MHZ,PCI,PCI_33M,PQ_MDS_PIB=1"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8360EMDS=y
diff --git a/configs/MPC8360EMDS_33_HOST_66_defconfig b/configs/MPC8360EMDS_33_HOST_66_defconfig
new file mode 100644 (file)
index 0000000..e0cf6da
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CLKIN_33MHZ,PCI,PCI_66M,PQ_MDS_PIB=1"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8360EMDS=y
diff --git a/configs/MPC8360EMDS_33_SLAVE_defconfig b/configs/MPC8360EMDS_33_SLAVE_defconfig
new file mode 100644 (file)
index 0000000..c3f74fc
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CLKIN_33MHZ,PCI,PCISLAVE"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8360EMDS=y
diff --git a/configs/MPC8360EMDS_33_defconfig b/configs/MPC8360EMDS_33_defconfig
new file mode 100644 (file)
index 0000000..60c6ddb
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CLKIN_33MHZ"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8360EMDS=y
diff --git a/configs/MPC8360EMDS_66_ATM_defconfig b/configs/MPC8360EMDS_66_ATM_defconfig
new file mode 100644 (file)
index 0000000..16f12fb
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CLKIN_66MHZ,PQ_MDS_PIB=1,PQ_MDS_PIB_ATM=1"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8360EMDS=y
diff --git a/configs/MPC8360EMDS_66_HOST_33_defconfig b/configs/MPC8360EMDS_66_HOST_33_defconfig
new file mode 100644 (file)
index 0000000..797a584
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CLKIN_66MHZ,PCI,PCI_33M,PQ_MDS_PIB=1"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8360EMDS=y
diff --git a/configs/MPC8360EMDS_66_HOST_66_defconfig b/configs/MPC8360EMDS_66_HOST_66_defconfig
new file mode 100644 (file)
index 0000000..a887c29
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CLKIN_66MHZ,PCI,PCI_66M,PQ_MDS_PIB=1"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8360EMDS=y
diff --git a/configs/MPC8360EMDS_66_SLAVE_defconfig b/configs/MPC8360EMDS_66_SLAVE_defconfig
new file mode 100644 (file)
index 0000000..4442c61
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CLKIN_66MHZ,PCI,PCISLAVE"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8360EMDS=y
diff --git a/configs/MPC8360EMDS_66_defconfig b/configs/MPC8360EMDS_66_defconfig
new file mode 100644 (file)
index 0000000..fce95dd
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CLKIN_66MHZ"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8360EMDS=y
diff --git a/configs/MPC8360ERDK_33_defconfig b/configs/MPC8360ERDK_33_defconfig
new file mode 100644 (file)
index 0000000..91c47b7
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CLKIN_33MHZ"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8360ERDK=y
diff --git a/configs/MPC8360ERDK_defconfig b/configs/MPC8360ERDK_defconfig
new file mode 100644 (file)
index 0000000..7e9fa59
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8360ERDK=y
diff --git a/configs/MPC837XEMDS_HOST_defconfig b/configs/MPC837XEMDS_HOST_defconfig
new file mode 100644 (file)
index 0000000..d3be43a
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PCI"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC837XEMDS=y
diff --git a/configs/MPC837XEMDS_defconfig b/configs/MPC837XEMDS_defconfig
new file mode 100644 (file)
index 0000000..d3b7c1d
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC837XEMDS=y
diff --git a/configs/MPC837XERDB_defconfig b/configs/MPC837XERDB_defconfig
new file mode 100644 (file)
index 0000000..bb4411a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC837XERDB=y
diff --git a/configs/MPC8536DS_36BIT_defconfig b/configs/MPC8536DS_36BIT_defconfig
new file mode 100644 (file)
index 0000000..45dc91a
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="36BIT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_MPC8536DS=y
diff --git a/configs/MPC8536DS_SDCARD_defconfig b/configs/MPC8536DS_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..4a9f0cd
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SDCARD"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_MPC8536DS=y
diff --git a/configs/MPC8536DS_SPIFLASH_defconfig b/configs/MPC8536DS_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..2d357e8
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SPIFLASH"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_MPC8536DS=y
diff --git a/configs/MPC8536DS_defconfig b/configs/MPC8536DS_defconfig
new file mode 100644 (file)
index 0000000..62edc91
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_MPC8536DS=y
diff --git a/configs/MPC8540ADS_defconfig b/configs/MPC8540ADS_defconfig
new file mode 100644 (file)
index 0000000..41af349
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_MPC8540ADS=y
diff --git a/configs/MPC8541CDS_defconfig b/configs/MPC8541CDS_defconfig
new file mode 100644 (file)
index 0000000..bc9c246
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_MPC8541CDS=y
diff --git a/configs/MPC8541CDS_legacy_defconfig b/configs/MPC8541CDS_legacy_defconfig
new file mode 100644 (file)
index 0000000..502fbfc
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="LEGACY"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_MPC8541CDS=y
diff --git a/configs/MPC8544DS_defconfig b/configs/MPC8544DS_defconfig
new file mode 100644 (file)
index 0000000..faeaa94
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_MPC8544DS=y
diff --git a/configs/MPC8548CDS_36BIT_defconfig b/configs/MPC8548CDS_36BIT_defconfig
new file mode 100644 (file)
index 0000000..438ea85
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="36BIT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_MPC8548CDS=y
diff --git a/configs/MPC8548CDS_defconfig b/configs/MPC8548CDS_defconfig
new file mode 100644 (file)
index 0000000..ba52e94
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_MPC8548CDS=y
diff --git a/configs/MPC8548CDS_legacy_defconfig b/configs/MPC8548CDS_legacy_defconfig
new file mode 100644 (file)
index 0000000..e027b2f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="LEGACY"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_MPC8548CDS=y
diff --git a/configs/MPC8555CDS_defconfig b/configs/MPC8555CDS_defconfig
new file mode 100644 (file)
index 0000000..3bdbb0c
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_MPC8555CDS=y
diff --git a/configs/MPC8555CDS_legacy_defconfig b/configs/MPC8555CDS_legacy_defconfig
new file mode 100644 (file)
index 0000000..3040905
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="LEGACY"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_MPC8555CDS=y
diff --git a/configs/MPC8560ADS_defconfig b/configs/MPC8560ADS_defconfig
new file mode 100644 (file)
index 0000000..aa84d28
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_MPC8560ADS=y
diff --git a/configs/MPC8568MDS_defconfig b/configs/MPC8568MDS_defconfig
new file mode 100644 (file)
index 0000000..ac0ec8c
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_MPC8568MDS=y
diff --git a/configs/MPC8569MDS_ATM_defconfig b/configs/MPC8569MDS_ATM_defconfig
new file mode 100644 (file)
index 0000000..5730180
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="ATM"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_MPC8569MDS=y
diff --git a/configs/MPC8569MDS_defconfig b/configs/MPC8569MDS_defconfig
new file mode 100644 (file)
index 0000000..81fb82a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_MPC8569MDS=y
diff --git a/configs/MPC8572DS_36BIT_defconfig b/configs/MPC8572DS_36BIT_defconfig
new file mode 100644 (file)
index 0000000..9a26a59
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="36BIT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_MPC8572DS=y
diff --git a/configs/MPC8572DS_defconfig b/configs/MPC8572DS_defconfig
new file mode 100644 (file)
index 0000000..dde9eb2
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_MPC8572DS=y
diff --git a/configs/MPC8610HPCD_defconfig b/configs/MPC8610HPCD_defconfig
new file mode 100644 (file)
index 0000000..f4e8951
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC86xx=y
+CONFIG_TARGET_MPC8610HPCD=y
diff --git a/configs/MPC8641HPCN_36BIT_defconfig b/configs/MPC8641HPCN_36BIT_defconfig
new file mode 100644 (file)
index 0000000..525fa06
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PHYS_64BIT"
+CONFIG_PPC=y
+CONFIG_MPC86xx=y
+CONFIG_TARGET_MPC8641HPCN=y
diff --git a/configs/MPC8641HPCN_defconfig b/configs/MPC8641HPCN_defconfig
new file mode 100644 (file)
index 0000000..6c117d5
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC86xx=y
+CONFIG_TARGET_MPC8641HPCN=y
diff --git a/configs/MUSENKI_defconfig b/configs/MUSENKI_defconfig
new file mode 100644 (file)
index 0000000..586364c
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC824X=y
+CONFIG_TARGET_MUSENKI=y
diff --git a/configs/MVBC_P_defconfig b/configs/MVBC_P_defconfig
new file mode 100644 (file)
index 0000000..b0351fd
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MVBC_P"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_MVBC_P=y
diff --git a/configs/MVBLM7_defconfig b/configs/MVBLM7_defconfig
new file mode 100644 (file)
index 0000000..cc81b5c
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MVBLM7=y
diff --git a/configs/MVBLUE_defconfig b/configs/MVBLUE_defconfig
new file mode 100644 (file)
index 0000000..f979983
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC824X=y
+CONFIG_TARGET_MVBLUE=y
diff --git a/configs/MVSMR_defconfig b/configs/MVSMR_defconfig
new file mode 100644 (file)
index 0000000..a84c173
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_MVSMR=y
diff --git a/configs/Mele_A1000G_defconfig b/configs/Mele_A1000G_defconfig
new file mode 100644 (file)
index 0000000..2079279
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="MELE_A1000G,SPL,AXP209_POWER,SUNXI_EMAC,MACPWR=SUNXI_GPH(15),AHCI,USB_EHCI"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN4I=y
diff --git a/configs/Mele_A1000_defconfig b/configs/Mele_A1000_defconfig
new file mode 100644 (file)
index 0000000..13528ab
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="MELE_A1000,SPL,AXP209_POWER,SUNXI_EMAC,MACPWR=SUNXI_GPH(15),AHCI,USB_EHCI"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN4I=y
diff --git a/configs/MigoR_defconfig b/configs/MigoR_defconfig
new file mode 100644 (file)
index 0000000..dd79ff5
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_MIGOR=y
diff --git a/configs/Mini-X-1Gb_defconfig b/configs/Mini-X-1Gb_defconfig
new file mode 100644 (file)
index 0000000..61fa1de
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="MINI_X_1GB,SPL,AXP209_POWER,USB_EHCI"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN4I=y
diff --git a/configs/Mini-X_defconfig b/configs/Mini-X_defconfig
new file mode 100644 (file)
index 0000000..ceb02c5
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="MINI_X,SPL,AXP209_POWER,USB_EHCI"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN4I=y
diff --git a/configs/MiniFAP_defconfig b/configs/MiniFAP_defconfig
new file mode 100644 (file)
index 0000000..8eccf26
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MINIFAP"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_TQM5200=y
diff --git a/configs/NETVIA_V2_defconfig b/configs/NETVIA_V2_defconfig
new file mode 100644 (file)
index 0000000..2715910
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="NETVIA_VERSION=2"
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_NETVIA=y
diff --git a/configs/NETVIA_defconfig b/configs/NETVIA_defconfig
new file mode 100644 (file)
index 0000000..27c8f2b
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="NETVIA_VERSION=1"
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_NETVIA=y
diff --git a/configs/NSCU_defconfig b/configs/NSCU_defconfig
new file mode 100644 (file)
index 0000000..be96cbd
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_NSCU=y
diff --git a/configs/O2D300_defconfig b/configs/O2D300_defconfig
new file mode 100644 (file)
index 0000000..c63b5da
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_O2D300=y
diff --git a/configs/O2DNT2_RAMBOOT_defconfig b/configs/O2DNT2_RAMBOOT_defconfig
new file mode 100644 (file)
index 0000000..49e60ab
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x00100000"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_O2DNT2=y
diff --git a/configs/O2DNT2_defconfig b/configs/O2DNT2_defconfig
new file mode 100644 (file)
index 0000000..9df3b88
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_O2DNT2=y
diff --git a/configs/O2D_defconfig b/configs/O2D_defconfig
new file mode 100644 (file)
index 0000000..f2d3663
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_O2D=y
diff --git a/configs/O2I_defconfig b/configs/O2I_defconfig
new file mode 100644 (file)
index 0000000..84db574
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_O2I=y
diff --git a/configs/O2MNT_O2M110_defconfig b/configs/O2MNT_O2M110_defconfig
new file mode 100644 (file)
index 0000000..12428de
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="IFM_SENSOR_TYPE=\"O2M110\""
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_O2MNT=y
diff --git a/configs/O2MNT_O2M112_defconfig b/configs/O2MNT_O2M112_defconfig
new file mode 100644 (file)
index 0000000..a56329a
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="IFM_SENSOR_TYPE=\"O2M112\""
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_O2MNT=y
diff --git a/configs/O2MNT_O2M113_defconfig b/configs/O2MNT_O2M113_defconfig
new file mode 100644 (file)
index 0000000..03f54ca
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="IFM_SENSOR_TYPE=\"O2M113\""
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_O2MNT=y
diff --git a/configs/O2MNT_defconfig b/configs/O2MNT_defconfig
new file mode 100644 (file)
index 0000000..23c4dc3
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_O2MNT=y
diff --git a/configs/O3DNT_defconfig b/configs/O3DNT_defconfig
new file mode 100644 (file)
index 0000000..1f28a43
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_O3DNT=y
diff --git a/configs/OCRTC_defconfig b/configs/OCRTC_defconfig
new file mode 100644 (file)
index 0000000..f2fd0c5
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_OCRTC=y
diff --git a/configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig b/configs/P1010RDB-PA_36BIT_NAND_SECBOOT_defconfig
new file mode 100644 (file)
index 0000000..c441d9f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,NAND_SECBOOT,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PA_36BIT_NAND_defconfig b/configs/P1010RDB-PA_36BIT_NAND_defconfig
new file mode 100644 (file)
index 0000000..b13024d
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig b/configs/P1010RDB-PA_36BIT_NOR_SECBOOT_defconfig
new file mode 100644 (file)
index 0000000..197141a
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PA_36BIT_NOR_defconfig b/configs/P1010RDB-PA_36BIT_NOR_defconfig
new file mode 100644 (file)
index 0000000..8739428
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PA_36BIT_SDCARD_defconfig b/configs/P1010RDB-PA_36BIT_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..944d52f
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig b/configs/P1010RDB-PA_36BIT_SPIFLASH_SECBOOT_defconfig
new file mode 100644 (file)
index 0000000..2dae76c
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SPIFLASH,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig b/configs/P1010RDB-PA_36BIT_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..7cb82ef
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,36BIT,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PA_NAND_SECBOOT_defconfig b/configs/P1010RDB-PA_NAND_SECBOOT_defconfig
new file mode 100644 (file)
index 0000000..c3c30fa
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,NAND_SECBOOT,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PA_NAND_defconfig b/configs/P1010RDB-PA_NAND_defconfig
new file mode 100644 (file)
index 0000000..fdf0777
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PA_NOR_SECBOOT_defconfig b/configs/P1010RDB-PA_NOR_SECBOOT_defconfig
new file mode 100644 (file)
index 0000000..9769a2f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PA_NOR_defconfig b/configs/P1010RDB-PA_NOR_defconfig
new file mode 100644 (file)
index 0000000..8935503
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PA_SDCARD_defconfig b/configs/P1010RDB-PA_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..8d6ab18
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig b/configs/P1010RDB-PA_SPIFLASH_SECBOOT_defconfig
new file mode 100644 (file)
index 0000000..76499d9
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SPIFLASH,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PA_SPIFLASH_defconfig b/configs/P1010RDB-PA_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..869b1a4
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PA,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig b/configs/P1010RDB-PB_36BIT_NAND_SECBOOT_defconfig
new file mode 100644 (file)
index 0000000..be6fe06
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,NAND_SECBOOT,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PB_36BIT_NAND_defconfig b/configs/P1010RDB-PB_36BIT_NAND_defconfig
new file mode 100644 (file)
index 0000000..dd5277d
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig b/configs/P1010RDB-PB_36BIT_NOR_SECBOOT_defconfig
new file mode 100644 (file)
index 0000000..90e278d
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PB_36BIT_NOR_defconfig b/configs/P1010RDB-PB_36BIT_NOR_defconfig
new file mode 100644 (file)
index 0000000..ac23218
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PB_36BIT_SDCARD_defconfig b/configs/P1010RDB-PB_36BIT_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..f1900fe
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig b/configs/P1010RDB-PB_36BIT_SPIFLASH_SECBOOT_defconfig
new file mode 100644 (file)
index 0000000..e2a379d
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SPIFLASH,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig b/configs/P1010RDB-PB_36BIT_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..1b24dba
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,36BIT,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PB_NAND_SECBOOT_defconfig b/configs/P1010RDB-PB_NAND_SECBOOT_defconfig
new file mode 100644 (file)
index 0000000..de34914
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,NAND_SECBOOT,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PB_NAND_defconfig b/configs/P1010RDB-PB_NAND_defconfig
new file mode 100644 (file)
index 0000000..0125164
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PB_NOR_SECBOOT_defconfig b/configs/P1010RDB-PB_NOR_SECBOOT_defconfig
new file mode 100644 (file)
index 0000000..78221af
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PB_NOR_defconfig b/configs/P1010RDB-PB_NOR_defconfig
new file mode 100644 (file)
index 0000000..a2386c7
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PB_SDCARD_defconfig b/configs/P1010RDB-PB_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..dcb0847
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig b/configs/P1010RDB-PB_SPIFLASH_SECBOOT_defconfig
new file mode 100644 (file)
index 0000000..1cba920
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SPIFLASH,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1010RDB-PB_SPIFLASH_defconfig b/configs/P1010RDB-PB_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..23dc027
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1010RDB_PB,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1010RDB=y
diff --git a/configs/P1011RDB_36BIT_SDCARD_defconfig b/configs/P1011RDB_36BIT_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..7205bef
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1011RDB,36BIT,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P1011RDB_36BIT_SPIFLASH_defconfig b/configs/P1011RDB_36BIT_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..8b3806e
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1011RDB,36BIT,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P1011RDB_36BIT_defconfig b/configs/P1011RDB_36BIT_defconfig
new file mode 100644 (file)
index 0000000..c47f2e2
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1011RDB,36BIT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P1011RDB_NAND_defconfig b/configs/P1011RDB_NAND_defconfig
new file mode 100644 (file)
index 0000000..aac0190
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1011RDB,NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P1011RDB_SDCARD_defconfig b/configs/P1011RDB_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..16e872f
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1011RDB,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P1011RDB_SPIFLASH_defconfig b/configs/P1011RDB_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..d14820f
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1011RDB,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P1011RDB_defconfig b/configs/P1011RDB_defconfig
new file mode 100644 (file)
index 0000000..d14868a
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1011RDB"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P1020MBG-PC_36BIT_SDCARD_defconfig b/configs/P1020MBG-PC_36BIT_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..e2b625e
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1020MBG,SDCARD,36BIT"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1020MBG-PC_36BIT_defconfig b/configs/P1020MBG-PC_36BIT_defconfig
new file mode 100644 (file)
index 0000000..503ee0c
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1020MBG,36BIT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1020MBG-PC_SDCARD_defconfig b/configs/P1020MBG-PC_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..d34d3c8
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1020MBG,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1020MBG-PC_defconfig b/configs/P1020MBG-PC_defconfig
new file mode 100644 (file)
index 0000000..cee84ef
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1020MBG"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1020RDB-PC_36BIT_NAND_defconfig b/configs/P1020RDB-PC_36BIT_NAND_defconfig
new file mode 100644 (file)
index 0000000..c01de3a
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT,NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1020RDB-PC_36BIT_SDCARD_defconfig b/configs/P1020RDB-PC_36BIT_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..81593e1
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig b/configs/P1020RDB-PC_36BIT_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..93c0c71
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1020RDB-PC_36BIT_defconfig b/configs/P1020RDB-PC_36BIT_defconfig
new file mode 100644 (file)
index 0000000..2120a09
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,36BIT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1020RDB-PC_NAND_defconfig b/configs/P1020RDB-PC_NAND_defconfig
new file mode 100644 (file)
index 0000000..521398d
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1020RDB-PC_SDCARD_defconfig b/configs/P1020RDB-PC_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..4e3ed60
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1020RDB-PC_SPIFLASH_defconfig b/configs/P1020RDB-PC_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..d4642c4
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1020RDB-PC_defconfig b/configs/P1020RDB-PC_defconfig
new file mode 100644 (file)
index 0000000..a19a59f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PC"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1020RDB-PD_NAND_defconfig b/configs/P1020RDB-PD_NAND_defconfig
new file mode 100644 (file)
index 0000000..199b3f2
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD,NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1020RDB-PD_SDCARD_defconfig b/configs/P1020RDB-PD_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..a5edd3b
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1020RDB-PD_SPIFLASH_defconfig b/configs/P1020RDB-PD_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..789b1bd
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1020RDB-PD_defconfig b/configs/P1020RDB-PD_defconfig
new file mode 100644 (file)
index 0000000..61f7a02
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1020RDB_PD"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1020RDB_36BIT_SDCARD_defconfig b/configs/P1020RDB_36BIT_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..a18563e
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1020RDB,36BIT,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P1020RDB_36BIT_SPIFLASH_defconfig b/configs/P1020RDB_36BIT_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..aa145fc
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1020RDB,36BIT,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P1020RDB_36BIT_defconfig b/configs/P1020RDB_36BIT_defconfig
new file mode 100644 (file)
index 0000000..844651f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1020RDB,36BIT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P1020RDB_NAND_defconfig b/configs/P1020RDB_NAND_defconfig
new file mode 100644 (file)
index 0000000..441241b
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1020RDB,NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P1020RDB_SDCARD_defconfig b/configs/P1020RDB_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..1349bea
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1020RDB,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P1020RDB_SPIFLASH_defconfig b/configs/P1020RDB_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..7eb8696
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1020RDB,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P1020RDB_defconfig b/configs/P1020RDB_defconfig
new file mode 100644 (file)
index 0000000..fc58ac9
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1020RDB"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P1020UTM-PC_36BIT_SDCARD_defconfig b/configs/P1020UTM-PC_36BIT_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..7f393f4
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1020UTM,36BIT,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1020UTM-PC_36BIT_defconfig b/configs/P1020UTM-PC_36BIT_defconfig
new file mode 100644 (file)
index 0000000..6892cc2
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1020UTM,36BIT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1020UTM-PC_SDCARD_defconfig b/configs/P1020UTM-PC_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..3757de3
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1020UTM,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1020UTM-PC_defconfig b/configs/P1020UTM-PC_defconfig
new file mode 100644 (file)
index 0000000..4c28014
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1020UTM"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1021RDB-PC_36BIT_NAND_defconfig b/configs/P1021RDB-PC_36BIT_NAND_defconfig
new file mode 100644 (file)
index 0000000..285a0c4
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT,NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1021RDB-PC_36BIT_SDCARD_defconfig b/configs/P1021RDB-PC_36BIT_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..0f9b175
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig b/configs/P1021RDB-PC_36BIT_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..e2345dd
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1021RDB-PC_36BIT_defconfig b/configs/P1021RDB-PC_36BIT_defconfig
new file mode 100644 (file)
index 0000000..eae7d2d
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,36BIT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1021RDB-PC_NAND_defconfig b/configs/P1021RDB-PC_NAND_defconfig
new file mode 100644 (file)
index 0000000..da4b17d
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1021RDB-PC_SDCARD_defconfig b/configs/P1021RDB-PC_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..ec729d8
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1021RDB-PC_SPIFLASH_defconfig b/configs/P1021RDB-PC_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..98a3e23
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1021RDB,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1021RDB-PC_defconfig b/configs/P1021RDB-PC_defconfig
new file mode 100644 (file)
index 0000000..7557da2
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1021RDB"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1022DS_36BIT_NAND_defconfig b/configs/P1022DS_36BIT_NAND_defconfig
new file mode 100644 (file)
index 0000000..d482617
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="36BIT,NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_P1022DS=y
diff --git a/configs/P1022DS_36BIT_SDCARD_defconfig b/configs/P1022DS_36BIT_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..3f2a46c
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="36BIT,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1022DS=y
diff --git a/configs/P1022DS_36BIT_SPIFLASH_defconfig b/configs/P1022DS_36BIT_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..47a39ee
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="36BIT,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1022DS=y
diff --git a/configs/P1022DS_36BIT_defconfig b/configs/P1022DS_36BIT_defconfig
new file mode 100644 (file)
index 0000000..f2ff2d0
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="36BIT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1022DS=y
diff --git a/configs/P1022DS_NAND_defconfig b/configs/P1022DS_NAND_defconfig
new file mode 100644 (file)
index 0000000..071280b
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_P1022DS=y
diff --git a/configs/P1022DS_SDCARD_defconfig b/configs/P1022DS_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..47f21ea
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1022DS=y
diff --git a/configs/P1022DS_SPIFLASH_defconfig b/configs/P1022DS_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..a866f24
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1022DS=y
diff --git a/configs/P1022DS_defconfig b/configs/P1022DS_defconfig
new file mode 100644 (file)
index 0000000..d2953a4
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1022DS=y
diff --git a/configs/P1023RDB_defconfig b/configs/P1023RDB_defconfig
new file mode 100644 (file)
index 0000000..fc15e4b
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1023RDB=y
diff --git a/configs/P1024RDB_36BIT_defconfig b/configs/P1024RDB_36BIT_defconfig
new file mode 100644 (file)
index 0000000..687277f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,36BIT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1024RDB_NAND_defconfig b/configs/P1024RDB_NAND_defconfig
new file mode 100644 (file)
index 0000000..be42014
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1024RDB_SDCARD_defconfig b/configs/P1024RDB_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..88504bf
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1024RDB_SPIFLASH_defconfig b/configs/P1024RDB_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..5def942
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1024RDB,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1024RDB_defconfig b/configs/P1024RDB_defconfig
new file mode 100644 (file)
index 0000000..89e88f2
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1024RDB"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1025RDB_36BIT_defconfig b/configs/P1025RDB_36BIT_defconfig
new file mode 100644 (file)
index 0000000..6903fec
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,36BIT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1025RDB_NAND_defconfig b/configs/P1025RDB_NAND_defconfig
new file mode 100644 (file)
index 0000000..f07388a
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1025RDB_SDCARD_defconfig b/configs/P1025RDB_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..1791ec4
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1025RDB_SPIFLASH_defconfig b/configs/P1025RDB_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..774bbfe
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P1025RDB,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P1025RDB_defconfig b/configs/P1025RDB_defconfig
new file mode 100644 (file)
index 0000000..589e174
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P1025RDB"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P2010RDB_36BIT_SDCARD_defconfig b/configs/P2010RDB_36BIT_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..1381e8e
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P2010RDB,36BIT,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P2010RDB_36BIT_SPIFLASH_defconfig b/configs/P2010RDB_36BIT_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..53ebca1
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P2010RDB,36BIT,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P2010RDB_36BIT_defconfig b/configs/P2010RDB_36BIT_defconfig
new file mode 100644 (file)
index 0000000..de29dcb
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P2010RDB,36BIT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P2010RDB_NAND_defconfig b/configs/P2010RDB_NAND_defconfig
new file mode 100644 (file)
index 0000000..bc91a67
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P2010RDB,NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P2010RDB_SDCARD_defconfig b/configs/P2010RDB_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..fd4ade7
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P2010RDB,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P2010RDB_SPIFLASH_defconfig b/configs/P2010RDB_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..9631864
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P2010RDB,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P2010RDB_defconfig b/configs/P2010RDB_defconfig
new file mode 100644 (file)
index 0000000..3b3352a
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P2010RDB"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P2020COME_SDCARD_defconfig b/configs/P2020COME_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..c186fcb
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SDCARD"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P2020COME=y
diff --git a/configs/P2020COME_SPIFLASH_defconfig b/configs/P2020COME_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..17ce136
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SPIFLASH"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P2020COME=y
diff --git a/configs/P2020DS_36BIT_defconfig b/configs/P2020DS_36BIT_defconfig
new file mode 100644 (file)
index 0000000..359c446
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="36BIT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P2020DS=y
diff --git a/configs/P2020DS_DDR2_defconfig b/configs/P2020DS_DDR2_defconfig
new file mode 100644 (file)
index 0000000..00b6731
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="DDR2"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P2020DS=y
diff --git a/configs/P2020DS_SDCARD_defconfig b/configs/P2020DS_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..89aef3a
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SDCARD"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P2020DS=y
diff --git a/configs/P2020DS_SPIFLASH_defconfig b/configs/P2020DS_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..503328c
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SPIFLASH"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P2020DS=y
diff --git a/configs/P2020DS_defconfig b/configs/P2020DS_defconfig
new file mode 100644 (file)
index 0000000..f2ac6d9
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P2020DS=y
diff --git a/configs/P2020RDB-PC_36BIT_NAND_defconfig b/configs/P2020RDB-PC_36BIT_NAND_defconfig
new file mode 100644 (file)
index 0000000..cdfe13d
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT,NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P2020RDB-PC_36BIT_SDCARD_defconfig b/configs/P2020RDB-PC_36BIT_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..a98ce43
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig b/configs/P2020RDB-PC_36BIT_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..14e53ba
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P2020RDB-PC_36BIT_defconfig b/configs/P2020RDB-PC_36BIT_defconfig
new file mode 100644 (file)
index 0000000..8f0c994
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P2020RDB-PC_NAND_defconfig b/configs/P2020RDB-PC_NAND_defconfig
new file mode 100644 (file)
index 0000000..10b208a
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P2020RDB-PC_SDCARD_defconfig b/configs/P2020RDB-PC_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..6cb0e6e
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P2020RDB-PC_SPIFLASH_defconfig b/configs/P2020RDB-PC_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..769eb37
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P2020RDB-PC_defconfig b/configs/P2020RDB-PC_defconfig
new file mode 100644 (file)
index 0000000..3e46572
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P2020RDB"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB_PC=y
diff --git a/configs/P2020RDB_36BIT_SDCARD_defconfig b/configs/P2020RDB_36BIT_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..43cc2e3
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P2020RDB_36BIT_SPIFLASH_defconfig b/configs/P2020RDB_36BIT_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..f1199b6
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P2020RDB_36BIT_defconfig b/configs/P2020RDB_36BIT_defconfig
new file mode 100644 (file)
index 0000000..87490fd
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,36BIT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P2020RDB_NAND_defconfig b/configs/P2020RDB_NAND_defconfig
new file mode 100644 (file)
index 0000000..70ee084
--- /dev/null
@@ -0,0 +1,6 @@
+CONFIG_SPL=y
+CONFIG_TPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,NAND"
++ST:CONFIG_PPC=y
++ST:CONFIG_MPC85xx=y
++ST:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P2020RDB_SDCARD_defconfig b/configs/P2020RDB_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..2bf5773
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P2020RDB_SPIFLASH_defconfig b/configs/P2020RDB_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..290ebd2
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="P2020RDB,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P2020RDB_defconfig b/configs/P2020RDB_defconfig
new file mode 100644 (file)
index 0000000..cc39735
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P2020RDB"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_P2_RDB=y
diff --git a/configs/P2041RDB_NAND_defconfig b/configs/P2041RDB_NAND_defconfig
new file mode 100644 (file)
index 0000000..4a4e076
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P2041RDB=y
diff --git a/configs/P2041RDB_SDCARD_defconfig b/configs/P2041RDB_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..af06581
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P2041RDB=y
diff --git a/configs/P2041RDB_SECURE_BOOT_defconfig b/configs/P2041RDB_SECURE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..c49dcbf
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P2041RDB=y
diff --git a/configs/P2041RDB_SPIFLASH_defconfig b/configs/P2041RDB_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..ecba89a
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P2041RDB=y
diff --git a/configs/P2041RDB_SRIO_PCIE_BOOT_defconfig b/configs/P2041RDB_SRIO_PCIE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..53bd271
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P2041RDB=y
diff --git a/configs/P2041RDB_defconfig b/configs/P2041RDB_defconfig
new file mode 100644 (file)
index 0000000..802b38d
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P2041RDB=y
diff --git a/configs/P3041DS_NAND_defconfig b/configs/P3041DS_NAND_defconfig
new file mode 100644 (file)
index 0000000..5934048
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P3041DS=y
diff --git a/configs/P3041DS_SDCARD_defconfig b/configs/P3041DS_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..dacadaa
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P3041DS=y
diff --git a/configs/P3041DS_SECURE_BOOT_defconfig b/configs/P3041DS_SECURE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..9850956
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P3041DS=y
diff --git a/configs/P3041DS_SPIFLASH_defconfig b/configs/P3041DS_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..0a71926
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P3041DS=y
diff --git a/configs/P3041DS_SRIO_PCIE_BOOT_defconfig b/configs/P3041DS_SRIO_PCIE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..5c14324
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P3041DS=y
diff --git a/configs/P3041DS_defconfig b/configs/P3041DS_defconfig
new file mode 100644 (file)
index 0000000..3277650
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P3041DS=y
diff --git a/configs/P3G4_defconfig b/configs/P3G4_defconfig
new file mode 100644 (file)
index 0000000..3d219ef
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_74xx_7xx=y
+CONFIG_TARGET_P3G4=y
diff --git a/configs/P4080DS_SDCARD_defconfig b/configs/P4080DS_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..99fbbf2
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P4080DS=y
diff --git a/configs/P4080DS_SECURE_BOOT_defconfig b/configs/P4080DS_SECURE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..bae1da2
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P4080DS=y
diff --git a/configs/P4080DS_SPIFLASH_defconfig b/configs/P4080DS_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..855319d
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P4080DS=y
diff --git a/configs/P4080DS_SRIO_PCIE_BOOT_defconfig b/configs/P4080DS_SRIO_PCIE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..6240d73
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P4080DS=y
diff --git a/configs/P4080DS_defconfig b/configs/P4080DS_defconfig
new file mode 100644 (file)
index 0000000..9b5fc89
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P4080DS=y
diff --git a/configs/P5020DS_NAND_defconfig b/configs/P5020DS_NAND_defconfig
new file mode 100644 (file)
index 0000000..6fe8446
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P5020DS=y
diff --git a/configs/P5020DS_SDCARD_defconfig b/configs/P5020DS_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..e19aa6e
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P5020DS=y
diff --git a/configs/P5020DS_SECURE_BOOT_defconfig b/configs/P5020DS_SECURE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..30871d9
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P5020DS=y
diff --git a/configs/P5020DS_SPIFLASH_defconfig b/configs/P5020DS_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..dbcc056
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P5020DS=y
diff --git a/configs/P5020DS_SRIO_PCIE_BOOT_defconfig b/configs/P5020DS_SRIO_PCIE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..dc191f7
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P5020DS=y
diff --git a/configs/P5020DS_defconfig b/configs/P5020DS_defconfig
new file mode 100644 (file)
index 0000000..d1c5c72
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P5020DS=y
diff --git a/configs/P5040DS_NAND_defconfig b/configs/P5040DS_NAND_defconfig
new file mode 100644 (file)
index 0000000..de3cd06
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,NAND,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P5040DS=y
diff --git a/configs/P5040DS_SDCARD_defconfig b/configs/P5040DS_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..f0ef285
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SDCARD,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P5040DS=y
diff --git a/configs/P5040DS_SPIFLASH_defconfig b/configs/P5040DS_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..a2922f5
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P5040DS=y
diff --git a/configs/P5040DS_defconfig b/configs/P5040DS_defconfig
new file mode 100644 (file)
index 0000000..38f3d58
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P5040DS=y
diff --git a/configs/PATI_defconfig b/configs/PATI_defconfig
new file mode 100644 (file)
index 0000000..14ca871
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_5xx=y
+CONFIG_TARGET_PATI=y
diff --git a/configs/PCI405_defconfig b/configs/PCI405_defconfig
new file mode 100644 (file)
index 0000000..48f19fe
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_PCI405=y
diff --git a/configs/PCI5441_defconfig b/configs/PCI5441_defconfig
new file mode 100644 (file)
index 0000000..a4bfdb4
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_NIOS2=y
+CONFIG_TARGET_PCI5441=y
diff --git a/configs/PIP405_defconfig b/configs/PIP405_defconfig
new file mode 100644 (file)
index 0000000..38b3acb
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_PIP405=y
diff --git a/configs/PK1C20_defconfig b/configs/PK1C20_defconfig
new file mode 100644 (file)
index 0000000..bb2513a
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_NIOS2=y
+CONFIG_TARGET_PK1C20=y
diff --git a/configs/PLU405_defconfig b/configs/PLU405_defconfig
new file mode 100644 (file)
index 0000000..15477c4
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_PLU405=y
diff --git a/configs/PM520_DDR_defconfig b/configs/PM520_DDR_defconfig
new file mode 100644 (file)
index 0000000..6d6a59d
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC5200_DDR"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_PM520=y
diff --git a/configs/PM520_ROMBOOT_DDR_defconfig b/configs/PM520_ROMBOOT_DDR_defconfig
new file mode 100644 (file)
index 0000000..f5a40d9
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC5200_DDR,BOOT_ROM"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_PM520=y
diff --git a/configs/PM520_ROMBOOT_defconfig b/configs/PM520_ROMBOOT_defconfig
new file mode 100644 (file)
index 0000000..d9f9ea0
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BOOT_ROM"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_PM520=y
diff --git a/configs/PM520_defconfig b/configs/PM520_defconfig
new file mode 100644 (file)
index 0000000..2737a8c
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_PM520=y
diff --git a/configs/PM825_BIGFLASH_defconfig b/configs/PM825_BIGFLASH_defconfig
new file mode 100644 (file)
index 0000000..75efcdd
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PCI,FLASH_32MB,SYS_TEXT_BASE=0x40000000"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_PM826=y
diff --git a/configs/PM825_ROMBOOT_BIGFLASH_defconfig b/configs/PM825_ROMBOOT_BIGFLASH_defconfig
new file mode 100644 (file)
index 0000000..28ff17f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PCI,BOOT_ROM,FLASH_32MB,SYS_TEXT_BASE=0xFF800000"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_PM826=y
diff --git a/configs/PM825_ROMBOOT_defconfig b/configs/PM825_ROMBOOT_defconfig
new file mode 100644 (file)
index 0000000..f5233fa
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PCI,BOOT_ROM,SYS_TEXT_BASE=0xFF800000"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_PM826=y
diff --git a/configs/PM825_defconfig b/configs/PM825_defconfig
new file mode 100644 (file)
index 0000000..459cdba
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PCI,SYS_TEXT_BASE=0xFF000000"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_PM826=y
diff --git a/configs/PM826_BIGFLASH_defconfig b/configs/PM826_BIGFLASH_defconfig
new file mode 100644 (file)
index 0000000..0acf9d2
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="FLASH_32MB,SYS_TEXT_BASE=0x40000000"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_PM826=y
diff --git a/configs/PM826_ROMBOOT_BIGFLASH_defconfig b/configs/PM826_ROMBOOT_BIGFLASH_defconfig
new file mode 100644 (file)
index 0000000..af8d4c9
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BOOT_ROM,FLASH_32MB,SYS_TEXT_BASE=0xFF800000"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_PM826=y
diff --git a/configs/PM826_ROMBOOT_defconfig b/configs/PM826_ROMBOOT_defconfig
new file mode 100644 (file)
index 0000000..7d3e1c3
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BOOT_ROM,SYS_TEXT_BASE=0xFF800000"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_PM826=y
diff --git a/configs/PM826_defconfig b/configs/PM826_defconfig
new file mode 100644 (file)
index 0000000..b2f9d34
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xFF000000"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_PM826=y
diff --git a/configs/PM828_PCI_defconfig b/configs/PM828_PCI_defconfig
new file mode 100644 (file)
index 0000000..9b68562
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PCI"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_PM828=y
diff --git a/configs/PM828_ROMBOOT_PCI_defconfig b/configs/PM828_ROMBOOT_PCI_defconfig
new file mode 100644 (file)
index 0000000..8120058
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PCI,BOOT_ROM,SYS_TEXT_BASE=0xFF800000"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_PM828=y
diff --git a/configs/PM828_ROMBOOT_defconfig b/configs/PM828_ROMBOOT_defconfig
new file mode 100644 (file)
index 0000000..7c8980e
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="BOOT_ROM,SYS_TEXT_BASE=0xFF800000"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_PM828=y
diff --git a/configs/PM828_defconfig b/configs/PM828_defconfig
new file mode 100644 (file)
index 0000000..15887ca
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_PM828=y
diff --git a/configs/PMC405DE_defconfig b/configs/PMC405DE_defconfig
new file mode 100644 (file)
index 0000000..78c5d39
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_PMC405DE=y
diff --git a/configs/PMC405_defconfig b/configs/PMC405_defconfig
new file mode 100644 (file)
index 0000000..d82117c
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_PMC405=y
diff --git a/configs/PMC440_defconfig b/configs/PMC440_defconfig
new file mode 100644 (file)
index 0000000..27869ac
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_PMC440=y
diff --git a/configs/PPChameleonEVB_BA_25_defconfig b/configs/PPChameleonEVB_BA_25_defconfig
new file mode 100644 (file)
index 0000000..e367299
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPCHAMELEON_MODULE_MODEL=0,PPCHAMELEON_CLK_25"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_PPCHAMELEONEVB=y
diff --git a/configs/PPChameleonEVB_BA_33_defconfig b/configs/PPChameleonEVB_BA_33_defconfig
new file mode 100644 (file)
index 0000000..f4041c9
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPCHAMELEON_MODULE_MODEL=0,PPCHAMELEON_CLK_33"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_PPCHAMELEONEVB=y
diff --git a/configs/PPChameleonEVB_HI_25_defconfig b/configs/PPChameleonEVB_HI_25_defconfig
new file mode 100644 (file)
index 0000000..a9de221
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPCHAMELEON_MODULE_MODEL=2,PPCHAMELEON_CLK_25"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_PPCHAMELEONEVB=y
diff --git a/configs/PPChameleonEVB_HI_33_defconfig b/configs/PPChameleonEVB_HI_33_defconfig
new file mode 100644 (file)
index 0000000..882262b
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPCHAMELEON_MODULE_MODEL=2,PPCHAMELEON_CLK_33"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_PPCHAMELEONEVB=y
diff --git a/configs/PPChameleonEVB_ME_25_defconfig b/configs/PPChameleonEVB_ME_25_defconfig
new file mode 100644 (file)
index 0000000..f9a0440
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_25"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_PPCHAMELEONEVB=y
diff --git a/configs/PPChameleonEVB_ME_33_defconfig b/configs/PPChameleonEVB_ME_33_defconfig
new file mode 100644 (file)
index 0000000..8ee09b8
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPCHAMELEON_MODULE_MODEL=1,PPCHAMELEON_CLK_33"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_PPCHAMELEONEVB=y
diff --git a/configs/PPChameleonEVB_defconfig b/configs/PPChameleonEVB_defconfig
new file mode 100644 (file)
index 0000000..2d83330
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_PPCHAMELEONEVB=y
diff --git a/configs/R360MPI_defconfig b/configs/R360MPI_defconfig
new file mode 100644 (file)
index 0000000..290f694
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_R360MPI=y
diff --git a/configs/RRvision_LCD_defconfig b/configs/RRvision_LCD_defconfig
new file mode 100644 (file)
index 0000000..4d61187
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="LCD,SHARP_LQ104V7DS01"
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_RRVISION=y
diff --git a/configs/RRvision_defconfig b/configs/RRvision_defconfig
new file mode 100644 (file)
index 0000000..bdb4d7a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_RRVISION=y
diff --git a/configs/SM850_defconfig b/configs/SM850_defconfig
new file mode 100644 (file)
index 0000000..6a50316
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_SM850=y
diff --git a/configs/SPD823TS_defconfig b/configs/SPD823TS_defconfig
new file mode 100644 (file)
index 0000000..1b218c6
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_SPD823TS=y
diff --git a/configs/SXNI855T_defconfig b/configs/SXNI855T_defconfig
new file mode 100644 (file)
index 0000000..a4c900a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_SXNI855T=y
diff --git a/configs/Sandpoint8240_defconfig b/configs/Sandpoint8240_defconfig
new file mode 100644 (file)
index 0000000..332e4c0
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC824X=y
+CONFIG_TARGET_SANDPOINT8240=y
diff --git a/configs/Sandpoint8245_defconfig b/configs/Sandpoint8245_defconfig
new file mode 100644 (file)
index 0000000..b36757c
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC824X=y
+CONFIG_TARGET_SANDPOINT8245=y
diff --git a/configs/T1040QDS_D4_defconfig b/configs/T1040QDS_D4_defconfig
new file mode 100644 (file)
index 0000000..0684cb0
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,SYS_FSL_DDR4"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T1040QDS=y
diff --git a/configs/T1040QDS_SECURE_BOOT_defconfig b/configs/T1040QDS_SECURE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..f3f61eb
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T1040QDS=y
diff --git a/configs/T1040QDS_defconfig b/configs/T1040QDS_defconfig
new file mode 100644 (file)
index 0000000..b8e1a3d
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T1040QDS=y
diff --git a/configs/T1040RDB_NAND_defconfig b/configs/T1040RDB_NAND_defconfig
new file mode 100644 (file)
index 0000000..5fe34d8
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_T104XRDB=y
diff --git a/configs/T1040RDB_SDCARD_defconfig b/configs/T1040RDB_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..08c3730
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_T104XRDB=y
diff --git a/configs/T1040RDB_SECURE_BOOT_defconfig b/configs/T1040RDB_SECURE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..0b5ddaf
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,SECURE_BOOT,T1040RDB"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T104XRDB=y
diff --git a/configs/T1040RDB_SPIFLASH_defconfig b/configs/T1040RDB_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..1a61703
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_T104XRDB=y
diff --git a/configs/T1040RDB_defconfig b/configs/T1040RDB_defconfig
new file mode 100644 (file)
index 0000000..072eab0
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T1040,T1040RDB"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T104XRDB=y
diff --git a/configs/T1042RDB_PI_NAND_defconfig b/configs/T1042RDB_PI_NAND_defconfig
new file mode 100644 (file)
index 0000000..d1a1665
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_T104XRDB=y
diff --git a/configs/T1042RDB_PI_SDCARD_defconfig b/configs/T1042RDB_PI_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..2bf123d
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_T104XRDB=y
diff --git a/configs/T1042RDB_PI_SPIFLASH_defconfig b/configs/T1042RDB_PI_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..30d6d2d
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_T104XRDB=y
diff --git a/configs/T1042RDB_PI_defconfig b/configs/T1042RDB_PI_defconfig
new file mode 100644 (file)
index 0000000..f8f6334
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T1042,T1042RDB_PI"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T104XRDB=y
diff --git a/configs/T2080QDS_NAND_defconfig b/configs/T2080QDS_NAND_defconfig
new file mode 100644 (file)
index 0000000..b75195a
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_T208XQDS=y
diff --git a/configs/T2080QDS_SDCARD_defconfig b/configs/T2080QDS_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..6ed65dd
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_T208XQDS=y
diff --git a/configs/T2080QDS_SECURE_BOOT_defconfig b/configs/T2080QDS_SECURE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..4f7d709
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T208XQDS=y
diff --git a/configs/T2080QDS_SPIFLASH_defconfig b/configs/T2080QDS_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..a3b58d3
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_T208XQDS=y
diff --git a/configs/T2080QDS_SRIO_PCIE_BOOT_defconfig b/configs/T2080QDS_SRIO_PCIE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..1055486
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T208XQDS=y
diff --git a/configs/T2080QDS_defconfig b/configs/T2080QDS_defconfig
new file mode 100644 (file)
index 0000000..180d155
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T208XQDS=y
diff --git a/configs/T2080RDB_NAND_defconfig b/configs/T2080RDB_NAND_defconfig
new file mode 100644 (file)
index 0000000..7c48f8f
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_T208XRDB=y
diff --git a/configs/T2080RDB_SDCARD_defconfig b/configs/T2080RDB_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..31ca9a7
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_T208XRDB=y
diff --git a/configs/T2080RDB_SECURE_BOOT_defconfig b/configs/T2080RDB_SECURE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..cee5370
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T208XRDB=y
diff --git a/configs/T2080RDB_SPIFLASH_defconfig b/configs/T2080RDB_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..bdddeae
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_T208XRDB=y
diff --git a/configs/T2080RDB_SRIO_PCIE_BOOT_defconfig b/configs/T2080RDB_SRIO_PCIE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..9bdf533
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T208XRDB=y
diff --git a/configs/T2080RDB_defconfig b/configs/T2080RDB_defconfig
new file mode 100644 (file)
index 0000000..f6ade16
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T2080"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T208XRDB=y
diff --git a/configs/T2081QDS_NAND_defconfig b/configs/T2081QDS_NAND_defconfig
new file mode 100644 (file)
index 0000000..d3558c5
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_T208XQDS=y
diff --git a/configs/T2081QDS_SDCARD_defconfig b/configs/T2081QDS_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..fc13d2c
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_T208XQDS=y
diff --git a/configs/T2081QDS_SPIFLASH_defconfig b/configs/T2081QDS_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..e5ea3dc
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,RAMBOOT_PBL,SPL_FSL_PBL,SPIFLASH"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_T208XQDS=y
diff --git a/configs/T2081QDS_SRIO_PCIE_BOOT_defconfig b/configs/T2081QDS_SRIO_PCIE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..407af92
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T208XQDS=y
diff --git a/configs/T2081QDS_defconfig b/configs/T2081QDS_defconfig
new file mode 100644 (file)
index 0000000..93480a6
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T2081"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T208XQDS=y
diff --git a/configs/T4160QDS_NAND_defconfig b/configs/T4160QDS_NAND_defconfig
new file mode 100644 (file)
index 0000000..0a18424
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_T4240QDS=y
diff --git a/configs/T4160QDS_SDCARD_defconfig b/configs/T4160QDS_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..de1b2c4
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_T4240QDS=y
diff --git a/configs/T4160QDS_SECURE_BOOT_defconfig b/configs/T4160QDS_SECURE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..9fc209f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T4240QDS=y
diff --git a/configs/T4160QDS_SPIFLASH_defconfig b/configs/T4160QDS_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..6146b00
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T4240QDS=y
diff --git a/configs/T4160QDS_defconfig b/configs/T4160QDS_defconfig
new file mode 100644 (file)
index 0000000..749f445
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T4240QDS=y
diff --git a/configs/T4160RDB_defconfig b/configs/T4160RDB_defconfig
new file mode 100644 (file)
index 0000000..34bd914
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T4160"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T4240RDB=y
diff --git a/configs/T4240EMU_defconfig b/configs/T4240EMU_defconfig
new file mode 100644 (file)
index 0000000..e95151b
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T4240EMU=y
diff --git a/configs/T4240QDS_NAND_defconfig b/configs/T4240QDS_NAND_defconfig
new file mode 100644 (file)
index 0000000..65978eb
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,RAMBOOT_PBL,SPL_FSL_PBL,NAND"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_T4240QDS=y
diff --git a/configs/T4240QDS_SDCARD_defconfig b/configs/T4240QDS_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..4db1b80
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,RAMBOOT_PBL,SPL_FSL_PBL,SDCARD"
++S:CONFIG_PPC=y
++S:CONFIG_MPC85xx=y
++S:CONFIG_TARGET_T4240QDS=y
diff --git a/configs/T4240QDS_SECURE_BOOT_defconfig b/configs/T4240QDS_SECURE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..9cc7775
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,SECURE_BOOT"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T4240QDS=y
diff --git a/configs/T4240QDS_SPIFLASH_defconfig b/configs/T4240QDS_SPIFLASH_defconfig
new file mode 100644 (file)
index 0000000..14dc48a
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,RAMBOOT_PBL,SPIFLASH,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T4240QDS=y
diff --git a/configs/T4240QDS_SRIO_PCIE_BOOT_defconfig b/configs/T4240QDS_SRIO_PCIE_BOOT_defconfig
new file mode 100644 (file)
index 0000000..7c10655
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240,SRIO_PCIE_BOOT_SLAVE,SYS_TEXT_BASE=0xFFF40000"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T4240QDS=y
diff --git a/configs/T4240QDS_defconfig b/configs/T4240QDS_defconfig
new file mode 100644 (file)
index 0000000..80889e0
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T4240QDS=y
diff --git a/configs/T4240RDB_defconfig b/configs/T4240RDB_defconfig
new file mode 100644 (file)
index 0000000..37b1b55
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PPC_T4240"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_T4240RDB=y
diff --git a/configs/TASREG_defconfig b/configs/TASREG_defconfig
new file mode 100644 (file)
index 0000000..2bb0421
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_M68K=y
+CONFIG_TARGET_TASREG=y
diff --git a/configs/TB5200_B_defconfig b/configs/TB5200_B_defconfig
new file mode 100644 (file)
index 0000000..00d06c9
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="TQM5200_B"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_TB5200=y
diff --git a/configs/TB5200_defconfig b/configs/TB5200_defconfig
new file mode 100644 (file)
index 0000000..13d8e2d
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_TB5200=y
diff --git a/configs/TK885D_defconfig b/configs/TK885D_defconfig
new file mode 100644 (file)
index 0000000..01bc6dc
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_TK885D=y
diff --git a/configs/TOP5200_defconfig b/configs/TOP5200_defconfig
new file mode 100644 (file)
index 0000000..86eed7f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="TOP5200"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_TOP5200=y
diff --git a/configs/TOP860_defconfig b/configs/TOP860_defconfig
new file mode 100644 (file)
index 0000000..9fcc6f6
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_TOP860=y
diff --git a/configs/TQM5200S_HIGHBOOT_defconfig b/configs/TQM5200S_HIGHBOOT_defconfig
new file mode 100644 (file)
index 0000000..f54377e
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="TQM5200_B,TQM5200S,SYS_TEXT_BASE=0xFFF00000"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_TQM5200=y
diff --git a/configs/TQM5200S_defconfig b/configs/TQM5200S_defconfig
new file mode 100644 (file)
index 0000000..5d976ce
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="TQM5200_B,TQM5200S"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_TQM5200=y
diff --git a/configs/TQM5200_B_HIGHBOOT_defconfig b/configs/TQM5200_B_HIGHBOOT_defconfig
new file mode 100644 (file)
index 0000000..61c120a
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="TQM5200_B,SYS_TEXT_BASE=0xFFF00000"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_TQM5200=y
diff --git a/configs/TQM5200_B_defconfig b/configs/TQM5200_B_defconfig
new file mode 100644 (file)
index 0000000..ddc5d2c
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="TQM5200_B"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_TQM5200=y
diff --git a/configs/TQM5200_STK100_defconfig b/configs/TQM5200_STK100_defconfig
new file mode 100644 (file)
index 0000000..9c198c6
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="STK52XX_REV100"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_TQM5200=y
diff --git a/configs/TQM5200_defconfig b/configs/TQM5200_defconfig
new file mode 100644 (file)
index 0000000..1fe9682
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_TQM5200=y
diff --git a/configs/TQM823L_LCD_defconfig b/configs/TQM823L_LCD_defconfig
new file mode 100644 (file)
index 0000000..cacd3e2
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="LCD,NEC_NL6448BC20"
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_TQM823L=y
diff --git a/configs/TQM823L_defconfig b/configs/TQM823L_defconfig
new file mode 100644 (file)
index 0000000..5678bf2
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_TQM823L=y
diff --git a/configs/TQM823M_defconfig b/configs/TQM823M_defconfig
new file mode 100644 (file)
index 0000000..974bc91
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_TQM823M=y
diff --git a/configs/TQM8255_AA_defconfig b/configs/TQM8255_AA_defconfig
new file mode 100644 (file)
index 0000000..a9f9f01
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC8255,300MHz"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_TQM8260=y
diff --git a/configs/TQM8260_AA_defconfig b/configs/TQM8260_AA_defconfig
new file mode 100644 (file)
index 0000000..b762fe4
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC8260,200MHz"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_TQM8260=y
diff --git a/configs/TQM8260_AB_defconfig b/configs/TQM8260_AB_defconfig
new file mode 100644 (file)
index 0000000..6ff8d17
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC8260,200MHz,L2_CACHE,BUSMODE_60x"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_TQM8260=y
diff --git a/configs/TQM8260_AC_defconfig b/configs/TQM8260_AC_defconfig
new file mode 100644 (file)
index 0000000..6ff8d17
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC8260,200MHz,L2_CACHE,BUSMODE_60x"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_TQM8260=y
diff --git a/configs/TQM8260_AD_defconfig b/configs/TQM8260_AD_defconfig
new file mode 100644 (file)
index 0000000..3f406a4
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC8260,300MHz,BUSMODE_60x"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_TQM8260=y
diff --git a/configs/TQM8260_AE_defconfig b/configs/TQM8260_AE_defconfig
new file mode 100644 (file)
index 0000000..1077b19
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC8260,266MHz"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_TQM8260=y
diff --git a/configs/TQM8260_AF_defconfig b/configs/TQM8260_AF_defconfig
new file mode 100644 (file)
index 0000000..3f406a4
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC8260,300MHz,BUSMODE_60x"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_TQM8260=y
diff --git a/configs/TQM8260_AG_defconfig b/configs/TQM8260_AG_defconfig
new file mode 100644 (file)
index 0000000..b0d67fa
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC8260,300MHz"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_TQM8260=y
diff --git a/configs/TQM8260_AH_defconfig b/configs/TQM8260_AH_defconfig
new file mode 100644 (file)
index 0000000..65c73e8
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC8260,300MHz,L2_CACHE,BUSMODE_60x"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_TQM8260=y
diff --git a/configs/TQM8260_AI_defconfig b/configs/TQM8260_AI_defconfig
new file mode 100644 (file)
index 0000000..3f406a4
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC8260,300MHz,BUSMODE_60x"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_TQM8260=y
diff --git a/configs/TQM8265_AA_defconfig b/configs/TQM8265_AA_defconfig
new file mode 100644 (file)
index 0000000..d8806c4
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC8265,300MHz,BUSMODE_60x"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_TQM8260=y
diff --git a/configs/TQM8272_defconfig b/configs/TQM8272_defconfig
new file mode 100644 (file)
index 0000000..0070baf
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_TQM8272=y
diff --git a/configs/TQM834x_defconfig b/configs/TQM834x_defconfig
new file mode 100644 (file)
index 0000000..2cf89b4
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_TQM834X=y
diff --git a/configs/TQM850L_defconfig b/configs/TQM850L_defconfig
new file mode 100644 (file)
index 0000000..f3d5f4d
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_TQM850L=y
diff --git a/configs/TQM850M_defconfig b/configs/TQM850M_defconfig
new file mode 100644 (file)
index 0000000..6052ada
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_TQM850M=y
diff --git a/configs/TQM855L_defconfig b/configs/TQM855L_defconfig
new file mode 100644 (file)
index 0000000..b7d5891
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_TQM855L=y
diff --git a/configs/TQM855M_defconfig b/configs/TQM855M_defconfig
new file mode 100644 (file)
index 0000000..367a709
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_TQM855M=y
diff --git a/configs/TQM860L_defconfig b/configs/TQM860L_defconfig
new file mode 100644 (file)
index 0000000..0a215a7
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_TQM860L=y
diff --git a/configs/TQM860M_defconfig b/configs/TQM860M_defconfig
new file mode 100644 (file)
index 0000000..5c9a4f1
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_TQM860M=y
diff --git a/configs/TQM862L_defconfig b/configs/TQM862L_defconfig
new file mode 100644 (file)
index 0000000..24a290e
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_TQM862L=y
diff --git a/configs/TQM862M_defconfig b/configs/TQM862M_defconfig
new file mode 100644 (file)
index 0000000..ca8dba1
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_TQM862M=y
diff --git a/configs/TQM866M_defconfig b/configs/TQM866M_defconfig
new file mode 100644 (file)
index 0000000..bcf039a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_TQM866M=y
diff --git a/configs/TQM885D_defconfig b/configs/TQM885D_defconfig
new file mode 100644 (file)
index 0000000..6a0268a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_TQM885D=y
diff --git a/configs/TTTech_defconfig b/configs/TTTech_defconfig
new file mode 100644 (file)
index 0000000..be99da3
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="LCD,SHARP_LQ104V7DS01"
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_TQM823L=y
diff --git a/configs/TWR-P1025_defconfig b/configs/TWR-P1025_defconfig
new file mode 100644 (file)
index 0000000..95d758e
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="TWR_P1025"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_P1_TWR=y
diff --git a/configs/Total5200_Rev2_defconfig b/configs/Total5200_Rev2_defconfig
new file mode 100644 (file)
index 0000000..9f27734
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="TOTAL5200_REV=2"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_TOTAL5200=y
diff --git a/configs/Total5200_Rev2_lowboot_defconfig b/configs/Total5200_Rev2_lowboot_defconfig
new file mode 100644 (file)
index 0000000..15b27b3
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="TOTAL5200_REV=2,SYS_TEXT_BASE=0xFE000000"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_TOTAL5200=y
diff --git a/configs/Total5200_defconfig b/configs/Total5200_defconfig
new file mode 100644 (file)
index 0000000..5aaae49
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="TOTAL5200_REV=1"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_TOTAL5200=y
diff --git a/configs/Total5200_lowboot_defconfig b/configs/Total5200_lowboot_defconfig
new file mode 100644 (file)
index 0000000..4c9195e
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="TOTAL5200_REV=1,SYS_TEXT_BASE=0xFE000000"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_TOTAL5200=y
diff --git a/configs/VCMA9_defconfig b/configs/VCMA9_defconfig
new file mode 100644 (file)
index 0000000..6aa8de0
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_VCMA9=y
diff --git a/configs/VOH405_defconfig b/configs/VOH405_defconfig
new file mode 100644 (file)
index 0000000..1fbe91a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_VOH405=y
diff --git a/configs/VOM405_defconfig b/configs/VOM405_defconfig
new file mode 100644 (file)
index 0000000..b65515f
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_VOM405=y
diff --git a/configs/VoVPN-GW_66MHz_defconfig b/configs/VoVPN-GW_66MHz_defconfig
new file mode 100644 (file)
index 0000000..4eb931e
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CLKIN_66MHz"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_VOVPN_GW=y
diff --git a/configs/W7OLMC_defconfig b/configs/W7OLMC_defconfig
new file mode 100644 (file)
index 0000000..573427b
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_W7OLMC=y
diff --git a/configs/W7OLMG_defconfig b/configs/W7OLMG_defconfig
new file mode 100644 (file)
index 0000000..7410124
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_W7OLMG=y
diff --git a/configs/WUH405_defconfig b/configs/WUH405_defconfig
new file mode 100644 (file)
index 0000000..dadea20
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_WUH405=y
diff --git a/configs/ZUMA_defconfig b/configs/ZUMA_defconfig
new file mode 100644 (file)
index 0000000..536f8bb
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_74xx_7xx=y
+CONFIG_TARGET_ZUMA=y
diff --git a/configs/a320evb_defconfig b/configs/a320evb_defconfig
new file mode 100644 (file)
index 0000000..5ebf5e6
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_A320EVB=y
diff --git a/configs/a3m071_defconfig b/configs/a3m071_defconfig
new file mode 100644 (file)
index 0000000..16218c0
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
++S:CONFIG_PPC=y
++S:CONFIG_MPC5xxx=y
++S:CONFIG_TARGET_A3M071=y
diff --git a/configs/a4m072_defconfig b/configs/a4m072_defconfig
new file mode 100644 (file)
index 0000000..ddc8d3f
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_A4M072=y
diff --git a/configs/a4m2k_defconfig b/configs/a4m2k_defconfig
new file mode 100644 (file)
index 0000000..15f04f9
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="A4M2K"
++S:CONFIG_PPC=y
++S:CONFIG_MPC5xxx=y
++S:CONFIG_TARGET_A3M071=y
diff --git a/configs/ac14xx_defconfig b/configs/ac14xx_defconfig
new file mode 100644 (file)
index 0000000..3796632
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC512X=y
+CONFIG_TARGET_AC14XX=y
diff --git a/configs/acadia_defconfig b/configs/acadia_defconfig
new file mode 100644 (file)
index 0000000..26221ce
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_ACADIA=y
diff --git a/configs/adp-ag101_defconfig b/configs/adp-ag101_defconfig
new file mode 100644 (file)
index 0000000..2891154
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_NDS32=y
+CONFIG_TARGET_ADP_AG101=y
diff --git a/configs/adp-ag101p_defconfig b/configs/adp-ag101p_defconfig
new file mode 100644 (file)
index 0000000..0a7a64c
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_NDS32=y
+CONFIG_TARGET_ADP_AG101P=y
diff --git a/configs/adp-ag102_defconfig b/configs/adp-ag102_defconfig
new file mode 100644 (file)
index 0000000..03f2241
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_NDS32=y
+CONFIG_TARGET_ADP_AG102=y
diff --git a/configs/aev_defconfig b/configs/aev_defconfig
new file mode 100644 (file)
index 0000000..b2a9589
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_AEV=y
diff --git a/configs/afeb9260_defconfig b/configs/afeb9260_defconfig
new file mode 100644 (file)
index 0000000..2616d2d
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_AFEB9260=y
diff --git a/configs/alpr_defconfig b/configs/alpr_defconfig
new file mode 100644 (file)
index 0000000..9f613c8
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_ALPR=y
diff --git a/configs/alt_defconfig b/configs/alt_defconfig
new file mode 100644 (file)
index 0000000..11a1c89
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_ALT=y
diff --git a/configs/am335x_boneblack_defconfig b/configs/am335x_boneblack_defconfig
new file mode 100644 (file)
index 0000000..38450c0
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,EMMC_BOOT"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_AM335X_EVM=y
diff --git a/configs/am335x_boneblack_vboot_defconfig b/configs/am335x_boneblack_vboot_defconfig
new file mode 100644 (file)
index 0000000..00317c4
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,EMMC_BOOT,ENABLE_VBOOT"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_AM335X_EVM=y
diff --git a/configs/am335x_evm_defconfig b/configs/am335x_evm_defconfig
new file mode 100644 (file)
index 0000000..7710dc0
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NAND"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_AM335X_EVM=y
diff --git a/configs/am335x_evm_nor_defconfig b/configs/am335x_evm_nor_defconfig
new file mode 100644 (file)
index 0000000..fecec5e
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NAND,NOR"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_AM335X_EVM=y
diff --git a/configs/am335x_evm_norboot_defconfig b/configs/am335x_evm_norboot_defconfig
new file mode 100644 (file)
index 0000000..6005c22
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NOR,NOR_BOOT"
+CONFIG_ARM=y
+CONFIG_TARGET_AM335X_EVM=y
diff --git a/configs/am335x_evm_spiboot_defconfig b/configs/am335x_evm_spiboot_defconfig
new file mode 100644 (file)
index 0000000..389d1d8
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,SPI_BOOT"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_AM335X_EVM=y
diff --git a/configs/am335x_evm_uart1_defconfig b/configs/am335x_evm_uart1_defconfig
new file mode 100644 (file)
index 0000000..14e8879
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SERIAL2,CONS_INDEX=2,NAND"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_AM335X_EVM=y
diff --git a/configs/am335x_evm_uart2_defconfig b/configs/am335x_evm_uart2_defconfig
new file mode 100644 (file)
index 0000000..706ced9
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SERIAL3,CONS_INDEX=3,NAND"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_AM335X_EVM=y
diff --git a/configs/am335x_evm_uart3_defconfig b/configs/am335x_evm_uart3_defconfig
new file mode 100644 (file)
index 0000000..4706868
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SERIAL4,CONS_INDEX=4,NAND"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_AM335X_EVM=y
diff --git a/configs/am335x_evm_uart4_defconfig b/configs/am335x_evm_uart4_defconfig
new file mode 100644 (file)
index 0000000..8ab7769
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SERIAL5,CONS_INDEX=5,NAND"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_AM335X_EVM=y
diff --git a/configs/am335x_evm_uart5_defconfig b/configs/am335x_evm_uart5_defconfig
new file mode 100644 (file)
index 0000000..ea3b761
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SERIAL6,CONS_INDEX=6,NAND"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_AM335X_EVM=y
diff --git a/configs/am335x_evm_usbspl_defconfig b/configs/am335x_evm_usbspl_defconfig
new file mode 100644 (file)
index 0000000..b6b30c6
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NAND,SPL_USBETH_SUPPORT"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_AM335X_EVM=y
diff --git a/configs/am335x_igep0033_defconfig b/configs/am335x_igep0033_defconfig
new file mode 100644 (file)
index 0000000..23f0a32
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_AM335X_IGEP0033=y
diff --git a/configs/am3517_crane_defconfig b/configs/am3517_crane_defconfig
new file mode 100644 (file)
index 0000000..ec93224
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_AM3517_CRANE=y
diff --git a/configs/am3517_evm_defconfig b/configs/am3517_evm_defconfig
new file mode 100644 (file)
index 0000000..1fab6c1
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_AM3517_EVM=y
diff --git a/configs/am43xx_evm_defconfig b/configs/am43xx_evm_defconfig
new file mode 100644 (file)
index 0000000..369f2a4
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_AM43XX_EVM=y
diff --git a/configs/am43xx_evm_qspiboot_defconfig b/configs/am43xx_evm_qspiboot_defconfig
new file mode 100644 (file)
index 0000000..281a215
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,QSPI,QSPI_BOOT"
+CONFIG_ARM=y
+CONFIG_TARGET_AM43XX_EVM=y
diff --git a/configs/ap325rxa_defconfig b/configs/ap325rxa_defconfig
new file mode 100644 (file)
index 0000000..ae2039c
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_AP325RXA=y
diff --git a/configs/ap_sh4a_4a_defconfig b/configs/ap_sh4a_4a_defconfig
new file mode 100644 (file)
index 0000000..f76329b
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_AP_SH4A_4A=y
diff --git a/configs/apf27_defconfig b/configs/apf27_defconfig
new file mode 100644 (file)
index 0000000..67effa1
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_APF27=y
diff --git a/configs/apx4devkit_defconfig b/configs/apx4devkit_defconfig
new file mode 100644 (file)
index 0000000..a47d630
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_APX4DEVKIT=y
diff --git a/configs/arcangel4-be_defconfig b/configs/arcangel4-be_defconfig
new file mode 100644 (file)
index 0000000..867fb1f
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARC=y
+CONFIG_TARGET_ARCANGEL4_BE=y
diff --git a/configs/arcangel4_defconfig b/configs/arcangel4_defconfig
new file mode 100644 (file)
index 0000000..82b583e
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARC=y
+CONFIG_TARGET_ARCANGEL4=y
diff --git a/configs/arches_defconfig b/configs/arches_defconfig
new file mode 100644 (file)
index 0000000..18d0a14
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="ARCHES"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_CANYONLANDS=y
diff --git a/configs/aria_defconfig b/configs/aria_defconfig
new file mode 100644 (file)
index 0000000..f7ebfa6
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC512X=y
+CONFIG_TARGET_ARIA=y
diff --git a/configs/armadillo-800eva_defconfig b/configs/armadillo-800eva_defconfig
new file mode 100644 (file)
index 0000000..081c88a
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_ARMADILLO_800EVA=y
diff --git a/configs/arndale_defconfig b/configs/arndale_defconfig
new file mode 100644 (file)
index 0000000..7cc4307
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_ARNDALE=y
diff --git a/configs/aspenite_defconfig b/configs/aspenite_defconfig
new file mode 100644 (file)
index 0000000..0b341d6
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_ASPENITE=y
diff --git a/configs/astro_mcf5373l_defconfig b/configs/astro_mcf5373l_defconfig
new file mode 100644 (file)
index 0000000..6807aee
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_M68K=y
+CONFIG_TARGET_ASTRO_MCF5373L=y
diff --git a/configs/at91rm9200ek_defconfig b/configs/at91rm9200ek_defconfig
new file mode 100644 (file)
index 0000000..95b5c27
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_AT91RM9200EK=y
diff --git a/configs/at91rm9200ek_ram_defconfig b/configs/at91rm9200ek_ram_defconfig
new file mode 100644 (file)
index 0000000..5039ebc
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91RM9200EK=y
diff --git a/configs/at91sam9260ek_dataflash_cs0_defconfig b/configs/at91sam9260ek_dataflash_cs0_defconfig
new file mode 100644 (file)
index 0000000..7f929c8
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9260,SYS_USE_DATAFLASH_CS0"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9260EK=y
diff --git a/configs/at91sam9260ek_dataflash_cs1_defconfig b/configs/at91sam9260ek_dataflash_cs1_defconfig
new file mode 100644 (file)
index 0000000..e2c32bf
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9260,SYS_USE_DATAFLASH_CS1"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9260EK=y
diff --git a/configs/at91sam9260ek_nandflash_defconfig b/configs/at91sam9260ek_nandflash_defconfig
new file mode 100644 (file)
index 0000000..1168cac
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9260,SYS_USE_NANDFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9260EK=y
diff --git a/configs/at91sam9261ek_dataflash_cs0_defconfig b/configs/at91sam9261ek_dataflash_cs0_defconfig
new file mode 100644 (file)
index 0000000..486eeb2
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9261,SYS_USE_DATAFLASH_CS0"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9261EK=y
diff --git a/configs/at91sam9261ek_dataflash_cs3_defconfig b/configs/at91sam9261ek_dataflash_cs3_defconfig
new file mode 100644 (file)
index 0000000..5f42a90
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9261,SYS_USE_DATAFLASH_CS3"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9261EK=y
diff --git a/configs/at91sam9261ek_nandflash_defconfig b/configs/at91sam9261ek_nandflash_defconfig
new file mode 100644 (file)
index 0000000..4d7aa90
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9261,SYS_USE_NANDFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9261EK=y
diff --git a/configs/at91sam9263ek_dataflash_cs0_defconfig b/configs/at91sam9263ek_dataflash_cs0_defconfig
new file mode 100644 (file)
index 0000000..4dce54e
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_DATAFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9263EK=y
diff --git a/configs/at91sam9263ek_dataflash_defconfig b/configs/at91sam9263ek_dataflash_defconfig
new file mode 100644 (file)
index 0000000..4dce54e
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_DATAFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9263EK=y
diff --git a/configs/at91sam9263ek_nandflash_defconfig b/configs/at91sam9263ek_nandflash_defconfig
new file mode 100644 (file)
index 0000000..6f60daa
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_NANDFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9263EK=y
diff --git a/configs/at91sam9263ek_norflash_boot_defconfig b/configs/at91sam9263ek_norflash_boot_defconfig
new file mode 100644 (file)
index 0000000..944c14d
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_BOOT_NORFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9263EK=y
diff --git a/configs/at91sam9263ek_norflash_defconfig b/configs/at91sam9263ek_norflash_defconfig
new file mode 100644 (file)
index 0000000..b54ef7f
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_NORFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9263EK=y
diff --git a/configs/at91sam9g10ek_dataflash_cs0_defconfig b/configs/at91sam9g10ek_dataflash_cs0_defconfig
new file mode 100644 (file)
index 0000000..132102d
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G10,SYS_USE_DATAFLASH_CS0"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9261EK=y
diff --git a/configs/at91sam9g10ek_dataflash_cs3_defconfig b/configs/at91sam9g10ek_dataflash_cs3_defconfig
new file mode 100644 (file)
index 0000000..3dd3f9a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G10,SYS_USE_DATAFLASH_CS3"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9261EK=y
diff --git a/configs/at91sam9g10ek_nandflash_defconfig b/configs/at91sam9g10ek_nandflash_defconfig
new file mode 100644 (file)
index 0000000..a2bd6df
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G10,SYS_USE_NANDFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9261EK=y
diff --git a/configs/at91sam9g20ek_2mmc_nandflash_defconfig b/configs/at91sam9g20ek_2mmc_nandflash_defconfig
new file mode 100644 (file)
index 0000000..1a4c505
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,AT91SAM9G20EK_2MMC,SYS_USE_NANDFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9260EK=y
diff --git a/configs/at91sam9g20ek_dataflash_cs0_defconfig b/configs/at91sam9g20ek_dataflash_cs0_defconfig
new file mode 100644 (file)
index 0000000..cf35782
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,SYS_USE_DATAFLASH_CS0"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9260EK=y
diff --git a/configs/at91sam9g20ek_dataflash_cs1_defconfig b/configs/at91sam9g20ek_dataflash_cs1_defconfig
new file mode 100644 (file)
index 0000000..1377ad9
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,SYS_USE_DATAFLASH_CS1"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9260EK=y
diff --git a/configs/at91sam9g20ek_mmc_defconfig b/configs/at91sam9g20ek_mmc_defconfig
new file mode 100644 (file)
index 0000000..8cca2e5
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,SYS_USE_MMC"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9260EK=y
diff --git a/configs/at91sam9g20ek_nandflash_defconfig b/configs/at91sam9g20ek_nandflash_defconfig
new file mode 100644 (file)
index 0000000..cfe9127
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,SYS_USE_NANDFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9260EK=y
diff --git a/configs/at91sam9m10g45ek_mmc_defconfig b/configs/at91sam9m10g45ek_mmc_defconfig
new file mode 100644 (file)
index 0000000..1681bc8
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9M10G45,SYS_USE_MMC"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9M10G45EK=y
diff --git a/configs/at91sam9m10g45ek_nandflash_defconfig b/configs/at91sam9m10g45ek_nandflash_defconfig
new file mode 100644 (file)
index 0000000..61ae56e
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9M10G45,SYS_USE_NANDFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9M10G45EK=y
diff --git a/configs/at91sam9n12ek_mmc_defconfig b/configs/at91sam9n12ek_mmc_defconfig
new file mode 100644 (file)
index 0000000..71d1658
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9N12,SYS_USE_MMC"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9N12EK=y
diff --git a/configs/at91sam9n12ek_nandflash_defconfig b/configs/at91sam9n12ek_nandflash_defconfig
new file mode 100644 (file)
index 0000000..6f677b1
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9N12,SYS_USE_NANDFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9N12EK=y
diff --git a/configs/at91sam9n12ek_spiflash_defconfig b/configs/at91sam9n12ek_spiflash_defconfig
new file mode 100644 (file)
index 0000000..7e898f0
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9N12,SYS_USE_SPIFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9N12EK=y
diff --git a/configs/at91sam9rlek_dataflash_defconfig b/configs/at91sam9rlek_dataflash_defconfig
new file mode 100644 (file)
index 0000000..90516e0
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9RL,SYS_USE_DATAFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9RLEK=y
diff --git a/configs/at91sam9rlek_nandflash_defconfig b/configs/at91sam9rlek_nandflash_defconfig
new file mode 100644 (file)
index 0000000..0e2edfd
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9RL,SYS_USE_NANDFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9RLEK=y
diff --git a/configs/at91sam9x5ek_dataflash_defconfig b/configs/at91sam9x5ek_dataflash_defconfig
new file mode 100644 (file)
index 0000000..d00eed5
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9X5,SYS_USE_DATAFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9X5EK=y
diff --git a/configs/at91sam9x5ek_mmc_defconfig b/configs/at91sam9x5ek_mmc_defconfig
new file mode 100644 (file)
index 0000000..64f7af9
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9X5,SYS_USE_MMC"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9X5EK=y
diff --git a/configs/at91sam9x5ek_nandflash_defconfig b/configs/at91sam9x5ek_nandflash_defconfig
new file mode 100644 (file)
index 0000000..47cd1e0
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9X5,SYS_USE_NANDFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9X5EK=y
diff --git a/configs/at91sam9x5ek_spiflash_defconfig b/configs/at91sam9x5ek_spiflash_defconfig
new file mode 100644 (file)
index 0000000..1b7391e
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9X5,SYS_USE_SPIFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9X5EK=y
diff --git a/configs/at91sam9xeek_dataflash_cs0_defconfig b/configs/at91sam9xeek_dataflash_cs0_defconfig
new file mode 100644 (file)
index 0000000..ccbccd4
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9XE,SYS_USE_DATAFLASH_CS0"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9260EK=y
diff --git a/configs/at91sam9xeek_dataflash_cs1_defconfig b/configs/at91sam9xeek_dataflash_cs1_defconfig
new file mode 100644 (file)
index 0000000..e8f4cc3
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9XE,SYS_USE_DATAFLASH_CS1"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9260EK=y
diff --git a/configs/at91sam9xeek_nandflash_defconfig b/configs/at91sam9xeek_nandflash_defconfig
new file mode 100644 (file)
index 0000000..49c5d78
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9XE,SYS_USE_NANDFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_AT91SAM9260EK=y
diff --git a/configs/atc_defconfig b/configs/atc_defconfig
new file mode 100644 (file)
index 0000000..967be47
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_ATC=y
diff --git a/configs/atngw100_defconfig b/configs/atngw100_defconfig
new file mode 100644 (file)
index 0000000..cd79990
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_AVR32=y
+CONFIG_TARGET_ATNGW100=y
diff --git a/configs/atngw100mkii_defconfig b/configs/atngw100mkii_defconfig
new file mode 100644 (file)
index 0000000..88b1de2
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_AVR32=y
+CONFIG_TARGET_ATNGW100MKII=y
diff --git a/configs/atstk1002_defconfig b/configs/atstk1002_defconfig
new file mode 100644 (file)
index 0000000..d6e9a77
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_AVR32=y
+CONFIG_TARGET_ATSTK1002=y
diff --git a/configs/atstk1003_defconfig b/configs/atstk1003_defconfig
new file mode 100644 (file)
index 0000000..b704532
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_AVR32=y
+CONFIG_TARGET_ATSTK1003=y
diff --git a/configs/atstk1004_defconfig b/configs/atstk1004_defconfig
new file mode 100644 (file)
index 0000000..7650254
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_AVR32=y
+CONFIG_TARGET_ATSTK1004=y
diff --git a/configs/atstk1006_defconfig b/configs/atstk1006_defconfig
new file mode 100644 (file)
index 0000000..54beb0b
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_AVR32=y
+CONFIG_TARGET_ATSTK1006=y
diff --git a/configs/axm_defconfig b/configs/axm_defconfig
new file mode 100644 (file)
index 0000000..c0e8da2
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,MACH_TYPE=2068,BOARD_AXM"
+CONFIG_ARM=y
+CONFIG_TARGET_TAURUS=y
diff --git a/configs/axs101_defconfig b/configs/axs101_defconfig
new file mode 100644 (file)
index 0000000..bfa314e
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARC=y
+CONFIG_TARGET_AXS101=y
diff --git a/configs/ba10_tv_box_defconfig b/configs/ba10_tv_box_defconfig
new file mode 100644 (file)
index 0000000..02a2538
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="BA10_TV_BOX,SPL,AXP209_POWER,SUNXI_EMAC,USB_EHCI,SUNXI_USB_VBUS1_GPIO=SUNXI_GPH(12)"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN4I=y
diff --git a/configs/balloon3_defconfig b/configs/balloon3_defconfig
new file mode 100644 (file)
index 0000000..a1f4adb
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_BALLOON3=y
diff --git a/configs/bamboo_defconfig b/configs/bamboo_defconfig
new file mode 100644 (file)
index 0000000..1d66807
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_BAMBOO=y
diff --git a/configs/bcm28155_ap_defconfig b/configs/bcm28155_ap_defconfig
new file mode 100644 (file)
index 0000000..0a1c592
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_BCM28155_AP=y
diff --git a/configs/bct-brettl2_defconfig b/configs/bct-brettl2_defconfig
new file mode 100644 (file)
index 0000000..3676306
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BCT_BRETTL2=y
diff --git a/configs/beaver_defconfig b/configs/beaver_defconfig
new file mode 100644 (file)
index 0000000..0e70f25
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_BEAVER=y
diff --git a/configs/bf506f-ezkit_defconfig b/configs/bf506f-ezkit_defconfig
new file mode 100644 (file)
index 0000000..f81f412
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BF506F_EZKIT=y
diff --git a/configs/bf518f-ezbrd_defconfig b/configs/bf518f-ezbrd_defconfig
new file mode 100644 (file)
index 0000000..a93eed0
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BF518F_EZBRD=y
diff --git a/configs/bf525-ucr2_defconfig b/configs/bf525-ucr2_defconfig
new file mode 100644 (file)
index 0000000..692e006
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BF525_UCR2=y
diff --git a/configs/bf526-ezbrd_defconfig b/configs/bf526-ezbrd_defconfig
new file mode 100644 (file)
index 0000000..4a45223
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BF526_EZBRD=y
diff --git a/configs/bf527-ad7160-eval_defconfig b/configs/bf527-ad7160-eval_defconfig
new file mode 100644 (file)
index 0000000..d9db715
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BF527_AD7160_EVAL=y
diff --git a/configs/bf527-ezkit-v2_defconfig b/configs/bf527-ezkit-v2_defconfig
new file mode 100644 (file)
index 0000000..aedbb96
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="BF527_EZKIT_REV_2_1"
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BF527_EZKIT=y
diff --git a/configs/bf527-ezkit_defconfig b/configs/bf527-ezkit_defconfig
new file mode 100644 (file)
index 0000000..3ed77a6
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BF527_EZKIT=y
diff --git a/configs/bf527-sdp_defconfig b/configs/bf527-sdp_defconfig
new file mode 100644 (file)
index 0000000..0f8c28c
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BF527_SDP=y
diff --git a/configs/bf533-ezkit_defconfig b/configs/bf533-ezkit_defconfig
new file mode 100644 (file)
index 0000000..217d4c3
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BF533_EZKIT=y
diff --git a/configs/bf533-stamp_defconfig b/configs/bf533-stamp_defconfig
new file mode 100644 (file)
index 0000000..a99b3c7
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BF533_STAMP=y
diff --git a/configs/bf537-minotaur_defconfig b/configs/bf537-minotaur_defconfig
new file mode 100644 (file)
index 0000000..e76118f
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BF537_MINOTAUR=y
diff --git a/configs/bf537-pnav_defconfig b/configs/bf537-pnav_defconfig
new file mode 100644 (file)
index 0000000..ba5eaaa
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BF537_PNAV=y
diff --git a/configs/bf537-srv1_defconfig b/configs/bf537-srv1_defconfig
new file mode 100644 (file)
index 0000000..61ac0e7
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BF537_SRV1=y
diff --git a/configs/bf537-stamp_defconfig b/configs/bf537-stamp_defconfig
new file mode 100644 (file)
index 0000000..d9daf7e
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BF537_STAMP=y
diff --git a/configs/bf538f-ezkit_defconfig b/configs/bf538f-ezkit_defconfig
new file mode 100644 (file)
index 0000000..0507cb2
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BF538F_EZKIT=y
diff --git a/configs/bf548-ezkit_defconfig b/configs/bf548-ezkit_defconfig
new file mode 100644 (file)
index 0000000..7bb4064
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BF548_EZKIT=y
diff --git a/configs/bf561-acvilon_defconfig b/configs/bf561-acvilon_defconfig
new file mode 100644 (file)
index 0000000..ba8a418
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BF561_ACVILON=y
diff --git a/configs/bf561-ezkit_defconfig b/configs/bf561-ezkit_defconfig
new file mode 100644 (file)
index 0000000..7ceb1d9
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BF561_EZKIT=y
diff --git a/configs/bf609-ezkit_defconfig b/configs/bf609-ezkit_defconfig
new file mode 100644 (file)
index 0000000..2bfb6a5
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BF609_EZKIT=y
diff --git a/configs/bg0900_defconfig b/configs/bg0900_defconfig
new file mode 100644 (file)
index 0000000..b8c8352
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_BG0900=y
diff --git a/configs/blackstamp_defconfig b/configs/blackstamp_defconfig
new file mode 100644 (file)
index 0000000..d531ffc
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BLACKSTAMP=y
diff --git a/configs/blackvme_defconfig b/configs/blackvme_defconfig
new file mode 100644 (file)
index 0000000..1ec2fa9
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BLACKVME=y
diff --git a/configs/bluestone_defconfig b/configs/bluestone_defconfig
new file mode 100644 (file)
index 0000000..8f83a43
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_BLUESTONE=y
diff --git a/configs/br4_defconfig b/configs/br4_defconfig
new file mode 100644 (file)
index 0000000..9d91933
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_BR4=y
diff --git a/configs/bubinga_defconfig b/configs/bubinga_defconfig
new file mode 100644 (file)
index 0000000..65ea4d1
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_BUBINGA=y
diff --git a/configs/caddy2_defconfig b/configs/caddy2_defconfig
new file mode 100644 (file)
index 0000000..6e4a389
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CADDY2"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_VME8349=y
diff --git a/configs/calimain_defconfig b/configs/calimain_defconfig
new file mode 100644 (file)
index 0000000..a808ddf
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_CALIMAIN=y
diff --git a/configs/cam5200_defconfig b/configs/cam5200_defconfig
new file mode 100644 (file)
index 0000000..d3de17b
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CAM5200,TQM5200S,TQM5200_B"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_TQM5200=y
diff --git a/configs/cam5200_niosflash_defconfig b/configs/cam5200_niosflash_defconfig
new file mode 100644 (file)
index 0000000..a375e13
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CAM5200,TQM5200S,TQM5200_B,CAM5200_NIOSFLASH"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_TQM5200=y
diff --git a/configs/cam_enc_4xx_defconfig b/configs/cam_enc_4xx_defconfig
new file mode 100644 (file)
index 0000000..1417d83
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_CAM_ENC_4XX=y
diff --git a/configs/canmb_defconfig b/configs/canmb_defconfig
new file mode 100644 (file)
index 0000000..86ffbd2
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_CANMB=y
diff --git a/configs/canyonlands_defconfig b/configs/canyonlands_defconfig
new file mode 100644 (file)
index 0000000..09b9ab9
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CANYONLANDS"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_CANYONLANDS=y
diff --git a/configs/cardhu_defconfig b/configs/cardhu_defconfig
new file mode 100644 (file)
index 0000000..564ad5a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_CARDHU=y
diff --git a/configs/cgtqmx6qeval_defconfig b/configs/cgtqmx6qeval_defconfig
new file mode 100644 (file)
index 0000000..6699381
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/imx/ddr/mx6q_4x_mt41j128.cfg,MX6Q"
+CONFIG_ARM=y
+CONFIG_TARGET_CGTQMX6EVAL=y
diff --git a/configs/charon_defconfig b/configs/charon_defconfig
new file mode 100644 (file)
index 0000000..1dd3f5d
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_CHARON=y
diff --git a/configs/cm-bf527_defconfig b/configs/cm-bf527_defconfig
new file mode 100644 (file)
index 0000000..cb5110c
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_CM_BF527=y
diff --git a/configs/cm-bf533_defconfig b/configs/cm-bf533_defconfig
new file mode 100644 (file)
index 0000000..aa38d0e
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_CM_BF533=y
diff --git a/configs/cm-bf537e_defconfig b/configs/cm-bf537e_defconfig
new file mode 100644 (file)
index 0000000..b9deaae
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_CM_BF537E=y
diff --git a/configs/cm-bf537u_defconfig b/configs/cm-bf537u_defconfig
new file mode 100644 (file)
index 0000000..16f7ae1
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_CM_BF537U=y
diff --git a/configs/cm-bf548_defconfig b/configs/cm-bf548_defconfig
new file mode 100644 (file)
index 0000000..e60306a
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_CM_BF548=y
diff --git a/configs/cm-bf561_defconfig b/configs/cm-bf561_defconfig
new file mode 100644 (file)
index 0000000..1b9301c
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_CM_BF561=y
diff --git a/configs/cm4008_defconfig b/configs/cm4008_defconfig
new file mode 100644 (file)
index 0000000..487589d
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_CM4008=y
diff --git a/configs/cm41xx_defconfig b/configs/cm41xx_defconfig
new file mode 100644 (file)
index 0000000..15e9362
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_CM41XX=y
diff --git a/configs/cm5200_defconfig b/configs/cm5200_defconfig
new file mode 100644 (file)
index 0000000..8f5dd3c
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_CM5200=y
diff --git a/configs/cm_t335_defconfig b/configs/cm_t335_defconfig
new file mode 100644 (file)
index 0000000..5ff4f9c
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_CM_T335=y
diff --git a/configs/cm_t35_defconfig b/configs/cm_t35_defconfig
new file mode 100644 (file)
index 0000000..00b0590
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_CM_T35=y
diff --git a/configs/cm_t54_defconfig b/configs/cm_t54_defconfig
new file mode 100644 (file)
index 0000000..b48a171
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_CM_T54=y
diff --git a/configs/cmi_mpc5xx_defconfig b/configs/cmi_mpc5xx_defconfig
new file mode 100644 (file)
index 0000000..5c855b1
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_5xx=y
+CONFIG_TARGET_CMI_MPC5XX=y
diff --git a/configs/cobra5272_defconfig b/configs/cobra5272_defconfig
new file mode 100644 (file)
index 0000000..dc1552d
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_M68K=y
+CONFIG_TARGET_COBRA5272=y
diff --git a/configs/cogent_mpc8260_defconfig b/configs/cogent_mpc8260_defconfig
new file mode 100644 (file)
index 0000000..dc297f1
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_COGENT_MPC8260=y
diff --git a/configs/cogent_mpc8xx_defconfig b/configs/cogent_mpc8xx_defconfig
new file mode 100644 (file)
index 0000000..2fe7a5a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_COGENT_MPC8XX=y
diff --git a/configs/colibri_pxa270_defconfig b/configs/colibri_pxa270_defconfig
new file mode 100644 (file)
index 0000000..c8faf0b
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_COLIBRI_PXA270=y
diff --git a/configs/colibri_t20_iris_defconfig b/configs/colibri_t20_iris_defconfig
new file mode 100644 (file)
index 0000000..8ff2464
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_COLIBRI_T20_IRIS=y
diff --git a/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig b/configs/controlcenterd_36BIT_SDCARD_DEVELOP_defconfig
new file mode 100644 (file)
index 0000000..661e85c
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="36BIT,SDCARD,DEVELOP"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_CONTROLCENTERD=y
diff --git a/configs/controlcenterd_36BIT_SDCARD_defconfig b/configs/controlcenterd_36BIT_SDCARD_defconfig
new file mode 100644 (file)
index 0000000..76ab9d3
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="36BIT,SDCARD"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_CONTROLCENTERD=y
diff --git a/configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig b/configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig
new file mode 100644 (file)
index 0000000..be1a371
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="TRAILBLAZER,SPIFLASH,DEVELOP"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_CONTROLCENTERD=y
diff --git a/configs/controlcenterd_TRAILBLAZER_defconfig b/configs/controlcenterd_TRAILBLAZER_defconfig
new file mode 100644 (file)
index 0000000..ab548a6
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="TRAILBLAZER,SPIFLASH"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_CONTROLCENTERD=y
diff --git a/configs/coreboot-x86_defconfig b/configs/coreboot-x86_defconfig
new file mode 100644 (file)
index 0000000..a06c527
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x01110000"
+CONFIG_X86=y
+CONFIG_TARGET_COREBOOT=y
diff --git a/configs/corvus_defconfig b/configs/corvus_defconfig
new file mode 100644 (file)
index 0000000..3fc8edb
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9M10G45,SYS_USE_NANDFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_CORVUS=y
diff --git a/configs/cpci5200_defconfig b/configs/cpci5200_defconfig
new file mode 100644 (file)
index 0000000..bdbf4fc
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_CPCI5200=y
diff --git a/configs/cpu9260_128M_defconfig b/configs/cpu9260_128M_defconfig
new file mode 100644 (file)
index 0000000..86fc6bd
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CPU9260,CPU9260_128M"
+CONFIG_ARM=y
+CONFIG_TARGET_CPU9260=y
diff --git a/configs/cpu9260_defconfig b/configs/cpu9260_defconfig
new file mode 100644 (file)
index 0000000..10299e3
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CPU9260"
+CONFIG_ARM=y
+CONFIG_TARGET_CPU9260=y
diff --git a/configs/cpu9260_nand_128M_defconfig b/configs/cpu9260_nand_128M_defconfig
new file mode 100644 (file)
index 0000000..e582a15
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CPU9260,CPU9260_128M,NANDBOOT"
+CONFIG_ARM=y
+CONFIG_TARGET_CPU9260=y
diff --git a/configs/cpu9260_nand_defconfig b/configs/cpu9260_nand_defconfig
new file mode 100644 (file)
index 0000000..40988cd
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CPU9260,NANDBOOT"
+CONFIG_ARM=y
+CONFIG_TARGET_CPU9260=y
diff --git a/configs/cpu9G20_128M_defconfig b/configs/cpu9G20_128M_defconfig
new file mode 100644 (file)
index 0000000..4c28d25
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CPU9G20,CPU9G20_128M"
+CONFIG_ARM=y
+CONFIG_TARGET_CPU9260=y
diff --git a/configs/cpu9G20_defconfig b/configs/cpu9G20_defconfig
new file mode 100644 (file)
index 0000000..468b2c8
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CPU9G20"
+CONFIG_ARM=y
+CONFIG_TARGET_CPU9260=y
diff --git a/configs/cpu9G20_nand_128M_defconfig b/configs/cpu9G20_nand_128M_defconfig
new file mode 100644 (file)
index 0000000..a74df9d
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CPU9G20,CPU9G20_128M,NANDBOOT"
+CONFIG_ARM=y
+CONFIG_TARGET_CPU9260=y
diff --git a/configs/cpu9G20_nand_defconfig b/configs/cpu9G20_nand_defconfig
new file mode 100644 (file)
index 0000000..11cc276
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CPU9G20,NANDBOOT"
+CONFIG_ARM=y
+CONFIG_TARGET_CPU9260=y
diff --git a/configs/cpuat91_defconfig b/configs/cpuat91_defconfig
new file mode 100644 (file)
index 0000000..d25bd3a
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_CPUAT91=y
diff --git a/configs/cpuat91_ram_defconfig b/configs/cpuat91_ram_defconfig
new file mode 100644 (file)
index 0000000..f5b722d
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT"
+CONFIG_ARM=y
+CONFIG_TARGET_CPUAT91=y
diff --git a/configs/csb272_defconfig b/configs/csb272_defconfig
new file mode 100644 (file)
index 0000000..8ccd645
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_CSB272=y
diff --git a/configs/csb472_defconfig b/configs/csb472_defconfig
new file mode 100644 (file)
index 0000000..81a0cf1
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_CSB472=y
diff --git a/configs/d2net_v2_defconfig b/configs/d2net_v2_defconfig
new file mode 100644 (file)
index 0000000..e53aed7
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="D2NET_V2"
+CONFIG_ARM=y
+CONFIG_TARGET_NET2BIG_V2=y
diff --git a/configs/da830evm_defconfig b/configs/da830evm_defconfig
new file mode 100644 (file)
index 0000000..49e74c3
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_DA830EVM=y
diff --git a/configs/da850_am18xxevm_defconfig b/configs/da850_am18xxevm_defconfig
new file mode 100644 (file)
index 0000000..af419ce
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="DA850_AM18X_EVM,MAC_ADDR_IN_EEPROM,SYS_I2C_EEPROM_ADDR_LEN=2,SYS_I2C_EEPROM_ADDR=0x50"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_DA850EVM=y
diff --git a/configs/da850evm_defconfig b/configs/da850evm_defconfig
new file mode 100644 (file)
index 0000000..7517e92
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="MAC_ADDR_IN_SPIFLASH"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_DA850EVM=y
diff --git a/configs/da850evm_direct_nor_defconfig b/configs/da850evm_direct_nor_defconfig
new file mode 100644 (file)
index 0000000..edc604a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="MAC_ADDR_IN_SPIFLASH,USE_NOR,DIRECT_NOR_BOOT"
+CONFIG_ARM=y
+CONFIG_TARGET_DA850EVM=y
diff --git a/configs/dalmore_defconfig b/configs/dalmore_defconfig
new file mode 100644 (file)
index 0000000..288b238
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_DALMORE=y
diff --git a/configs/davinci_dm355evm_defconfig b/configs/davinci_dm355evm_defconfig
new file mode 100644 (file)
index 0000000..ef0b854
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_DAVINCI_DM355EVM=y
diff --git a/configs/davinci_dm355leopard_defconfig b/configs/davinci_dm355leopard_defconfig
new file mode 100644 (file)
index 0000000..22da9f3
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_DAVINCI_DM355LEOPARD=y
diff --git a/configs/davinci_dm365evm_defconfig b/configs/davinci_dm365evm_defconfig
new file mode 100644 (file)
index 0000000..dfae0b2
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_DAVINCI_DM365EVM=y
diff --git a/configs/davinci_dm6467Tevm_defconfig b/configs/davinci_dm6467Tevm_defconfig
new file mode 100644 (file)
index 0000000..e2c2de4
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="DAVINCI_DM6467TEVM,REFCLK_FREQ=33000000"
+CONFIG_ARM=y
+CONFIG_TARGET_DAVINCI_DM6467EVM=y
diff --git a/configs/davinci_dm6467evm_defconfig b/configs/davinci_dm6467evm_defconfig
new file mode 100644 (file)
index 0000000..abd3491
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="REFCLK_FREQ=27000000"
+CONFIG_ARM=y
+CONFIG_TARGET_DAVINCI_DM6467EVM=y
diff --git a/configs/davinci_dvevm_defconfig b/configs/davinci_dvevm_defconfig
new file mode 100644 (file)
index 0000000..eb53692
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_DAVINCI_DVEVM=y
diff --git a/configs/davinci_schmoogie_defconfig b/configs/davinci_schmoogie_defconfig
new file mode 100644 (file)
index 0000000..bc166ab
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_DAVINCI_SCHMOOGIE=y
diff --git a/configs/davinci_sffsdr_defconfig b/configs/davinci_sffsdr_defconfig
new file mode 100644 (file)
index 0000000..ea9cf88
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_DAVINCI_SFFSDR=y
diff --git a/configs/davinci_sonata_defconfig b/configs/davinci_sonata_defconfig
new file mode 100644 (file)
index 0000000..2c9cd4f
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_DAVINCI_SONATA=y
diff --git a/configs/dbau1000_defconfig b/configs/dbau1000_defconfig
new file mode 100644 (file)
index 0000000..7c95629
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="DBAU1000"
+CONFIG_MIPS=y
+CONFIG_TARGET_DBAU1X00=y
diff --git a/configs/dbau1100_defconfig b/configs/dbau1100_defconfig
new file mode 100644 (file)
index 0000000..506f5da
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="DBAU1100"
+CONFIG_MIPS=y
+CONFIG_TARGET_DBAU1X00=y
diff --git a/configs/dbau1500_defconfig b/configs/dbau1500_defconfig
new file mode 100644 (file)
index 0000000..5a02a78
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="DBAU1500"
+CONFIG_MIPS=y
+CONFIG_TARGET_DBAU1X00=y
diff --git a/configs/dbau1550_defconfig b/configs/dbau1550_defconfig
new file mode 100644 (file)
index 0000000..9015023
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="DBAU1550"
+CONFIG_MIPS=y
+CONFIG_TARGET_DBAU1X00=y
diff --git a/configs/dbau1550_el_defconfig b/configs/dbau1550_el_defconfig
new file mode 100644 (file)
index 0000000..53b35ce
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="DBAU1550,SYS_LITTLE_ENDIAN"
+CONFIG_MIPS=y
+CONFIG_TARGET_DBAU1X00=y
diff --git a/configs/devconcenter_defconfig b/configs/devconcenter_defconfig
new file mode 100644 (file)
index 0000000..7f82d7d
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="DEVCONCENTER"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_INTIP=y
diff --git a/configs/devkit3250_defconfig b/configs/devkit3250_defconfig
new file mode 100644 (file)
index 0000000..ba990bc
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_DEVKIT3250=y
diff --git a/configs/devkit8000_defconfig b/configs/devkit8000_defconfig
new file mode 100644 (file)
index 0000000..7c5d222
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_DEVKIT8000=y
diff --git a/configs/dig297_defconfig b/configs/dig297_defconfig
new file mode 100644 (file)
index 0000000..9309ac2
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_DIG297=y
diff --git a/configs/digsy_mtc_RAMBOOT_defconfig b/configs/digsy_mtc_RAMBOOT_defconfig
new file mode 100644 (file)
index 0000000..a1e765b
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x00100000"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_DIGSY_MTC=y
diff --git a/configs/digsy_mtc_defconfig b/configs/digsy_mtc_defconfig
new file mode 100644 (file)
index 0000000..666c5c8
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_DIGSY_MTC=y
diff --git a/configs/digsy_mtc_rev5_RAMBOOT_defconfig b/configs/digsy_mtc_rev5_RAMBOOT_defconfig
new file mode 100644 (file)
index 0000000..d356174
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x00100000,DIGSY_REV5"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_DIGSY_MTC=y
diff --git a/configs/digsy_mtc_rev5_defconfig b/configs/digsy_mtc_rev5_defconfig
new file mode 100644 (file)
index 0000000..f66f86f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="DIGSY_REV5"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_DIGSY_MTC=y
diff --git a/configs/dkb_defconfig b/configs/dkb_defconfig
new file mode 100644 (file)
index 0000000..0be9578
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_DKB=y
diff --git a/configs/dlvision-10g_defconfig b/configs/dlvision-10g_defconfig
new file mode 100644 (file)
index 0000000..1d2a571
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_DLVISION_10G=y
diff --git a/configs/dlvision_defconfig b/configs/dlvision_defconfig
new file mode 100644 (file)
index 0000000..c0317dc
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_DLVISION=y
diff --git a/configs/dnp5370_defconfig b/configs/dnp5370_defconfig
new file mode 100644 (file)
index 0000000..0c00087
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_DNP5370=y
diff --git a/configs/dns325_defconfig b/configs/dns325_defconfig
new file mode 100644 (file)
index 0000000..6a18d2a
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_DNS325=y
diff --git a/configs/dockstar_defconfig b/configs/dockstar_defconfig
new file mode 100644 (file)
index 0000000..528669e
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_DOCKSTAR=y
diff --git a/configs/dra7xx_evm_defconfig b/configs/dra7xx_evm_defconfig
new file mode 100644 (file)
index 0000000..82cffd7
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=1"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_DRA7XX_EVM=y
diff --git a/configs/dra7xx_evm_qspiboot_defconfig b/configs/dra7xx_evm_qspiboot_defconfig
new file mode 100644 (file)
index 0000000..be09f40
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=1,QSPI_BOOT"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_DRA7XX_EVM=y
diff --git a/configs/dra7xx_evm_uart3_defconfig b/configs/dra7xx_evm_uart3_defconfig
new file mode 100644 (file)
index 0000000..e0d1e45
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="CONS_INDEX=3,SPL_YMODEM_SUPPORT"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_DRA7XX_EVM=y
diff --git a/configs/draco_defconfig b/configs/draco_defconfig
new file mode 100644 (file)
index 0000000..18def0b
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_DRACO=y
diff --git a/configs/dreamplug_defconfig b/configs/dreamplug_defconfig
new file mode 100644 (file)
index 0000000..49de210
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_DREAMPLUG=y
diff --git a/configs/duovero_defconfig b/configs/duovero_defconfig
new file mode 100644 (file)
index 0000000..b56092a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_DUOVERO=y
diff --git a/configs/dxr2_defconfig b/configs/dxr2_defconfig
new file mode 100644 (file)
index 0000000..15f1181
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_DXR2=y
diff --git a/configs/eXalion_defconfig b/configs/eXalion_defconfig
new file mode 100644 (file)
index 0000000..9d7e090
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC824X=y
+CONFIG_TARGET_EXALION=y
diff --git a/configs/ea20_defconfig b/configs/ea20_defconfig
new file mode 100644 (file)
index 0000000..562849d
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_EA20=y
diff --git a/configs/eb_cpu5282_defconfig b/configs/eb_cpu5282_defconfig
new file mode 100644 (file)
index 0000000..f69aa53
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xFF000000,SYS_MONITOR_BASE=0xFF000400"
+CONFIG_M68K=y
+CONFIG_TARGET_EB_CPU5282=y
diff --git a/configs/eb_cpu5282_internal_defconfig b/configs/eb_cpu5282_internal_defconfig
new file mode 100644 (file)
index 0000000..b590f25
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xF0000000,SYS_MONITOR_BASE=0xF0000418"
+CONFIG_M68K=y
+CONFIG_TARGET_EB_CPU5282=y
diff --git a/configs/eb_cpux9k2_defconfig b/configs/eb_cpux9k2_defconfig
new file mode 100644 (file)
index 0000000..5f0ab44
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_EB_CPUX9K2=y
diff --git a/configs/eb_cpux9k2_ram_defconfig b/configs/eb_cpux9k2_ram_defconfig
new file mode 100644 (file)
index 0000000..c6e8b71
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAMBOOT"
+CONFIG_ARM=y
+CONFIG_TARGET_EB_CPUX9K2=y
diff --git a/configs/ebony_defconfig b/configs/ebony_defconfig
new file mode 100644 (file)
index 0000000..db93555
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_EBONY=y
diff --git a/configs/eco5pk_defconfig b/configs/eco5pk_defconfig
new file mode 100644 (file)
index 0000000..79f3d5a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_ECO5PK=y
diff --git a/configs/ecovec_defconfig b/configs/ecovec_defconfig
new file mode 100644 (file)
index 0000000..57771e4
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_ECOVEC=y
diff --git a/configs/edb9315a_defconfig b/configs/edb9315a_defconfig
new file mode 100644 (file)
index 0000000..e92daf6
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="MK_edb9315a"
+CONFIG_ARM=y
+CONFIG_TARGET_EDB93XX=y
diff --git a/configs/edminiv2_defconfig b/configs/edminiv2_defconfig
new file mode 100644 (file)
index 0000000..82aa684
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_EDMINIV2=y
diff --git a/configs/enbw_cmc_defconfig b/configs/enbw_cmc_defconfig
new file mode 100644 (file)
index 0000000..7fe405a
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_ENBW_CMC=y
diff --git a/configs/ep8260_defconfig b/configs/ep8260_defconfig
new file mode 100644 (file)
index 0000000..1cce900
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_EP8260=y
diff --git a/configs/ep82xxm_defconfig b/configs/ep82xxm_defconfig
new file mode 100644 (file)
index 0000000..0842d2d
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_EP82XXM=y
diff --git a/configs/espt_defconfig b/configs/espt_defconfig
new file mode 100644 (file)
index 0000000..a50781d
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_ESPT=y
diff --git a/configs/ethernut5_defconfig b/configs/ethernut5_defconfig
new file mode 100644 (file)
index 0000000..5be495c
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9XE"
+CONFIG_ARM=y
+CONFIG_TARGET_ETHERNUT5=y
diff --git a/configs/favr-32-ezkit_defconfig b/configs/favr-32-ezkit_defconfig
new file mode 100644 (file)
index 0000000..941e028
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_AVR32=y
+CONFIG_TARGET_FAVR_32_EZKIT=y
diff --git a/configs/flea3_defconfig b/configs/flea3_defconfig
new file mode 100644 (file)
index 0000000..ac112cd
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_FLEA3=y
diff --git a/configs/fo300_defconfig b/configs/fo300_defconfig
new file mode 100644 (file)
index 0000000..6492b4b
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="FO300"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_TQM5200=y
diff --git a/configs/fx12mm_defconfig b/configs/fx12mm_defconfig
new file mode 100644 (file)
index 0000000..9900a54
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x04100000,INIT_TLB=board/xilinx/ppc405-generic/init.o"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_FX12MM=y
diff --git a/configs/fx12mm_flash_defconfig b/configs/fx12mm_flash_defconfig
new file mode 100644 (file)
index 0000000..5a0587f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFFFC,INIT_TLB=board/xilinx/ppc405-generic/init.o"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_FX12MM=y
diff --git a/configs/galaxy5200_LOWBOOT_defconfig b/configs/galaxy5200_LOWBOOT_defconfig
new file mode 100644 (file)
index 0000000..4f193f5
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="galaxy5200_LOWBOOT"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_GALAXY5200=y
diff --git a/configs/galaxy5200_defconfig b/configs/galaxy5200_defconfig
new file mode 100644 (file)
index 0000000..0fdf643
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="galaxy5200"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_GALAXY5200=y
diff --git a/configs/gdppc440etx_defconfig b/configs/gdppc440etx_defconfig
new file mode 100644 (file)
index 0000000..1097b9c
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_GDPPC440ETX=y
diff --git a/configs/glacier_defconfig b/configs/glacier_defconfig
new file mode 100644 (file)
index 0000000..2a66bfb
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="GLACIER"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_CANYONLANDS=y
diff --git a/configs/goflexhome_defconfig b/configs/goflexhome_defconfig
new file mode 100644 (file)
index 0000000..10fde53
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_GOFLEXHOME=y
diff --git a/configs/gplugd_defconfig b/configs/gplugd_defconfig
new file mode 100644 (file)
index 0000000..ec8f45c
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_GPLUGD=y
diff --git a/configs/gr_cpci_ax2000_defconfig b/configs/gr_cpci_ax2000_defconfig
new file mode 100644 (file)
index 0000000..6eb02ad
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SPARC=y
+CONFIG_TARGET_GR_CPCI_AX2000=y
diff --git a/configs/gr_ep2s60_defconfig b/configs/gr_ep2s60_defconfig
new file mode 100644 (file)
index 0000000..6e1eb83
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SPARC=y
+CONFIG_TARGET_GR_EP2S60=y
diff --git a/configs/gr_xc3s_1500_defconfig b/configs/gr_xc3s_1500_defconfig
new file mode 100644 (file)
index 0000000..da846db
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SPARC=y
+CONFIG_TARGET_GR_XC3S_1500=y
diff --git a/configs/grasshopper_defconfig b/configs/grasshopper_defconfig
new file mode 100644 (file)
index 0000000..72013e7
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_AVR32=y
+CONFIG_TARGET_GRASSHOPPER=y
diff --git a/configs/grsim_defconfig b/configs/grsim_defconfig
new file mode 100644 (file)
index 0000000..2a7e8e7
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SPARC=y
+CONFIG_TARGET_GRSIM=y
diff --git a/configs/grsim_leon2_defconfig b/configs/grsim_leon2_defconfig
new file mode 100644 (file)
index 0000000..e91eb96
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SPARC=y
+CONFIG_TARGET_GRSIM_LEON2=y
diff --git a/configs/guruplug_defconfig b/configs/guruplug_defconfig
new file mode 100644 (file)
index 0000000..f5be577
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_GURUPLUG=y
diff --git a/configs/gw8260_defconfig b/configs/gw8260_defconfig
new file mode 100644 (file)
index 0000000..a59ec3a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_GW8260=y
diff --git a/configs/gwventana_defconfig b/configs/gwventana_defconfig
new file mode 100644 (file)
index 0000000..11aaab5
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/gateworks/gw_ventana/gw_ventana.cfg,MX6QDL,SPL"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_GW_VENTANA=y
diff --git a/configs/h2200_defconfig b/configs/h2200_defconfig
new file mode 100644 (file)
index 0000000..7040c09
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_H2200=y
diff --git a/configs/haleakala_defconfig b/configs/haleakala_defconfig
new file mode 100644 (file)
index 0000000..7e63116
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="HALEAKALA"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_KILAUEA=y
diff --git a/configs/hammerhead_defconfig b/configs/hammerhead_defconfig
new file mode 100644 (file)
index 0000000..0d69cc6
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_AVR32=y
+CONFIG_TARGET_HAMMERHEAD=y
diff --git a/configs/harmony_defconfig b/configs/harmony_defconfig
new file mode 100644 (file)
index 0000000..d25ea5c
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_HARMONY=y
diff --git a/configs/hawkboard_defconfig b/configs/hawkboard_defconfig
new file mode 100644 (file)
index 0000000..9945fe5
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_HAWKBOARD=y
diff --git a/configs/hawkboard_uart_defconfig b/configs/hawkboard_uart_defconfig
new file mode 100644 (file)
index 0000000..b4db291
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="UART_U_BOOT"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_HAWKBOARD=y
diff --git a/configs/hermes_defconfig b/configs/hermes_defconfig
new file mode 100644 (file)
index 0000000..a923a61
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_HERMES=y
diff --git a/configs/highbank_defconfig b/configs/highbank_defconfig
new file mode 100644 (file)
index 0000000..23fd52d
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_HIGHBANK=y
diff --git a/configs/hmi1001_defconfig b/configs/hmi1001_defconfig
new file mode 100644 (file)
index 0000000..a351dbe
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_HMI1001=y
diff --git a/configs/hummingboard_solo_defconfig b/configs/hummingboard_solo_defconfig
new file mode 100644 (file)
index 0000000..600fa00
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/solidrun/hummingboard/solo.cfg,MX6S,DDR_MB=512"
+CONFIG_ARM=y
+CONFIG_TARGET_HUMMINGBOARD=y
diff --git a/configs/hymod_defconfig b/configs/hymod_defconfig
new file mode 100644 (file)
index 0000000..a6dc1d8
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_HYMOD=y
diff --git a/configs/i12-tvbox_defconfig b/configs/i12-tvbox_defconfig
new file mode 100644 (file)
index 0000000..ff86841
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="I12_TVBOX,SPL,AXP209_POWER,SUNXI_GMAC,MACPWR=SUNXI_GPH(21),USB_EHCI"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN7I=y
diff --git a/configs/ib62x0_defconfig b/configs/ib62x0_defconfig
new file mode 100644 (file)
index 0000000..d92217e
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_IB62X0=y
diff --git a/configs/ibf-dsp561_defconfig b/configs/ibf-dsp561_defconfig
new file mode 100644 (file)
index 0000000..41a5c65
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_IBF_DSP561=y
diff --git a/configs/icecube_5200_DDR_LOWBOOT08_defconfig b/configs/icecube_5200_DDR_LOWBOOT08_defconfig
new file mode 100644 (file)
index 0000000..79f8598
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xFF800000,MPC5200_DDR"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_ICECUBE=y
diff --git a/configs/icecube_5200_DDR_LOWBOOT_defconfig b/configs/icecube_5200_DDR_LOWBOOT_defconfig
new file mode 100644 (file)
index 0000000..79f8598
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xFF800000,MPC5200_DDR"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_ICECUBE=y
diff --git a/configs/icecube_5200_DDR_defconfig b/configs/icecube_5200_DDR_defconfig
new file mode 100644 (file)
index 0000000..19d9637
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC5200_DDR"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_ICECUBE=y
diff --git a/configs/icecube_5200_LOWBOOT08_defconfig b/configs/icecube_5200_LOWBOOT08_defconfig
new file mode 100644 (file)
index 0000000..9f0cbd8
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xFF800000"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_ICECUBE=y
diff --git a/configs/icecube_5200_LOWBOOT_defconfig b/configs/icecube_5200_LOWBOOT_defconfig
new file mode 100644 (file)
index 0000000..ff1552f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xFF000000"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_ICECUBE=y
diff --git a/configs/icecube_5200_defconfig b/configs/icecube_5200_defconfig
new file mode 100644 (file)
index 0000000..49fdb3b
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_ICECUBE=y
diff --git a/configs/icon_defconfig b/configs/icon_defconfig
new file mode 100644 (file)
index 0000000..771a093
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_ICON=y
diff --git a/configs/iconnect_defconfig b/configs/iconnect_defconfig
new file mode 100644 (file)
index 0000000..ab83fa6
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_ICONNECT=y
diff --git a/configs/ids8313_defconfig b/configs/ids8313_defconfig
new file mode 100644 (file)
index 0000000..1c665aa
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xFFF00000"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_IDS8313=y
diff --git a/configs/igep0020_defconfig b/configs/igep0020_defconfig
new file mode 100644 (file)
index 0000000..e99f773
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0020,BOOT_ONENAND"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_OMAP3_IGEP00X0=y
diff --git a/configs/igep0020_nand_defconfig b/configs/igep0020_nand_defconfig
new file mode 100644 (file)
index 0000000..baa4a0a
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0020,BOOT_NAND"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_OMAP3_IGEP00X0=y
diff --git a/configs/igep0030_defconfig b/configs/igep0030_defconfig
new file mode 100644 (file)
index 0000000..5f404eb
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0030,BOOT_ONENAND"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_OMAP3_IGEP00X0=y
diff --git a/configs/igep0030_nand_defconfig b/configs/igep0030_nand_defconfig
new file mode 100644 (file)
index 0000000..a43dfec
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0030,BOOT_NAND"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_OMAP3_IGEP00X0=y
diff --git a/configs/igep0032_defconfig b/configs/igep0032_defconfig
new file mode 100644 (file)
index 0000000..c0d019c
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_IGEP0032,BOOT_ONENAND"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_OMAP3_IGEP00X0=y
diff --git a/configs/ima3-mx53_defconfig b/configs/ima3-mx53_defconfig
new file mode 100644 (file)
index 0000000..c7a9f68
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/esg/ima3-mx53/imximage.cfg"
+CONFIG_ARM=y
+CONFIG_TARGET_IMA3_MX53=y
diff --git a/configs/imx27lite_defconfig b/configs/imx27lite_defconfig
new file mode 100644 (file)
index 0000000..03803c6
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_IMX27LITE=y
diff --git a/configs/imx31_litekit_defconfig b/configs/imx31_litekit_defconfig
new file mode 100644 (file)
index 0000000..cd41c0e
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_IMX31_LITEKIT=y
diff --git a/configs/imx31_phycore_defconfig b/configs/imx31_phycore_defconfig
new file mode 100644 (file)
index 0000000..563de57
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_IMX31_PHYCORE=y
diff --git a/configs/imx31_phycore_eet_defconfig b/configs/imx31_phycore_eet_defconfig
new file mode 100644 (file)
index 0000000..9531952
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX31_PHYCORE_EET"
+CONFIG_ARM=y
+CONFIG_TARGET_IMX31_PHYCORE=y
diff --git a/configs/inetspace_v2_defconfig b/configs/inetspace_v2_defconfig
new file mode 100644 (file)
index 0000000..26d9932
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="INETSPACE_V2"
+CONFIG_ARM=y
+CONFIG_TARGET_NETSPACE_V2=y
diff --git a/configs/inka4x0_defconfig b/configs/inka4x0_defconfig
new file mode 100644 (file)
index 0000000..6581b0a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_INKA4X0=y
diff --git a/configs/integratorap_cm720t_defconfig b/configs/integratorap_cm720t_defconfig
new file mode 100644 (file)
index 0000000..0bb7b08
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CM720T"
+CONFIG_ARM=y
+CONFIG_TARGET_INTEGRATORAP_CM720T=y
diff --git a/configs/integratorap_cm920t_defconfig b/configs/integratorap_cm920t_defconfig
new file mode 100644 (file)
index 0000000..fb925d5
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CM920T"
+CONFIG_ARM=y
+CONFIG_TARGET_INTEGRATORAP_CM920T=y
diff --git a/configs/integratorap_cm926ejs_defconfig b/configs/integratorap_cm926ejs_defconfig
new file mode 100644 (file)
index 0000000..308a1e6
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CM926EJ_S"
+CONFIG_ARM=y
+CONFIG_TARGET_INTEGRATORAP_CM926EJS=y
diff --git a/configs/integratorap_cm946es_defconfig b/configs/integratorap_cm946es_defconfig
new file mode 100644 (file)
index 0000000..d1b9db5
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CM946ES"
+CONFIG_ARM=y
+CONFIG_TARGET_INTEGRATORAP_CM946ES=y
diff --git a/configs/integratorcp_cm1136_defconfig b/configs/integratorcp_cm1136_defconfig
new file mode 100644 (file)
index 0000000..3feb656
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CM1136"
+CONFIG_ARM=y
+CONFIG_TARGET_INTEGRATORCP_CM1136=y
diff --git a/configs/integratorcp_cm920t_defconfig b/configs/integratorcp_cm920t_defconfig
new file mode 100644 (file)
index 0000000..f304bbe
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CM920T"
+CONFIG_ARM=y
+CONFIG_TARGET_INTEGRATORCP_CM920T=y
diff --git a/configs/integratorcp_cm926ejs_defconfig b/configs/integratorcp_cm926ejs_defconfig
new file mode 100644 (file)
index 0000000..a8d762b
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CM924EJ_S"
+CONFIG_ARM=y
+CONFIG_TARGET_INTEGRATORCP_CM926EJS=y
diff --git a/configs/integratorcp_cm946es_defconfig b/configs/integratorcp_cm946es_defconfig
new file mode 100644 (file)
index 0000000..2e67dbc
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="CM946ES"
+CONFIG_ARM=y
+CONFIG_TARGET_INTEGRATORCP_CM946ES=y
diff --git a/configs/intip_defconfig b/configs/intip_defconfig
new file mode 100644 (file)
index 0000000..d6af774
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="INTIB"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_INTIP=y
diff --git a/configs/io64_defconfig b/configs/io64_defconfig
new file mode 100644 (file)
index 0000000..1111e54
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_IO64=y
diff --git a/configs/io_defconfig b/configs/io_defconfig
new file mode 100644 (file)
index 0000000..959af75
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_IO=y
diff --git a/configs/iocon_defconfig b/configs/iocon_defconfig
new file mode 100644 (file)
index 0000000..6dc8887
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_IOCON=y
diff --git a/configs/ip04_defconfig b/configs/ip04_defconfig
new file mode 100644 (file)
index 0000000..4f9895a
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_IP04=y
diff --git a/configs/ipam390_defconfig b/configs/ipam390_defconfig
new file mode 100644 (file)
index 0000000..6e95951
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_IPAM390=y
diff --git a/configs/ipek01_defconfig b/configs/ipek01_defconfig
new file mode 100644 (file)
index 0000000..83cf557
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_IPEK01=y
diff --git a/configs/jadecpu_defconfig b/configs/jadecpu_defconfig
new file mode 100644 (file)
index 0000000..4348e0e
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_JADECPU=y
diff --git a/configs/jetson-tk1_defconfig b/configs/jetson-tk1_defconfig
new file mode 100644 (file)
index 0000000..9ce97c9
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="BOARD_JETSON_TK1="
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_JETSON_TK1=y
diff --git a/configs/jornada_defconfig b/configs/jornada_defconfig
new file mode 100644 (file)
index 0000000..ad1c338
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_JORNADA=y
diff --git a/configs/jupiter_defconfig b/configs/jupiter_defconfig
new file mode 100644 (file)
index 0000000..dac4f1a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_JUPITER=y
diff --git a/configs/k2e_evm_defconfig b/configs/k2e_evm_defconfig
new file mode 100644 (file)
index 0000000..c210ad5
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_K2E_EVM=y
diff --git a/configs/k2hk_evm_defconfig b/configs/k2hk_evm_defconfig
new file mode 100644 (file)
index 0000000..caa763a
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_K2HK_EVM=y
diff --git a/configs/katmai_defconfig b/configs/katmai_defconfig
new file mode 100644 (file)
index 0000000..8492314
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_KATMAI=y
diff --git a/configs/kilauea_defconfig b/configs/kilauea_defconfig
new file mode 100644 (file)
index 0000000..28021d9
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="KILAUEA"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_KILAUEA=y
diff --git a/configs/km_kirkwood_128m16_defconfig b/configs/km_kirkwood_128m16_defconfig
new file mode 100644 (file)
index 0000000..c51fbf3
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="KM_KIRKWOOD_128M16"
+CONFIG_ARM=y
+CONFIG_TARGET_KM_KIRKWOOD=y
diff --git a/configs/km_kirkwood_defconfig b/configs/km_kirkwood_defconfig
new file mode 100644 (file)
index 0000000..4f554f7
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="KM_KIRKWOOD"
+CONFIG_ARM=y
+CONFIG_TARGET_KM_KIRKWOOD=y
diff --git a/configs/km_kirkwood_pci_defconfig b/configs/km_kirkwood_pci_defconfig
new file mode 100644 (file)
index 0000000..abb42c9
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="KM_KIRKWOOD_PCI"
+CONFIG_ARM=y
+CONFIG_TARGET_KM_KIRKWOOD=y
diff --git a/configs/kmcoge4_defconfig b/configs/kmcoge4_defconfig
new file mode 100644 (file)
index 0000000..22a005c
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="KMCOGE4"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_KMP204X=y
diff --git a/configs/kmcoge5ne_defconfig b/configs/kmcoge5ne_defconfig
new file mode 100644 (file)
index 0000000..80c1f75
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="KMCOGE5NE"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_KM8360=y
diff --git a/configs/kmcoge5un_defconfig b/configs/kmcoge5un_defconfig
new file mode 100644 (file)
index 0000000..0378277
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="KM_COGE5UN"
+CONFIG_ARM=y
+CONFIG_TARGET_KM_KIRKWOOD=y
diff --git a/configs/kmeter1_defconfig b/configs/kmeter1_defconfig
new file mode 100644 (file)
index 0000000..f87e347
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="KMETER1"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_KM8360=y
diff --git a/configs/kmlion1_defconfig b/configs/kmlion1_defconfig
new file mode 100644 (file)
index 0000000..82c1924
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="KMLION1"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_KMP204X=y
diff --git a/configs/kmnusa_defconfig b/configs/kmnusa_defconfig
new file mode 100644 (file)
index 0000000..46ddbcd
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="KM_NUSA"
+CONFIG_ARM=y
+CONFIG_TARGET_KM_KIRKWOOD=y
diff --git a/configs/kmopti2_defconfig b/configs/kmopti2_defconfig
new file mode 100644 (file)
index 0000000..8195184
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="KMOPTI2"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_TUXX1=y
diff --git a/configs/kmsugp1_defconfig b/configs/kmsugp1_defconfig
new file mode 100644 (file)
index 0000000..183b365
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="KM_SUGP1"
+CONFIG_ARM=y
+CONFIG_TARGET_KM_KIRKWOOD=y
diff --git a/configs/kmsupx5_defconfig b/configs/kmsupx5_defconfig
new file mode 100644 (file)
index 0000000..99a9a9b
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="KMSUPX5"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_TUXX1=y
diff --git a/configs/kmsuv31_defconfig b/configs/kmsuv31_defconfig
new file mode 100644 (file)
index 0000000..9434ef0
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="KM_SUV31"
+CONFIG_ARM=y
+CONFIG_TARGET_KM_KIRKWOOD=y
diff --git a/configs/kmvect1_defconfig b/configs/kmvect1_defconfig
new file mode 100644 (file)
index 0000000..dd9c2f2
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="KMVECT1"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_SUVD3=y
diff --git a/configs/koelsch_defconfig b/configs/koelsch_defconfig
new file mode 100644 (file)
index 0000000..d63a286
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_KOELSCH=y
diff --git a/configs/korat_defconfig b/configs/korat_defconfig
new file mode 100644 (file)
index 0000000..d363aab
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_KORAT=y
diff --git a/configs/korat_perm_defconfig b/configs/korat_perm_defconfig
new file mode 100644 (file)
index 0000000..8c6b4c4
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="KORAT_PERMANENT"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_KORAT=y
diff --git a/configs/kwb_defconfig b/configs/kwb_defconfig
new file mode 100644 (file)
index 0000000..5082ff7
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_KWB=y
diff --git a/configs/kzm9g_defconfig b/configs/kzm9g_defconfig
new file mode 100644 (file)
index 0000000..aaddf82
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_KZM9G=y
diff --git a/configs/lager_defconfig b/configs/lager_defconfig
new file mode 100644 (file)
index 0000000..bf1be72
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_LAGER=y
diff --git a/configs/lcd4_lwmon5_defconfig b/configs/lcd4_lwmon5_defconfig
new file mode 100644 (file)
index 0000000..1541733
--- /dev/null
@@ -0,0 +1,5 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="LCD4_LWMON5"
++S:CONFIG_PPC=y
++S:CONFIG_4xx=y
++S:CONFIG_TARGET_LWMON5=y
diff --git a/configs/lite5200b_LOWBOOT_defconfig b/configs/lite5200b_LOWBOOT_defconfig
new file mode 100644 (file)
index 0000000..9ceb834
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC5200_DDR,LITE5200B,SYS_TEXT_BASE=0xFF000000"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_ICECUBE=y
diff --git a/configs/lite5200b_PM_defconfig b/configs/lite5200b_PM_defconfig
new file mode 100644 (file)
index 0000000..35b2aa3
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC5200_DDR,LITE5200B,LITE5200B_PM"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_ICECUBE=y
diff --git a/configs/lite5200b_defconfig b/configs/lite5200b_defconfig
new file mode 100644 (file)
index 0000000..c7d4030
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC5200_DDR,LITE5200B"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_ICECUBE=y
diff --git a/configs/lp8x4x_defconfig b/configs/lp8x4x_defconfig
new file mode 100644 (file)
index 0000000..2fc2cbc
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_LP8X4X=y
diff --git a/configs/ls2085a_emu_D4_defconfig b/configs/ls2085a_emu_D4_defconfig
new file mode 100644 (file)
index 0000000..f2f6882
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="ARM64,EMU,SYS_FSL_DDR4"
+CONFIG_ARM=y
+CONFIG_TARGET_LS2085A_EMU=y
diff --git a/configs/ls2085a_emu_defconfig b/configs/ls2085a_emu_defconfig
new file mode 100644 (file)
index 0000000..51ffa56
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="ARM64,EMU"
+CONFIG_ARM=y
+CONFIG_TARGET_LS2085A_EMU=y
diff --git a/configs/ls2085a_simu_defconfig b/configs/ls2085a_simu_defconfig
new file mode 100644 (file)
index 0000000..efa8e74
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="ARM64,SIMU"
+CONFIG_ARM=y
+CONFIG_TARGET_LS2085A_SIMU=y
diff --git a/configs/lschlv2_defconfig b/configs/lschlv2_defconfig
new file mode 100644 (file)
index 0000000..330b4d7
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="LSCHLV2"
+CONFIG_ARM=y
+CONFIG_TARGET_LSXL=y
diff --git a/configs/lsxhl_defconfig b/configs/lsxhl_defconfig
new file mode 100644 (file)
index 0000000..e8cdf8a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="LSXHL"
+CONFIG_ARM=y
+CONFIG_TARGET_LSXL=y
diff --git a/configs/luan_defconfig b/configs/luan_defconfig
new file mode 100644 (file)
index 0000000..d42b4a9
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_LUAN=y
diff --git a/configs/lwmon5_defconfig b/configs/lwmon5_defconfig
new file mode 100644 (file)
index 0000000..1ae2109
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_LWMON5=y
diff --git a/configs/lwmon_defconfig b/configs/lwmon_defconfig
new file mode 100644 (file)
index 0000000..128ff5f
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_LWMON=y
diff --git a/configs/m28evk_defconfig b/configs/m28evk_defconfig
new file mode 100644 (file)
index 0000000..e7af817
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_M28EVK=y
diff --git a/configs/m53evk_defconfig b/configs/m53evk_defconfig
new file mode 100644 (file)
index 0000000..65a6470
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/denx/m53evk/imximage.cfg"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_M53EVK=y
diff --git a/configs/magnesium_defconfig b/configs/magnesium_defconfig
new file mode 100644 (file)
index 0000000..d45cfd7
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_MAGNESIUM=y
diff --git a/configs/makalu_defconfig b/configs/makalu_defconfig
new file mode 100644 (file)
index 0000000..ed9b82d
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_MAKALU=y
diff --git a/configs/malta_defconfig b/configs/malta_defconfig
new file mode 100644 (file)
index 0000000..f3788b6
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_BIG_ENDIAN"
+CONFIG_MIPS=y
+CONFIG_TARGET_MALTA=y
diff --git a/configs/maltael_defconfig b/configs/maltael_defconfig
new file mode 100644 (file)
index 0000000..97d0e89
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_LITTLE_ENDIAN"
+CONFIG_MIPS=y
+CONFIG_TARGET_MALTA=y
diff --git a/configs/marsboard_defconfig b/configs/marsboard_defconfig
new file mode 100644 (file)
index 0000000..d5c9f08
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q.cfg,MX6Q,DDR_MB=1024,ENV_IS_IN_SPI_FLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_EMBESTMX6BOARDS=y
diff --git a/configs/mcc200_COM12_SDRAM_defconfig b/configs/mcc200_COM12_SDRAM_defconfig
new file mode 100644 (file)
index 0000000..be6dbd7
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CONSOLE_COM12,MCC200_SDRAM"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_MCC200=y
diff --git a/configs/mcc200_COM12_defconfig b/configs/mcc200_COM12_defconfig
new file mode 100644 (file)
index 0000000..6ed8635
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CONSOLE_COM12"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_MCC200=y
diff --git a/configs/mcc200_COM12_highboot_SDRAM_defconfig b/configs/mcc200_COM12_highboot_SDRAM_defconfig
new file mode 100644 (file)
index 0000000..5f93702
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CONSOLE_COM12,SYS_TEXT_BASE=0xFFF00000,MCC200_SDRAM"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_MCC200=y
diff --git a/configs/mcc200_COM12_highboot_defconfig b/configs/mcc200_COM12_highboot_defconfig
new file mode 100644 (file)
index 0000000..7abb0a4
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="CONSOLE_COM12,SYS_TEXT_BASE=0xFFF00000"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_MCC200=y
diff --git a/configs/mcc200_SDRAM_defconfig b/configs/mcc200_SDRAM_defconfig
new file mode 100644 (file)
index 0000000..37761b5
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MCC200_SDRAM"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_MCC200=y
diff --git a/configs/mcc200_defconfig b/configs/mcc200_defconfig
new file mode 100644 (file)
index 0000000..b6aafec
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_MCC200=y
diff --git a/configs/mcc200_highboot_SDRAM_defconfig b/configs/mcc200_highboot_SDRAM_defconfig
new file mode 100644 (file)
index 0000000..94d33e5
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xFFF00000,MCC200_SDRAM"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_MCC200=y
diff --git a/configs/mcc200_highboot_defconfig b/configs/mcc200_highboot_defconfig
new file mode 100644 (file)
index 0000000..f863dd9
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xFFF00000"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_MCC200=y
diff --git a/configs/mcx_defconfig b/configs/mcx_defconfig
new file mode 100644 (file)
index 0000000..a700c88
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_MCX=y
diff --git a/configs/mecp5123_defconfig b/configs/mecp5123_defconfig
new file mode 100644 (file)
index 0000000..3b0a0a0
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC512X=y
+CONFIG_TARGET_MECP5123=y
diff --git a/configs/mecp5200_defconfig b/configs/mecp5200_defconfig
new file mode 100644 (file)
index 0000000..a30e224
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_MECP5200=y
diff --git a/configs/medcom-wide_defconfig b/configs/medcom-wide_defconfig
new file mode 100644 (file)
index 0000000..ddf3437
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_MEDCOM_WIDE=y
diff --git a/configs/meesc_dataflash_defconfig b/configs/meesc_dataflash_defconfig
new file mode 100644 (file)
index 0000000..fa737ef
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_DATAFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_MEESC=y
diff --git a/configs/meesc_defconfig b/configs/meesc_defconfig
new file mode 100644 (file)
index 0000000..f58efbb
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_NANDFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_MEESC=y
diff --git a/configs/mgcoge3ne_defconfig b/configs/mgcoge3ne_defconfig
new file mode 100644 (file)
index 0000000..e2eb06f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MGCOGE3NE"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_KM82XX=y
diff --git a/configs/mgcoge3un_defconfig b/configs/mgcoge3un_defconfig
new file mode 100644 (file)
index 0000000..bc1e2ba
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="KM_MGCOGE3UN"
+CONFIG_ARM=y
+CONFIG_TARGET_KM_KIRKWOOD=y
diff --git a/configs/mgcoge_defconfig b/configs/mgcoge_defconfig
new file mode 100644 (file)
index 0000000..d2d4673
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MGCOGE"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_KM82XX=y
diff --git a/configs/microblaze-generic_defconfig b/configs/microblaze-generic_defconfig
new file mode 100644 (file)
index 0000000..7f23786
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_MICROBLAZE=y
++S:CONFIG_TARGET_MICROBLAZE_GENERIC=y
diff --git a/configs/mimc200_defconfig b/configs/mimc200_defconfig
new file mode 100644 (file)
index 0000000..f6edbc7
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_AVR32=y
+CONFIG_TARGET_MIMC200=y
diff --git a/configs/ml507_defconfig b/configs/ml507_defconfig
new file mode 100644 (file)
index 0000000..009972a
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x04100000,BOOT_FROM_XMD=1,INIT_TLB=board/xilinx/ppc440-generic/init.o"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_ML507=y
diff --git a/configs/ml507_flash_defconfig b/configs/ml507_flash_defconfig
new file mode 100644 (file)
index 0000000..a9658b6
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFFFC,INIT_TLB=board/xilinx/ppc440-generic/init.o"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_ML507=y
diff --git a/configs/motionpro_defconfig b/configs/motionpro_defconfig
new file mode 100644 (file)
index 0000000..535cb84
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_MOTIONPRO=y
diff --git a/configs/mpc5121ads_defconfig b/configs/mpc5121ads_defconfig
new file mode 100644 (file)
index 0000000..4d76470
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC512X=y
+CONFIG_TARGET_MPC5121ADS=y
diff --git a/configs/mpc5121ads_rev2_defconfig b/configs/mpc5121ads_rev2_defconfig
new file mode 100644 (file)
index 0000000..9a89611
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MPC5121ADS_REV2"
+CONFIG_PPC=y
+CONFIG_MPC512X=y
+CONFIG_TARGET_MPC5121ADS=y
diff --git a/configs/mpc7448hpc2_defconfig b/configs/mpc7448hpc2_defconfig
new file mode 100644 (file)
index 0000000..f2777dc
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_74xx_7xx=y
+CONFIG_TARGET_MPC7448HPC2=y
diff --git a/configs/mpc8308_p1m_defconfig b/configs/mpc8308_p1m_defconfig
new file mode 100644 (file)
index 0000000..2b8fc4e
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_MPC8308_P1M=y
diff --git a/configs/mpr2_defconfig b/configs/mpr2_defconfig
new file mode 100644 (file)
index 0000000..c8be987
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_MPR2=y
diff --git a/configs/ms7720se_defconfig b/configs/ms7720se_defconfig
new file mode 100644 (file)
index 0000000..0e3f834
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_MS7720SE=y
diff --git a/configs/ms7722se_defconfig b/configs/ms7722se_defconfig
new file mode 100644 (file)
index 0000000..4acb509
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_MS7722SE=y
diff --git a/configs/ms7750se_defconfig b/configs/ms7750se_defconfig
new file mode 100644 (file)
index 0000000..c23e4c9
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_MS7750SE=y
diff --git a/configs/mt_ventoux_defconfig b/configs/mt_ventoux_defconfig
new file mode 100644 (file)
index 0000000..0fcad87
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_MT_VENTOUX=y
diff --git a/configs/muas3001_defconfig b/configs/muas3001_defconfig
new file mode 100644 (file)
index 0000000..e1056bd
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_MUAS3001=y
diff --git a/configs/muas3001_dev_defconfig b/configs/muas3001_dev_defconfig
new file mode 100644 (file)
index 0000000..a62019c
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="MUAS_DEV_BOARD"
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_MUAS3001=y
diff --git a/configs/mucmc52_defconfig b/configs/mucmc52_defconfig
new file mode 100644 (file)
index 0000000..1e49695
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_MUCMC52=y
diff --git a/configs/munices_defconfig b/configs/munices_defconfig
new file mode 100644 (file)
index 0000000..cc9f75e
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_MUNICES=y
diff --git a/configs/mv88f6281gtw_ge_defconfig b/configs/mv88f6281gtw_ge_defconfig
new file mode 100644 (file)
index 0000000..4e26879
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_MV88F6281GTW_GE=y
diff --git a/configs/mx23_olinuxino_defconfig b/configs/mx23_olinuxino_defconfig
new file mode 100644 (file)
index 0000000..03d5066
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_MX23_OLINUXINO=y
diff --git a/configs/mx23evk_defconfig b/configs/mx23evk_defconfig
new file mode 100644 (file)
index 0000000..963cec3
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_MX23EVK=y
diff --git a/configs/mx25pdk_defconfig b/configs/mx25pdk_defconfig
new file mode 100644 (file)
index 0000000..f676da6
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx25pdk/imximage.cfg"
+CONFIG_ARM=y
+CONFIG_TARGET_MX25PDK=y
diff --git a/configs/mx28evk_auart_console_defconfig b/configs/mx28evk_auart_console_defconfig
new file mode 100644 (file)
index 0000000..7986880
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="MXS_AUART,MXS_AUART_BASE=MXS_UARTAPP3_BASE,ENV_IS_IN_MMC"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_MX28EVK=y
diff --git a/configs/mx28evk_defconfig b/configs/mx28evk_defconfig
new file mode 100644 (file)
index 0000000..e006209
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="ENV_IS_IN_MMC"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_MX28EVK=y
diff --git a/configs/mx28evk_nand_defconfig b/configs/mx28evk_nand_defconfig
new file mode 100644 (file)
index 0000000..ab42316
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="ENV_IS_IN_NAND"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_MX28EVK=y
diff --git a/configs/mx28evk_spi_defconfig b/configs/mx28evk_spi_defconfig
new file mode 100644 (file)
index 0000000..df992fa
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="ENV_IS_IN_SPI_FLASH"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_MX28EVK=y
diff --git a/configs/mx31ads_defconfig b/configs/mx31ads_defconfig
new file mode 100644 (file)
index 0000000..5105a9a
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_MX31ADS=y
diff --git a/configs/mx31pdk_defconfig b/configs/mx31pdk_defconfig
new file mode 100644 (file)
index 0000000..26cd87e
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_MX31PDK=y
diff --git a/configs/mx35pdk_defconfig b/configs/mx35pdk_defconfig
new file mode 100644 (file)
index 0000000..3d79fe1
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_MX35PDK=y
diff --git a/configs/mx51_efikamx_defconfig b/configs/mx51_efikamx_defconfig
new file mode 100644 (file)
index 0000000..a804b5a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_MX51_EFIKAMX,IMX_CONFIG=board/genesi/mx51_efikamx/imximage_mx.cfg"
+CONFIG_ARM=y
+CONFIG_TARGET_MX51_EFIKAMX=y
diff --git a/configs/mx51_efikasb_defconfig b/configs/mx51_efikasb_defconfig
new file mode 100644 (file)
index 0000000..b07762f
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="MACH_TYPE=MACH_TYPE_MX51_EFIKASB,IMX_CONFIG=board/genesi/mx51_efikamx/imximage_sb.cfg"
+CONFIG_ARM=y
+CONFIG_TARGET_MX51_EFIKAMX=y
diff --git a/configs/mx51evk_defconfig b/configs/mx51evk_defconfig
new file mode 100644 (file)
index 0000000..890aa76
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx51evk/imximage.cfg"
+CONFIG_ARM=y
+CONFIG_TARGET_MX51EVK=y
diff --git a/configs/mx53ard_defconfig b/configs/mx53ard_defconfig
new file mode 100644 (file)
index 0000000..e5cb895
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx53ard/imximage_dd3.cfg"
+CONFIG_ARM=y
+CONFIG_TARGET_MX53ARD=y
diff --git a/configs/mx53evk_defconfig b/configs/mx53evk_defconfig
new file mode 100644 (file)
index 0000000..570241f
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx53evk/imximage.cfg"
+CONFIG_ARM=y
+CONFIG_TARGET_MX53EVK=y
diff --git a/configs/mx53loco_defconfig b/configs/mx53loco_defconfig
new file mode 100644 (file)
index 0000000..92a67fb
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx53loco/imximage.cfg"
+CONFIG_ARM=y
+CONFIG_TARGET_MX53LOCO=y
diff --git a/configs/mx53smd_defconfig b/configs/mx53smd_defconfig
new file mode 100644 (file)
index 0000000..97cb931
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx53smd/imximage.cfg"
+CONFIG_ARM=y
+CONFIG_TARGET_MX53SMD=y
diff --git a/configs/mx6dlsabreauto_defconfig b/configs/mx6dlsabreauto_defconfig
new file mode 100644 (file)
index 0000000..b649935
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6qsabreauto/mx6dl.cfg,MX6DL"
+CONFIG_ARM=y
+CONFIG_TARGET_MX6QSABREAUTO=y
diff --git a/configs/mx6dlsabresd_defconfig b/configs/mx6dlsabresd_defconfig
new file mode 100644 (file)
index 0000000..9ce960e
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl.cfg,MX6DL"
+CONFIG_ARM=y
+CONFIG_TARGET_MX6SABRESD=y
diff --git a/configs/mx6qarm2_defconfig b/configs/mx6qarm2_defconfig
new file mode 100644 (file)
index 0000000..bdcc672
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6qarm2/imximage.cfg"
+CONFIG_ARM=y
+CONFIG_TARGET_MX6QARM2=y
diff --git a/configs/mx6qsabreauto_defconfig b/configs/mx6qsabreauto_defconfig
new file mode 100644 (file)
index 0000000..7d86700
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6qsabreauto/imximage.cfg,MX6Q"
+CONFIG_ARM=y
+CONFIG_TARGET_MX6QSABREAUTO=y
diff --git a/configs/mx6qsabrelite_defconfig b/configs/mx6qsabrelite_defconfig
new file mode 100644 (file)
index 0000000..dfa9c2e
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q.cfg,MX6Q,DDR_MB=1024,SABRELITE"
+CONFIG_ARM=y
+CONFIG_TARGET_NITROGEN6X=y
diff --git a/configs/mx6qsabresd_defconfig b/configs/mx6qsabresd_defconfig
new file mode 100644 (file)
index 0000000..dc8e254
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/imx/ddr/mx6q_4x_mt41j128.cfg,MX6Q"
+CONFIG_ARM=y
+CONFIG_TARGET_MX6SABRESD=y
diff --git a/configs/mx6slevk_defconfig b/configs/mx6slevk_defconfig
new file mode 100644 (file)
index 0000000..fb8c4de
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/mx6slevk/imximage.cfg,MX6SL"
+CONFIG_ARM=y
+CONFIG_TARGET_MX6SLEVK=y
diff --git a/configs/neo_defconfig b/configs/neo_defconfig
new file mode 100644 (file)
index 0000000..2a19247
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_NEO=y
diff --git a/configs/net2big_v2_defconfig b/configs/net2big_v2_defconfig
new file mode 100644 (file)
index 0000000..bffea60
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="NET2BIG_V2"
+CONFIG_ARM=y
+CONFIG_TARGET_NET2BIG_V2=y
diff --git a/configs/netspace_lite_v2_defconfig b/configs/netspace_lite_v2_defconfig
new file mode 100644 (file)
index 0000000..b262152
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="NETSPACE_LITE_V2"
+CONFIG_ARM=y
+CONFIG_TARGET_NETSPACE_V2=y
diff --git a/configs/netspace_max_v2_defconfig b/configs/netspace_max_v2_defconfig
new file mode 100644 (file)
index 0000000..4fc84fc
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="NETSPACE_MAX_V2"
+CONFIG_ARM=y
+CONFIG_TARGET_NETSPACE_V2=y
diff --git a/configs/netspace_mini_v2_defconfig b/configs/netspace_mini_v2_defconfig
new file mode 100644 (file)
index 0000000..631a31b
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="NETSPACE_MINI_V2"
+CONFIG_ARM=y
+CONFIG_TARGET_NETSPACE_V2=y
diff --git a/configs/netspace_v2_defconfig b/configs/netspace_v2_defconfig
new file mode 100644 (file)
index 0000000..dd77bfe
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="NETSPACE_V2"
+CONFIG_ARM=y
+CONFIG_TARGET_NETSPACE_V2=y
diff --git a/configs/nhk8815_defconfig b/configs/nhk8815_defconfig
new file mode 100644 (file)
index 0000000..3d20199
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_NHK8815=y
diff --git a/configs/nhk8815_onenand_defconfig b/configs/nhk8815_onenand_defconfig
new file mode 100644 (file)
index 0000000..860ae92
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="BOOT_ONENAND"
+CONFIG_ARM=y
+CONFIG_TARGET_NHK8815=y
diff --git a/configs/nios2-generic_defconfig b/configs/nios2-generic_defconfig
new file mode 100644 (file)
index 0000000..f6da884
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_NIOS2=y
+CONFIG_TARGET_NIOS2_GENERIC=y
diff --git a/configs/nitrogen6dl2g_defconfig b/configs/nitrogen6dl2g_defconfig
new file mode 100644 (file)
index 0000000..ce9343a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl2g.cfg,MX6DL,DDR_MB=2048"
+CONFIG_ARM=y
+CONFIG_TARGET_NITROGEN6X=y
diff --git a/configs/nitrogen6dl_defconfig b/configs/nitrogen6dl_defconfig
new file mode 100644 (file)
index 0000000..15dd549
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl.cfg,MX6DL,DDR_MB=1024"
+CONFIG_ARM=y
+CONFIG_TARGET_NITROGEN6X=y
diff --git a/configs/nitrogen6q2g_defconfig b/configs/nitrogen6q2g_defconfig
new file mode 100644 (file)
index 0000000..12d9516
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q2g.cfg,MX6Q,DDR_MB=2048"
+CONFIG_ARM=y
+CONFIG_TARGET_NITROGEN6X=y
diff --git a/configs/nitrogen6q_defconfig b/configs/nitrogen6q_defconfig
new file mode 100644 (file)
index 0000000..b282dc3
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q.cfg,MX6Q,DDR_MB=1024"
+CONFIG_ARM=y
+CONFIG_TARGET_NITROGEN6X=y
diff --git a/configs/nitrogen6s1g_defconfig b/configs/nitrogen6s1g_defconfig
new file mode 100644 (file)
index 0000000..d1a4f15
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s1g.cfg,MX6S,DDR_MB=1024"
+CONFIG_ARM=y
+CONFIG_TARGET_NITROGEN6X=y
diff --git a/configs/nitrogen6s_defconfig b/configs/nitrogen6s_defconfig
new file mode 100644 (file)
index 0000000..73a206f
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s.cfg,MX6S,DDR_MB=512"
+CONFIG_ARM=y
+CONFIG_TARGET_NITROGEN6X=y
diff --git a/configs/nokia_rx51_defconfig b/configs/nokia_rx51_defconfig
new file mode 100644 (file)
index 0000000..055a602
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_NOKIA_RX51=y
diff --git a/configs/ocotea_defconfig b/configs/ocotea_defconfig
new file mode 100644 (file)
index 0000000..34518cd
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_OCOTEA=y
diff --git a/configs/omap3_beagle_defconfig b/configs/omap3_beagle_defconfig
new file mode 100644 (file)
index 0000000..a37ca60
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="NAND"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_OMAP3_BEAGLE=y
diff --git a/configs/omap3_evm_defconfig b/configs/omap3_evm_defconfig
new file mode 100644 (file)
index 0000000..284abe1
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_OMAP3_EVM=y
diff --git a/configs/omap3_evm_quick_mmc_defconfig b/configs/omap3_evm_quick_mmc_defconfig
new file mode 100644 (file)
index 0000000..5bafeac
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_OMAP3_EVM_QUICK_MMC=y
diff --git a/configs/omap3_evm_quick_nand_defconfig b/configs/omap3_evm_quick_nand_defconfig
new file mode 100644 (file)
index 0000000..501e46f
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_OMAP3_EVM_QUICK_NAND=y
diff --git a/configs/omap3_ha_defconfig b/configs/omap3_ha_defconfig
new file mode 100644 (file)
index 0000000..a183fe7
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SYS_BOARD_OMAP3_HA"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_TAO3530=y
diff --git a/configs/omap3_logic_defconfig b/configs/omap3_logic_defconfig
new file mode 100644 (file)
index 0000000..6278554
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_OMAP3_LOGIC=y
diff --git a/configs/omap3_mvblx_defconfig b/configs/omap3_mvblx_defconfig
new file mode 100644 (file)
index 0000000..b7ddcc8
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_OMAP3_MVBLX=y
diff --git a/configs/omap3_overo_defconfig b/configs/omap3_overo_defconfig
new file mode 100644 (file)
index 0000000..dca3237
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_OMAP3_OVERO=y
diff --git a/configs/omap3_pandora_defconfig b/configs/omap3_pandora_defconfig
new file mode 100644 (file)
index 0000000..54dab48
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_OMAP3_PANDORA=y
diff --git a/configs/omap3_sdp3430_defconfig b/configs/omap3_sdp3430_defconfig
new file mode 100644 (file)
index 0000000..9672956
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_OMAP3_SDP3430=y
diff --git a/configs/omap3_zoom1_defconfig b/configs/omap3_zoom1_defconfig
new file mode 100644 (file)
index 0000000..f4c8ed9
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_OMAP3_ZOOM1=y
diff --git a/configs/omap4_panda_defconfig b/configs/omap4_panda_defconfig
new file mode 100644 (file)
index 0000000..1498d17
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_OMAP4_PANDA=y
diff --git a/configs/omap4_sdp4430_defconfig b/configs/omap4_sdp4430_defconfig
new file mode 100644 (file)
index 0000000..faac317
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_OMAP4_SDP4430=y
diff --git a/configs/omap5912osk_defconfig b/configs/omap5912osk_defconfig
new file mode 100644 (file)
index 0000000..5aeb097
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_OMAP5912OSK=y
diff --git a/configs/omap5_uevm_defconfig b/configs/omap5_uevm_defconfig
new file mode 100644 (file)
index 0000000..7a19ce9
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_OMAP5_UEVM=y
diff --git a/configs/openrd_base_defconfig b/configs/openrd_base_defconfig
new file mode 100644 (file)
index 0000000..25f777e
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="BOARD_IS_OPENRD_BASE"
+CONFIG_ARM=y
+CONFIG_TARGET_OPENRD=y
diff --git a/configs/openrd_client_defconfig b/configs/openrd_client_defconfig
new file mode 100644 (file)
index 0000000..ba71851
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="BOARD_IS_OPENRD_CLIENT"
+CONFIG_ARM=y
+CONFIG_TARGET_OPENRD=y
diff --git a/configs/openrd_ultimate_defconfig b/configs/openrd_ultimate_defconfig
new file mode 100644 (file)
index 0000000..8651f92
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="BOARD_IS_OPENRD_ULTIMATE"
+CONFIG_ARM=y
+CONFIG_TARGET_OPENRD=y
diff --git a/configs/openrisc-generic_defconfig b/configs/openrisc-generic_defconfig
new file mode 100644 (file)
index 0000000..e422974
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_OPENRISC=y
+CONFIG_TARGET_OPENRISC_GENERIC=y
diff --git a/configs/origen_defconfig b/configs/origen_defconfig
new file mode 100644 (file)
index 0000000..e0d10d3
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_ORIGEN=y
diff --git a/configs/otc570_dataflash_defconfig b/configs/otc570_dataflash_defconfig
new file mode 100644 (file)
index 0000000..992d6b6
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_DATAFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_OTC570=y
diff --git a/configs/otc570_defconfig b/configs/otc570_defconfig
new file mode 100644 (file)
index 0000000..65295cb
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_NANDFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_OTC570=y
diff --git a/configs/p3m7448_defconfig b/configs/p3m7448_defconfig
new file mode 100644 (file)
index 0000000..9b03689
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P3M7448"
+CONFIG_PPC=y
+CONFIG_74xx_7xx=y
+CONFIG_TARGET_P3MX=y
diff --git a/configs/p3m750_defconfig b/configs/p3m750_defconfig
new file mode 100644 (file)
index 0000000..e5377eb
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="P3M750"
+CONFIG_PPC=y
+CONFIG_74xx_7xx=y
+CONFIG_TARGET_P3MX=y
diff --git a/configs/p3p440_defconfig b/configs/p3p440_defconfig
new file mode 100644 (file)
index 0000000..0511b14
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_P3P440=y
diff --git a/configs/palmld_defconfig b/configs/palmld_defconfig
new file mode 100644 (file)
index 0000000..599acc3
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_PALMLD=y
diff --git a/configs/palmtc_defconfig b/configs/palmtc_defconfig
new file mode 100644 (file)
index 0000000..91cb76d
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_PALMTC=y
diff --git a/configs/palmtreo680_defconfig b/configs/palmtreo680_defconfig
new file mode 100644 (file)
index 0000000..84c4c16
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_PALMTREO680=y
diff --git a/configs/paz00_defconfig b/configs/paz00_defconfig
new file mode 100644 (file)
index 0000000..61a536e
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_PAZ00=y
diff --git a/configs/pb1000_defconfig b/configs/pb1000_defconfig
new file mode 100644 (file)
index 0000000..e226358
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="PB1000"
+CONFIG_MIPS=y
+CONFIG_TARGET_PB1X00=y
diff --git a/configs/pcm030_LOWBOOT_defconfig b/configs/pcm030_LOWBOOT_defconfig
new file mode 100644 (file)
index 0000000..72ecf8f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xFF000000"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_PCM030=y
diff --git a/configs/pcm030_defconfig b/configs/pcm030_defconfig
new file mode 100644 (file)
index 0000000..3283517
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_PCM030=y
diff --git a/configs/pcm051_rev1_defconfig b/configs/pcm051_rev1_defconfig
new file mode 100644 (file)
index 0000000..8b27682
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="REV1"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_PCM051=y
diff --git a/configs/pcm051_rev3_defconfig b/configs/pcm051_rev3_defconfig
new file mode 100644 (file)
index 0000000..27ad6ff
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="REV3"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_PCM051=y
diff --git a/configs/pcs440ep_defconfig b/configs/pcs440ep_defconfig
new file mode 100644 (file)
index 0000000..299bf8a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_PCS440EP=y
diff --git a/configs/pdm360ng_defconfig b/configs/pdm360ng_defconfig
new file mode 100644 (file)
index 0000000..4e3d704
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC512X=y
+CONFIG_TARGET_PDM360NG=y
diff --git a/configs/peach-pit_defconfig b/configs/peach-pit_defconfig
new file mode 100644 (file)
index 0000000..68ba794
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_PEACH_PIT=y
diff --git a/configs/pengwyn_defconfig b/configs/pengwyn_defconfig
new file mode 100644 (file)
index 0000000..1b9aa68
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_PENGWYN=y
diff --git a/configs/pepper_defconfig b/configs/pepper_defconfig
new file mode 100644 (file)
index 0000000..22c7bb4
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_PEPPER=y
diff --git a/configs/pf5200_defconfig b/configs/pf5200_defconfig
new file mode 100644 (file)
index 0000000..fe926a0
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_PF5200=y
diff --git a/configs/plutux_defconfig b/configs/plutux_defconfig
new file mode 100644 (file)
index 0000000..672b66c
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_PLUTUX=y
diff --git a/configs/pm9261_defconfig b/configs/pm9261_defconfig
new file mode 100644 (file)
index 0000000..b8a0248
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9261"
+CONFIG_ARM=y
+CONFIG_TARGET_PM9261=y
diff --git a/configs/pm9263_defconfig b/configs/pm9263_defconfig
new file mode 100644 (file)
index 0000000..3a5029a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263"
+CONFIG_ARM=y
+CONFIG_TARGET_PM9263=y
diff --git a/configs/pm9g45_defconfig b/configs/pm9g45_defconfig
new file mode 100644 (file)
index 0000000..89297e0
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G45"
+CONFIG_ARM=y
+CONFIG_TARGET_PM9G45=y
diff --git a/configs/pogo_e02_defconfig b/configs/pogo_e02_defconfig
new file mode 100644 (file)
index 0000000..41637e0
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_POGO_E02=y
diff --git a/configs/polaris_defconfig b/configs/polaris_defconfig
new file mode 100644 (file)
index 0000000..f510a53
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="POLARIS"
+CONFIG_ARM=y
+CONFIG_TARGET_TRIZEPSIV=y
diff --git a/configs/portl2_defconfig b/configs/portl2_defconfig
new file mode 100644 (file)
index 0000000..6df18e9
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="KM_PORTL2"
+CONFIG_ARM=y
+CONFIG_TARGET_KM_KIRKWOOD=y
diff --git a/configs/portuxg20_defconfig b/configs/portuxg20_defconfig
new file mode 100644 (file)
index 0000000..b1634e9
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,PORTUXG20"
+CONFIG_ARM=y
+CONFIG_TARGET_STAMP9G20=y
diff --git a/configs/ppmc7xx_defconfig b/configs/ppmc7xx_defconfig
new file mode 100644 (file)
index 0000000..feefe49
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_74xx_7xx=y
+CONFIG_TARGET_PPMC7XX=y
diff --git a/configs/ppmc8260_defconfig b/configs/ppmc8260_defconfig
new file mode 100644 (file)
index 0000000..e8eb4f7
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_PPMC8260=y
diff --git a/configs/pr1_defconfig b/configs/pr1_defconfig
new file mode 100644 (file)
index 0000000..a8784c1
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_PR1=y
diff --git a/configs/prs200_DDR_defconfig b/configs/prs200_DDR_defconfig
new file mode 100644 (file)
index 0000000..541fb99
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PRS200"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_MCC200=y
diff --git a/configs/prs200_defconfig b/configs/prs200_defconfig
new file mode 100644 (file)
index 0000000..a094a08
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PRS200,MCC200_SDRAM"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_MCC200=y
diff --git a/configs/prs200_highboot_DDR_defconfig b/configs/prs200_highboot_DDR_defconfig
new file mode 100644 (file)
index 0000000..b8eb8d4
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PRS200,SYS_TEXT_BASE=0xFFF00000"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_MCC200=y
diff --git a/configs/prs200_highboot_defconfig b/configs/prs200_highboot_defconfig
new file mode 100644 (file)
index 0000000..8d68cc0
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PRS200,SYS_TEXT_BASE=0xFFF00000,MCC200_SDRAM"
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_MCC200=y
diff --git a/configs/pxa255_idp_defconfig b/configs/pxa255_idp_defconfig
new file mode 100644 (file)
index 0000000..251d6c4
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_PXA255_IDP=y
diff --git a/configs/pxm2_defconfig b/configs/pxm2_defconfig
new file mode 100644 (file)
index 0000000..e0d9031
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_PXM2=y
diff --git a/configs/qemu-ppce500_defconfig b/configs/qemu-ppce500_defconfig
new file mode 100644 (file)
index 0000000..2b8f707
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_QEMU_PPCE500=y
diff --git a/configs/qemu_mips64_defconfig b/configs/qemu_mips64_defconfig
new file mode 100644 (file)
index 0000000..2948355
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_BIG_ENDIAN"
+CONFIG_MIPS=y
+CONFIG_TARGET_QEMU_MIPS64=y
diff --git a/configs/qemu_mips64el_defconfig b/configs/qemu_mips64el_defconfig
new file mode 100644 (file)
index 0000000..13a039f
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_LITTLE_ENDIAN"
+CONFIG_MIPS=y
+CONFIG_TARGET_QEMU_MIPS64=y
diff --git a/configs/qemu_mips_defconfig b/configs/qemu_mips_defconfig
new file mode 100644 (file)
index 0000000..6b2c029
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_BIG_ENDIAN"
+CONFIG_MIPS=y
+CONFIG_TARGET_QEMU_MIPS=y
diff --git a/configs/qemu_mipsel_defconfig b/configs/qemu_mipsel_defconfig
new file mode 100644 (file)
index 0000000..57c8701
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_LITTLE_ENDIAN"
+CONFIG_MIPS=y
+CONFIG_TARGET_QEMU_MIPS=y
diff --git a/configs/qong_defconfig b/configs/qong_defconfig
new file mode 100644 (file)
index 0000000..fddd836
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_QONG=y
diff --git a/configs/qt840a_defconfig b/configs/qt840a_defconfig
new file mode 100644 (file)
index 0000000..acb100c
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="QT840A,SPL,AXP209_POWER,SUNXI_GMAC,MACPWR=SUNXI_GPH(21),USB_EHCI"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN7I=y
diff --git a/configs/r0p7734_defconfig b/configs/r0p7734_defconfig
new file mode 100644 (file)
index 0000000..2b2d2cd
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_R0P7734=y
diff --git a/configs/r2dplus_defconfig b/configs/r2dplus_defconfig
new file mode 100644 (file)
index 0000000..87de323
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_R2DPLUS=y
diff --git a/configs/r7-tv-dongle_defconfig b/configs/r7-tv-dongle_defconfig
new file mode 100644 (file)
index 0000000..f0f97b0
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="R7DONGLE,SPL,AXP152_POWER,USB_EHCI,SUNXI_USB_VBUS0_GPIO=SUNXI_GPG(13)"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SUN5I=y
diff --git a/configs/r7780mp_defconfig b/configs/r7780mp_defconfig
new file mode 100644 (file)
index 0000000..7e201f5
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_R7780MP=y
diff --git a/configs/rainier_defconfig b/configs/rainier_defconfig
new file mode 100644 (file)
index 0000000..666cb18
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAINIER"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_SEQUOIA=y
diff --git a/configs/rainier_ramboot_defconfig b/configs/rainier_ramboot_defconfig
new file mode 100644 (file)
index 0000000..2ecb1cf
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAINIER,SYS_RAMBOOT,SYS_TEXT_BASE=0x01000000,SYS_LDSCRIPT=board/amcc/sequoia/u-boot-ram.lds"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_SEQUOIA=y
diff --git a/configs/rd6281a_defconfig b/configs/rd6281a_defconfig
new file mode 100644 (file)
index 0000000..d9c3e39
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_RD6281A=y
diff --git a/configs/redwood_defconfig b/configs/redwood_defconfig
new file mode 100644 (file)
index 0000000..ad87d0e
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_REDWOOD=y
diff --git a/configs/riotboard_defconfig b/configs/riotboard_defconfig
new file mode 100644 (file)
index 0000000..5296bde
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s1g.cfg,MX6S,DDR_MB=1024,ENV_IS_IN_MMC"
+CONFIG_ARM=y
+CONFIG_TARGET_EMBESTMX6BOARDS=y
diff --git a/configs/rpi_b_defconfig b/configs/rpi_b_defconfig
new file mode 100644 (file)
index 0000000..9a4705e
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_RPI_B=y
diff --git a/configs/rsk7203_defconfig b/configs/rsk7203_defconfig
new file mode 100644 (file)
index 0000000..44c0bc8
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_RSK7203=y
diff --git a/configs/rsk7264_defconfig b/configs/rsk7264_defconfig
new file mode 100644 (file)
index 0000000..aedc333
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_RSK7264=y
diff --git a/configs/rsk7269_defconfig b/configs/rsk7269_defconfig
new file mode 100644 (file)
index 0000000..25fdf80
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_RSK7269=y
diff --git a/configs/rut_defconfig b/configs/rut_defconfig
new file mode 100644 (file)
index 0000000..0568655
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_RUT=y
diff --git a/configs/s5p_goni_defconfig b/configs/s5p_goni_defconfig
new file mode 100644 (file)
index 0000000..c0c3509
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_S5P_GONI=y
diff --git a/configs/s5pc210_universal_defconfig b/configs/s5pc210_universal_defconfig
new file mode 100644 (file)
index 0000000..572df1d
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_S5PC210_UNIVERSAL=y
diff --git a/configs/sacsng_defconfig b/configs/sacsng_defconfig
new file mode 100644 (file)
index 0000000..91cca23
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC8260=y
+CONFIG_TARGET_SACSNG=y
diff --git a/configs/sama5d3_xplained_mmc_defconfig b/configs/sama5d3_xplained_mmc_defconfig
new file mode 100644 (file)
index 0000000..a7d791f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SAMA5D3,SYS_USE_MMC"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SAMA5D3_XPLAINED=y
diff --git a/configs/sama5d3_xplained_nandflash_defconfig b/configs/sama5d3_xplained_nandflash_defconfig
new file mode 100644 (file)
index 0000000..b972860
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SAMA5D3,SYS_USE_NANDFLASH"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SAMA5D3_XPLAINED=y
diff --git a/configs/sama5d3xek_mmc_defconfig b/configs/sama5d3xek_mmc_defconfig
new file mode 100644 (file)
index 0000000..3f8d997
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SAMA5D3,SYS_USE_MMC"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SAMA5D3XEK=y
diff --git a/configs/sama5d3xek_nandflash_defconfig b/configs/sama5d3xek_nandflash_defconfig
new file mode 100644 (file)
index 0000000..7a92417
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SAMA5D3,SYS_USE_NANDFLASH"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SAMA5D3XEK=y
diff --git a/configs/sama5d3xek_spiflash_defconfig b/configs/sama5d3xek_spiflash_defconfig
new file mode 100644 (file)
index 0000000..c83a7ab
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SAMA5D3,SYS_USE_SERIALFLASH"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SAMA5D3XEK=y
diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/configs/sansa_fuze_plus_defconfig b/configs/sansa_fuze_plus_defconfig
new file mode 100644 (file)
index 0000000..b6b0fc7
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SANSA_FUZE_PLUS=y
diff --git a/configs/sbc35_a9g20_eeprom_defconfig b/configs/sbc35_a9g20_eeprom_defconfig
new file mode 100644 (file)
index 0000000..aa9cd3e
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,SYS_USE_EEPROM"
+CONFIG_ARM=y
+CONFIG_TARGET_SBC35_A9G20=y
diff --git a/configs/sbc35_a9g20_nandflash_defconfig b/configs/sbc35_a9g20_nandflash_defconfig
new file mode 100644 (file)
index 0000000..fba9f31
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,SYS_USE_NANDFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_SBC35_A9G20=y
diff --git a/configs/sbc405_defconfig b/configs/sbc405_defconfig
new file mode 100644 (file)
index 0000000..b34cbb7
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_SBC405=y
diff --git a/configs/sbc8349_PCI_33_defconfig b/configs/sbc8349_PCI_33_defconfig
new file mode 100644 (file)
index 0000000..f7aaa7d
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PCI,PCI_33M"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_SBC8349=y
diff --git a/configs/sbc8349_PCI_66_defconfig b/configs/sbc8349_PCI_66_defconfig
new file mode 100644 (file)
index 0000000..2e1171f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PCI,PCI_66M"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_SBC8349=y
diff --git a/configs/sbc8349_defconfig b/configs/sbc8349_defconfig
new file mode 100644 (file)
index 0000000..f1808e8
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_SBC8349=y
diff --git a/configs/sbc8548_PCI_33_PCIE_defconfig b/configs/sbc8548_PCI_33_PCIE_defconfig
new file mode 100644 (file)
index 0000000..ae4f63f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PCI,33,PCIE"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_SBC8548=y
diff --git a/configs/sbc8548_PCI_33_defconfig b/configs/sbc8548_PCI_33_defconfig
new file mode 100644 (file)
index 0000000..b79b993
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PCI,33"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_SBC8548=y
diff --git a/configs/sbc8548_PCI_66_PCIE_defconfig b/configs/sbc8548_PCI_66_PCIE_defconfig
new file mode 100644 (file)
index 0000000..661fd0f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PCI,66,PCIE"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_SBC8548=y
diff --git a/configs/sbc8548_PCI_66_defconfig b/configs/sbc8548_PCI_66_defconfig
new file mode 100644 (file)
index 0000000..8cc95e5
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="PCI,66"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_SBC8548=y
diff --git a/configs/sbc8548_defconfig b/configs/sbc8548_defconfig
new file mode 100644 (file)
index 0000000..b74f7bc
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_SBC8548=y
diff --git a/configs/sbc8641d_defconfig b/configs/sbc8641d_defconfig
new file mode 100644 (file)
index 0000000..6b89473
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC86xx=y
+CONFIG_TARGET_SBC8641D=y
diff --git a/configs/sc3_defconfig b/configs/sc3_defconfig
new file mode 100644 (file)
index 0000000..e77b04c
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_SC3=y
diff --git a/configs/sc_sps_1_defconfig b/configs/sc_sps_1_defconfig
new file mode 100644 (file)
index 0000000..75e0fc8
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SC_SPS_1=y
diff --git a/configs/scb9328_defconfig b/configs/scb9328_defconfig
new file mode 100644 (file)
index 0000000..048caeb
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_SCB9328=y
diff --git a/configs/seaboard_defconfig b/configs/seaboard_defconfig
new file mode 100644 (file)
index 0000000..c0f078b
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SEABOARD=y
diff --git a/configs/sequoia_defconfig b/configs/sequoia_defconfig
new file mode 100644 (file)
index 0000000..678c2bb
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SEQUOIA"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_SEQUOIA=y
diff --git a/configs/sequoia_ramboot_defconfig b/configs/sequoia_ramboot_defconfig
new file mode 100644 (file)
index 0000000..0d0c6c1
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SEQUOIA,SYS_RAMBOOT,SYS_TEXT_BASE=0x01000000,SYS_LDSCRIPT=board/amcc/sequoia/u-boot-ram.lds"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_SEQUOIA=y
diff --git a/configs/sh7752evb_defconfig b/configs/sh7752evb_defconfig
new file mode 100644 (file)
index 0000000..124154c
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_SH7752EVB=y
diff --git a/configs/sh7753evb_defconfig b/configs/sh7753evb_defconfig
new file mode 100644 (file)
index 0000000..9ff4121
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_SH7753EVB=y
diff --git a/configs/sh7757lcr_defconfig b/configs/sh7757lcr_defconfig
new file mode 100644 (file)
index 0000000..3066d97
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_SH7757LCR=y
diff --git a/configs/sh7763rdp_defconfig b/configs/sh7763rdp_defconfig
new file mode 100644 (file)
index 0000000..8857e8a
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_SH7763RDP=y
diff --git a/configs/sh7785lcr_32bit_defconfig b/configs/sh7785lcr_32bit_defconfig
new file mode 100644 (file)
index 0000000..7cf93b4
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SH_32BIT=1"
+CONFIG_SH=y
+CONFIG_TARGET_SH7785LCR=y
diff --git a/configs/sh7785lcr_defconfig b/configs/sh7785lcr_defconfig
new file mode 100644 (file)
index 0000000..31d2c38
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_SH7785LCR=y
diff --git a/configs/sheevaplug_defconfig b/configs/sheevaplug_defconfig
new file mode 100644 (file)
index 0000000..9e4b9c9
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_SHEEVAPLUG=y
diff --git a/configs/shmin_defconfig b/configs/shmin_defconfig
new file mode 100644 (file)
index 0000000..74c3550
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_SH=y
+CONFIG_TARGET_SHMIN=y
diff --git a/configs/smdk2410_defconfig b/configs/smdk2410_defconfig
new file mode 100644 (file)
index 0000000..fec4ba6
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_SMDK2410=y
diff --git a/configs/smdk5250_defconfig b/configs/smdk5250_defconfig
new file mode 100644 (file)
index 0000000..a35e4fc
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SMDK5250=y
diff --git a/configs/smdk5420_defconfig b/configs/smdk5420_defconfig
new file mode 100644 (file)
index 0000000..12933f0
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SMDK5420=y
diff --git a/configs/smdkc100_defconfig b/configs/smdkc100_defconfig
new file mode 100644 (file)
index 0000000..7455235
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_SMDKC100=y
diff --git a/configs/smdkv310_defconfig b/configs/smdkv310_defconfig
new file mode 100644 (file)
index 0000000..d87986a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SMDKV310=y
diff --git a/configs/snapper9260_defconfig b/configs/snapper9260_defconfig
new file mode 100644 (file)
index 0000000..7055e2a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9260"
+CONFIG_ARM=y
+CONFIG_TARGET_SNAPPER9260=y
diff --git a/configs/snapper9g20_defconfig b/configs/snapper9g20_defconfig
new file mode 100644 (file)
index 0000000..2faae15
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20"
+CONFIG_ARM=y
+CONFIG_TARGET_SNAPPER9260=y
diff --git a/configs/snow_defconfig b/configs/snow_defconfig
new file mode 100644 (file)
index 0000000..44c4701
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SNOW=y
diff --git a/configs/snowball_defconfig b/configs/snowball_defconfig
new file mode 100644 (file)
index 0000000..19100c2
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_SNOWBALL=y
diff --git a/configs/socfpga_cyclone5_defconfig b/configs/socfpga_cyclone5_defconfig
new file mode 100644 (file)
index 0000000..4b2ede4
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_SOCFPGA_CYCLONE5=y
diff --git a/configs/socrates_defconfig b/configs/socrates_defconfig
new file mode 100644 (file)
index 0000000..d7ed82b
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_SOCRATES=y
diff --git a/configs/spear300_defconfig b/configs/spear300_defconfig
new file mode 100644 (file)
index 0000000..25a08df
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear300"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR300=y
diff --git a/configs/spear300_nand_defconfig b/configs/spear300_nand_defconfig
new file mode 100644 (file)
index 0000000..a4b70e8
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear300,nand"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR300=y
diff --git a/configs/spear300_usbtty_defconfig b/configs/spear300_usbtty_defconfig
new file mode 100644 (file)
index 0000000..d750cf4
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear300,usbtty"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR300=y
diff --git a/configs/spear300_usbtty_nand_defconfig b/configs/spear300_usbtty_nand_defconfig
new file mode 100644 (file)
index 0000000..8bafdb5
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear300,usbtty,nand"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR300=y
diff --git a/configs/spear310_defconfig b/configs/spear310_defconfig
new file mode 100644 (file)
index 0000000..8a9ec85
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear310"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR310=y
diff --git a/configs/spear310_nand_defconfig b/configs/spear310_nand_defconfig
new file mode 100644 (file)
index 0000000..1439ac5
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear310,nand"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR310=y
diff --git a/configs/spear310_pnor_defconfig b/configs/spear310_pnor_defconfig
new file mode 100644 (file)
index 0000000..19604b3
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear310,FLASH_PNOR"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR310=y
diff --git a/configs/spear310_usbtty_defconfig b/configs/spear310_usbtty_defconfig
new file mode 100644 (file)
index 0000000..6342a56
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear310,usbtty"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR310=y
diff --git a/configs/spear310_usbtty_nand_defconfig b/configs/spear310_usbtty_nand_defconfig
new file mode 100644 (file)
index 0000000..5b9f1f6
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear310,usbtty,nand"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR310=y
diff --git a/configs/spear310_usbtty_pnor_defconfig b/configs/spear310_usbtty_pnor_defconfig
new file mode 100644 (file)
index 0000000..0567936
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear310,usbtty,FLASH_PNOR"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR310=y
diff --git a/configs/spear320_defconfig b/configs/spear320_defconfig
new file mode 100644 (file)
index 0000000..3d91bb1
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear320"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR320=y
diff --git a/configs/spear320_nand_defconfig b/configs/spear320_nand_defconfig
new file mode 100644 (file)
index 0000000..fd0f908
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear320,nand"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR320=y
diff --git a/configs/spear320_pnor_defconfig b/configs/spear320_pnor_defconfig
new file mode 100644 (file)
index 0000000..6cce316
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear320,FLASH_PNOR"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR320=y
diff --git a/configs/spear320_usbtty_defconfig b/configs/spear320_usbtty_defconfig
new file mode 100644 (file)
index 0000000..7ad3d84
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear320,usbtty"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR320=y
diff --git a/configs/spear320_usbtty_nand_defconfig b/configs/spear320_usbtty_nand_defconfig
new file mode 100644 (file)
index 0000000..a5ad90b
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear320,usbtty,nand"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR320=y
diff --git a/configs/spear320_usbtty_pnor_defconfig b/configs/spear320_usbtty_pnor_defconfig
new file mode 100644 (file)
index 0000000..6b110ef
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear320,usbtty,FLASH_PNOR"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR320=y
diff --git a/configs/spear600_defconfig b/configs/spear600_defconfig
new file mode 100644 (file)
index 0000000..f1cb0aa
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear600"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR600=y
diff --git a/configs/spear600_nand_defconfig b/configs/spear600_nand_defconfig
new file mode 100644 (file)
index 0000000..172c187
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear600,nand"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR600=y
diff --git a/configs/spear600_usbtty_defconfig b/configs/spear600_usbtty_defconfig
new file mode 100644 (file)
index 0000000..cf8b0ec
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear600,usbtty"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR600=y
diff --git a/configs/spear600_usbtty_nand_defconfig b/configs/spear600_usbtty_nand_defconfig
new file mode 100644 (file)
index 0000000..8bd2f07
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="spear600,usbtty,nand"
+CONFIG_ARM=y
+CONFIG_TARGET_SPEAR600=y
diff --git a/configs/stamp9g20_defconfig b/configs/stamp9g20_defconfig
new file mode 100644 (file)
index 0000000..8c0f874
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20"
+CONFIG_ARM=y
+CONFIG_TARGET_STAMP9G20=y
diff --git a/configs/stxgp3_defconfig b/configs/stxgp3_defconfig
new file mode 100644 (file)
index 0000000..b7537df
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_STXGP3=y
diff --git a/configs/stxssa_4M_defconfig b/configs/stxssa_4M_defconfig
new file mode 100644 (file)
index 0000000..1ffe9f9
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="STXSSA_4M"
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_STXSSA=y
diff --git a/configs/stxssa_defconfig b/configs/stxssa_defconfig
new file mode 100644 (file)
index 0000000..f1701f2
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_STXSSA=y
diff --git a/configs/stxxtc_defconfig b/configs/stxxtc_defconfig
new file mode 100644 (file)
index 0000000..d0642e4
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_STXXTC=y
diff --git a/configs/suvd3_defconfig b/configs/suvd3_defconfig
new file mode 100644 (file)
index 0000000..0407c87
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SUVD3"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_SUVD3=y
diff --git a/configs/svm_sc8xx_defconfig b/configs/svm_sc8xx_defconfig
new file mode 100644 (file)
index 0000000..9f0d343
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_SVM_SC8XX=y
diff --git a/configs/sycamore_defconfig b/configs/sycamore_defconfig
new file mode 100644 (file)
index 0000000..844e67f
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_WALNUT=y
diff --git a/configs/t3corp_defconfig b/configs/t3corp_defconfig
new file mode 100644 (file)
index 0000000..c61508a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_T3CORP=y
diff --git a/configs/taihu_defconfig b/configs/taihu_defconfig
new file mode 100644 (file)
index 0000000..ac83725
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_TAIHU=y
diff --git a/configs/taishan_defconfig b/configs/taishan_defconfig
new file mode 100644 (file)
index 0000000..e956c6f
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_TAISHAN=y
diff --git a/configs/tao3530_defconfig b/configs/tao3530_defconfig
new file mode 100644 (file)
index 0000000..d8b57b1
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_TAO3530=y
diff --git a/configs/taurus_defconfig b/configs/taurus_defconfig
new file mode 100644 (file)
index 0000000..9870048
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,MACH_TYPE=2067,BOARD_TAURUS"
+CONFIG_ARM=y
+CONFIG_TARGET_TAURUS=y
diff --git a/configs/tb100_defconfig b/configs/tb100_defconfig
new file mode 100644 (file)
index 0000000..9669dc0
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARC=y
+CONFIG_TARGET_TB100=y
diff --git a/configs/tcm-bf518_defconfig b/configs/tcm-bf518_defconfig
new file mode 100644 (file)
index 0000000..a9d5da0
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_TCM_BF518=y
diff --git a/configs/tcm-bf537_defconfig b/configs/tcm-bf537_defconfig
new file mode 100644 (file)
index 0000000..fe9de13
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_BLACKFIN=y
+CONFIG_TARGET_TCM_BF537=y
diff --git a/configs/tec-ng_defconfig b/configs/tec-ng_defconfig
new file mode 100644 (file)
index 0000000..2360d25
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_TEC_NG=y
diff --git a/configs/tec_defconfig b/configs/tec_defconfig
new file mode 100644 (file)
index 0000000..1aaa9d1
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_TEC=y
diff --git a/configs/ti814x_evm_defconfig b/configs/ti814x_evm_defconfig
new file mode 100644 (file)
index 0000000..0170655
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_TI814X_EVM=y
diff --git a/configs/ti816x_evm_defconfig b/configs/ti816x_evm_defconfig
new file mode 100644 (file)
index 0000000..abb6c5e
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_TI816X_EVM=y
diff --git a/configs/titanium_defconfig b/configs/titanium_defconfig
new file mode 100644 (file)
index 0000000..96f7f79
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/barco/titanium/imximage.cfg"
+CONFIG_ARM=y
+CONFIG_TARGET_TITANIUM=y
diff --git a/configs/tk71_defconfig b/configs/tk71_defconfig
new file mode 100644 (file)
index 0000000..ffff874
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_TK71=y
diff --git a/configs/tnetv107x_evm_defconfig b/configs/tnetv107x_evm_defconfig
new file mode 100644 (file)
index 0000000..b0915d2
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_TNETV107X_EVM=y
diff --git a/configs/tny_a9260_eeprom_defconfig b/configs/tny_a9260_eeprom_defconfig
new file mode 100644 (file)
index 0000000..a662669
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9260,SYS_USE_EEPROM"
+CONFIG_ARM=y
+CONFIG_TARGET_TNY_A9260=y
diff --git a/configs/tny_a9260_nandflash_defconfig b/configs/tny_a9260_nandflash_defconfig
new file mode 100644 (file)
index 0000000..41fd9c1
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9260,SYS_USE_NANDFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_TNY_A9260=y
diff --git a/configs/tny_a9g20_eeprom_defconfig b/configs/tny_a9g20_eeprom_defconfig
new file mode 100644 (file)
index 0000000..a2eb60e
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,SYS_USE_EEPROM"
+CONFIG_ARM=y
+CONFIG_TARGET_TNY_A9260=y
diff --git a/configs/tny_a9g20_nandflash_defconfig b/configs/tny_a9g20_nandflash_defconfig
new file mode 100644 (file)
index 0000000..60ebfa2
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9G20,SYS_USE_NANDFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_TNY_A9260=y
diff --git a/configs/top9000eval_xe_defconfig b/configs/top9000eval_xe_defconfig
new file mode 100644 (file)
index 0000000..7ea51f5
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="EVAL9000"
+CONFIG_ARM=y
+CONFIG_TARGET_TOP9000=y
diff --git a/configs/top9000su_xe_defconfig b/configs/top9000su_xe_defconfig
new file mode 100644 (file)
index 0000000..bf6b6f1
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="SU9000"
+CONFIG_ARM=y
+CONFIG_TARGET_TOP9000=y
diff --git a/configs/trats2_defconfig b/configs/trats2_defconfig
new file mode 100644 (file)
index 0000000..0a53f09
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_TRATS2=y
diff --git a/configs/trats_defconfig b/configs/trats_defconfig
new file mode 100644 (file)
index 0000000..93b94c0
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_TRATS=y
diff --git a/configs/tricorder_defconfig b/configs/tricorder_defconfig
new file mode 100644 (file)
index 0000000..80c2df4
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_TRICORDER=y
diff --git a/configs/tricorder_flash_defconfig b/configs/tricorder_flash_defconfig
new file mode 100644 (file)
index 0000000..6715e71
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="FLASHCARD"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_TRICORDER=y
diff --git a/configs/trimslice_defconfig b/configs/trimslice_defconfig
new file mode 100644 (file)
index 0000000..c096c65
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_TRIMSLICE=y
diff --git a/configs/trizepsiv_defconfig b/configs/trizepsiv_defconfig
new file mode 100644 (file)
index 0000000..444d3bb
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_TRIZEPSIV=y
diff --git a/configs/tseries_mmc_defconfig b/configs/tseries_mmc_defconfig
new file mode 100644 (file)
index 0000000..ea70705
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,EMMC_BOOT"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_TSERIES=y
diff --git a/configs/tseries_nand_defconfig b/configs/tseries_nand_defconfig
new file mode 100644 (file)
index 0000000..599d52c
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NAND"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_TSERIES=y
diff --git a/configs/tseries_spi_defconfig b/configs/tseries_spi_defconfig
new file mode 100644 (file)
index 0000000..7e57020
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,SPI_BOOT,EMMC_BOOT"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_TSERIES=y
diff --git a/configs/tt01_defconfig b/configs/tt01_defconfig
new file mode 100644 (file)
index 0000000..a0e6664
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_TT01=y
diff --git a/configs/tuge1_defconfig b/configs/tuge1_defconfig
new file mode 100644 (file)
index 0000000..c1c9c43
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="TUGE1"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_TUXX1=y
diff --git a/configs/tuxx1_defconfig b/configs/tuxx1_defconfig
new file mode 100644 (file)
index 0000000..ecea63f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="TUXX1"
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_TUXX1=y
diff --git a/configs/twister_defconfig b/configs/twister_defconfig
new file mode 100644 (file)
index 0000000..27e8364
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_TWISTER=y
diff --git a/configs/tx25_defconfig b/configs/tx25_defconfig
new file mode 100644 (file)
index 0000000..0cbc4ee
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_TX25=y
diff --git a/configs/u8500_href_defconfig b/configs/u8500_href_defconfig
new file mode 100644 (file)
index 0000000..fef179f
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_U8500_HREF=y
diff --git a/configs/uc100_defconfig b/configs/uc100_defconfig
new file mode 100644 (file)
index 0000000..76eeb11
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_UC100=y
diff --git a/configs/uc101_defconfig b/configs/uc101_defconfig
new file mode 100644 (file)
index 0000000..b365bff
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_UC101=y
diff --git a/configs/udoo_quad_defconfig b/configs/udoo_quad_defconfig
new file mode 100644 (file)
index 0000000..860a310
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/udoo/udoo.cfg,MX6Q,DDR_MB=1024"
+CONFIG_ARM=y
+CONFIG_TARGET_UDOO=y
diff --git a/configs/usb_a9263_dataflash_defconfig b/configs/usb_a9263_dataflash_defconfig
new file mode 100644 (file)
index 0000000..8c0ac11
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="AT91SAM9263,SYS_USE_DATAFLASH"
+CONFIG_ARM=y
+CONFIG_TARGET_USB_A9263=y
diff --git a/configs/utx8245_defconfig b/configs/utx8245_defconfig
new file mode 100644 (file)
index 0000000..c2107cc
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC824X=y
+CONFIG_TARGET_UTX8245=y
diff --git a/configs/v38b_defconfig b/configs/v38b_defconfig
new file mode 100644 (file)
index 0000000..811354c
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC5xxx=y
+CONFIG_TARGET_V38B=y
diff --git a/configs/v5fx30teval_defconfig b/configs/v5fx30teval_defconfig
new file mode 100644 (file)
index 0000000..bb58153
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x04100000,BOOT_FROM_XMD=1,INIT_TLB=board/xilinx/ppc440-generic/init.o"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_V5FX30TEVAL=y
diff --git a/configs/v5fx30teval_flash_defconfig b/configs/v5fx30teval_flash_defconfig
new file mode 100644 (file)
index 0000000..1c6ec89
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFFFC,INIT_TLB=board/xilinx/ppc440-generic/init.o"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_V5FX30TEVAL=y
diff --git a/configs/vct_platinum_defconfig b/configs/vct_platinum_defconfig
new file mode 100644 (file)
index 0000000..9ff8b68
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUM"
+CONFIG_MIPS=y
+CONFIG_TARGET_VCT=y
diff --git a/configs/vct_platinum_onenand_defconfig b/configs/vct_platinum_onenand_defconfig
new file mode 100644 (file)
index 0000000..f33c97d
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUM,VCT_ONENAND"
+CONFIG_MIPS=y
+CONFIG_TARGET_VCT=y
diff --git a/configs/vct_platinum_onenand_small_defconfig b/configs/vct_platinum_onenand_small_defconfig
new file mode 100644 (file)
index 0000000..f7b3a91
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUM,VCT_ONENAND,VCT_SMALL_IMAGE"
+CONFIG_MIPS=y
+CONFIG_TARGET_VCT=y
diff --git a/configs/vct_platinum_small_defconfig b/configs/vct_platinum_small_defconfig
new file mode 100644 (file)
index 0000000..15eef48
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUM,VCT_SMALL_IMAGE"
+CONFIG_MIPS=y
+CONFIG_TARGET_VCT=y
diff --git a/configs/vct_platinumavc_defconfig b/configs/vct_platinumavc_defconfig
new file mode 100644 (file)
index 0000000..8aaac56
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUMAVC"
+CONFIG_MIPS=y
+CONFIG_TARGET_VCT=y
diff --git a/configs/vct_platinumavc_onenand_defconfig b/configs/vct_platinumavc_onenand_defconfig
new file mode 100644 (file)
index 0000000..926c6e4
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUMAVC,VCT_ONENAND"
+CONFIG_MIPS=y
+CONFIG_TARGET_VCT=y
diff --git a/configs/vct_platinumavc_onenand_small_defconfig b/configs/vct_platinumavc_onenand_small_defconfig
new file mode 100644 (file)
index 0000000..e0e8e44
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUMAVC,VCT_ONENAND,VCT_SMALL_IMAGE"
+CONFIG_MIPS=y
+CONFIG_TARGET_VCT=y
diff --git a/configs/vct_platinumavc_small_defconfig b/configs/vct_platinumavc_small_defconfig
new file mode 100644 (file)
index 0000000..d8209d1
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUMAVC,VCT_SMALL_IMAGE"
+CONFIG_MIPS=y
+CONFIG_TARGET_VCT=y
diff --git a/configs/vct_premium_defconfig b/configs/vct_premium_defconfig
new file mode 100644 (file)
index 0000000..0e16ff9
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="VCT_PREMIUM"
+CONFIG_MIPS=y
+CONFIG_TARGET_VCT=y
diff --git a/configs/vct_premium_onenand_defconfig b/configs/vct_premium_onenand_defconfig
new file mode 100644 (file)
index 0000000..29734b8
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="VCT_PREMIUM,VCT_ONENAND"
+CONFIG_MIPS=y
+CONFIG_TARGET_VCT=y
diff --git a/configs/vct_premium_onenand_small_defconfig b/configs/vct_premium_onenand_small_defconfig
new file mode 100644 (file)
index 0000000..220f875
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="VCT_PREMIUM,VCT_ONENAND,VCT_SMALL_IMAGE"
+CONFIG_MIPS=y
+CONFIG_TARGET_VCT=y
diff --git a/configs/vct_premium_small_defconfig b/configs/vct_premium_small_defconfig
new file mode 100644 (file)
index 0000000..5335472
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="VCT_PREMIUM,VCT_SMALL_IMAGE"
+CONFIG_MIPS=y
+CONFIG_TARGET_VCT=y
diff --git a/configs/ve8313_defconfig b/configs/ve8313_defconfig
new file mode 100644 (file)
index 0000000..462c482
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_VE8313=y
diff --git a/configs/venice2_defconfig b/configs/venice2_defconfig
new file mode 100644 (file)
index 0000000..2bfa91d
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_VENICE2=y
diff --git a/configs/ventana_defconfig b/configs/ventana_defconfig
new file mode 100644 (file)
index 0000000..75fca96
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_VENTANA=y
diff --git a/configs/versatileab_defconfig b/configs/versatileab_defconfig
new file mode 100644 (file)
index 0000000..9d64dd0
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="ARCH_VERSATILE_AB"
+CONFIG_ARM=y
+CONFIG_TARGET_VERSATILEAB=y
diff --git a/configs/versatilepb_defconfig b/configs/versatilepb_defconfig
new file mode 100644 (file)
index 0000000..fadaf93
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="ARCH_VERSATILE_PB"
+CONFIG_ARM=y
+CONFIG_TARGET_VERSATILEPB=y
diff --git a/configs/versatileqemu_defconfig b/configs/versatileqemu_defconfig
new file mode 100644 (file)
index 0000000..9d24558
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="ARCH_VERSATILE_QEMU,ARCH_VERSATILE_PB"
+CONFIG_ARM=y
+CONFIG_TARGET_VERSATILEQEMU=y
diff --git a/configs/vexpress_aemv8a_defconfig b/configs/vexpress_aemv8a_defconfig
new file mode 100644 (file)
index 0000000..a335abc
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="ARM64"
+CONFIG_ARM=y
+CONFIG_TARGET_VEXPRESS_AEMV8A=y
diff --git a/configs/vexpress_aemv8a_semi_defconfig b/configs/vexpress_aemv8a_semi_defconfig
new file mode 100644 (file)
index 0000000..e6dd8e7
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="ARM64,SEMIHOSTING,BASE_FVP"
+CONFIG_ARM=y
+CONFIG_TARGET_VEXPRESS_AEMV8A_SEMI=y
diff --git a/configs/vexpress_ca15_tc2_defconfig b/configs/vexpress_ca15_tc2_defconfig
new file mode 100644 (file)
index 0000000..ee5b351
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_VEXPRESS_CA15_TC2=y
diff --git a/configs/vexpress_ca5x2_defconfig b/configs/vexpress_ca5x2_defconfig
new file mode 100644 (file)
index 0000000..fafed03
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_VEXPRESS_CA5X2=y
diff --git a/configs/vexpress_ca9x4_defconfig b/configs/vexpress_ca9x4_defconfig
new file mode 100644 (file)
index 0000000..1ff2ebf
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_VEXPRESS_CA9X4=y
diff --git a/configs/vf610twr_defconfig b/configs/vf610twr_defconfig
new file mode 100644 (file)
index 0000000..10e6432
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/freescale/vf610twr/imximage.cfg"
+CONFIG_ARM=y
+CONFIG_TARGET_VF610TWR=y
diff --git a/configs/virtlab2_defconfig b/configs/virtlab2_defconfig
new file mode 100644 (file)
index 0000000..3eb3993
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_VIRTLAB2=y
diff --git a/configs/vision2_defconfig b/configs/vision2_defconfig
new file mode 100644 (file)
index 0000000..430dbc0
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/ttcontrol/vision2/imximage_hynix.cfg"
+CONFIG_ARM=y
+CONFIG_TARGET_VISION2=y
diff --git a/configs/vl_ma2sc_defconfig b/configs/vl_ma2sc_defconfig
new file mode 100644 (file)
index 0000000..39cd725
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_VL_MA2SC=y
diff --git a/configs/vl_ma2sc_ram_defconfig b/configs/vl_ma2sc_ram_defconfig
new file mode 100644 (file)
index 0000000..70a07ab
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="RAMLOAD"
+CONFIG_ARM=y
+CONFIG_TARGET_VL_MA2SC=y
diff --git a/configs/vme8349_defconfig b/configs/vme8349_defconfig
new file mode 100644 (file)
index 0000000..8df2cfd
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC83xx=y
+CONFIG_TARGET_VME8349=y
diff --git a/configs/vpac270_nor_128_defconfig b/configs/vpac270_nor_128_defconfig
new file mode 100644 (file)
index 0000000..74609ab
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="NOR,RAM_128M"
+CONFIG_ARM=y
+CONFIG_TARGET_VPAC270=y
diff --git a/configs/vpac270_nor_256_defconfig b/configs/vpac270_nor_256_defconfig
new file mode 100644 (file)
index 0000000..d6163ef
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="NOR,RAM_256M"
+CONFIG_ARM=y
+CONFIG_TARGET_VPAC270=y
diff --git a/configs/vpac270_ond_256_defconfig b/configs/vpac270_ond_256_defconfig
new file mode 100644 (file)
index 0000000..2a536a5
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="ONENAND,RAM_256M"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_VPAC270=y
diff --git a/configs/walnut_defconfig b/configs/walnut_defconfig
new file mode 100644 (file)
index 0000000..844e67f
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_WALNUT=y
diff --git a/configs/wandboard_dl_defconfig b/configs/wandboard_dl_defconfig
new file mode 100644 (file)
index 0000000..5a1f7f5
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6dl.cfg,MX6DL,DDR_MB=1024"
+CONFIG_ARM=y
+CONFIG_TARGET_WANDBOARD=y
diff --git a/configs/wandboard_quad_defconfig b/configs/wandboard_quad_defconfig
new file mode 100644 (file)
index 0000000..d940848
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6q2g.cfg,MX6Q,DDR_MB=2048"
+CONFIG_ARM=y
+CONFIG_TARGET_WANDBOARD=y
diff --git a/configs/wandboard_solo_defconfig b/configs/wandboard_solo_defconfig
new file mode 100644 (file)
index 0000000..66aa5d3
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/boundary/nitrogen6x/nitrogen6s.cfg,MX6S,DDR_MB=512"
+CONFIG_ARM=y
+CONFIG_TARGET_WANDBOARD=y
diff --git a/configs/whistler_defconfig b/configs/whistler_defconfig
new file mode 100644 (file)
index 0000000..cdc2c90
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_WHISTLER=y
diff --git a/configs/wireless_space_defconfig b/configs/wireless_space_defconfig
new file mode 100644 (file)
index 0000000..6c78548
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_WIRELESS_SPACE=y
diff --git a/configs/woodburn_defconfig b/configs/woodburn_defconfig
new file mode 100644 (file)
index 0000000..9f96bd9
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_WOODBURN=y
diff --git a/configs/woodburn_sd_defconfig b/configs/woodburn_sd_defconfig
new file mode 100644 (file)
index 0000000..d3dcb3c
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="IMX_CONFIG=board/woodburn/imximage.cfg"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_WOODBURN_SD=y
diff --git a/configs/wtk_defconfig b/configs/wtk_defconfig
new file mode 100644 (file)
index 0000000..2ccddc1
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="LCD,SHARP_LQ065T9DR51U"
+CONFIG_PPC=y
+CONFIG_8xx=y
+CONFIG_TARGET_TQM823L=y
diff --git a/configs/x600_defconfig b/configs/x600_defconfig
new file mode 100644 (file)
index 0000000..cb66890
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_X600=y
diff --git a/configs/xaeniax_defconfig b/configs/xaeniax_defconfig
new file mode 100644 (file)
index 0000000..52e301c
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_XAENIAX=y
diff --git a/configs/xfi3_defconfig b/configs/xfi3_defconfig
new file mode 100644 (file)
index 0000000..737db40
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_XFI3=y
diff --git a/configs/xilinx-ppc405-generic_defconfig b/configs/xilinx-ppc405-generic_defconfig
new file mode 100644 (file)
index 0000000..691412c
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x04100000"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_XILINX_PPC405_GENERIC=y
diff --git a/configs/xilinx-ppc405-generic_flash_defconfig b/configs/xilinx-ppc405-generic_flash_defconfig
new file mode 100644 (file)
index 0000000..317b63d
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFFFC"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_XILINX_PPC405_GENERIC=y
diff --git a/configs/xilinx-ppc440-generic_defconfig b/configs/xilinx-ppc440-generic_defconfig
new file mode 100644 (file)
index 0000000..31ce75b
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x04000000,RESET_VECTOR_ADDRESS=0x04100000,BOOT_FROM_XMD=1"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_XILINX_PPC440_GENERIC=y
diff --git a/configs/xilinx-ppc440-generic_flash_defconfig b/configs/xilinx-ppc440-generic_flash_defconfig
new file mode 100644 (file)
index 0000000..635926f
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0xF7F60000,RESET_VECTOR_ADDRESS=0xF7FFFFFC"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_XILINX_PPC440_GENERIC=y
diff --git a/configs/xpedite1000_defconfig b/configs/xpedite1000_defconfig
new file mode 100644 (file)
index 0000000..635da26
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_XPEDITE1000=y
diff --git a/configs/xpedite517x_defconfig b/configs/xpedite517x_defconfig
new file mode 100644 (file)
index 0000000..b8513c1
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC86xx=y
+CONFIG_TARGET_XPEDITE517X=y
diff --git a/configs/xpedite520x_defconfig b/configs/xpedite520x_defconfig
new file mode 100644 (file)
index 0000000..d5f526d
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_XPEDITE520X=y
diff --git a/configs/xpedite537x_defconfig b/configs/xpedite537x_defconfig
new file mode 100644 (file)
index 0000000..8001dd1
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_XPEDITE537X=y
diff --git a/configs/xpedite550x_defconfig b/configs/xpedite550x_defconfig
new file mode 100644 (file)
index 0000000..dc33ca9
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_MPC85xx=y
+CONFIG_TARGET_XPEDITE550X=y
diff --git a/configs/yellowstone_defconfig b/configs/yellowstone_defconfig
new file mode 100644 (file)
index 0000000..843095b
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="YELLOWSTONE"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_YOSEMITE=y
diff --git a/configs/yosemite_defconfig b/configs/yosemite_defconfig
new file mode 100644 (file)
index 0000000..d5eea68
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SYS_EXTRA_OPTIONS="YOSEMITE"
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_YOSEMITE=y
diff --git a/configs/yucca_defconfig b/configs/yucca_defconfig
new file mode 100644 (file)
index 0000000..6c8e20a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_YUCCA=y
diff --git a/configs/zeus_defconfig b/configs/zeus_defconfig
new file mode 100644 (file)
index 0000000..546f10a
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_PPC=y
+CONFIG_4xx=y
+CONFIG_TARGET_ZEUS=y
diff --git a/configs/zipitz2_defconfig b/configs/zipitz2_defconfig
new file mode 100644 (file)
index 0000000..8d921a0
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_ZIPITZ2=y
diff --git a/configs/zmx25_defconfig b/configs/zmx25_defconfig
new file mode 100644 (file)
index 0000000..80a66d0
--- /dev/null
@@ -0,0 +1,2 @@
+CONFIG_ARM=y
+CONFIG_TARGET_ZMX25=y
diff --git a/configs/zynq_microzed_defconfig b/configs/zynq_microzed_defconfig
new file mode 100644 (file)
index 0000000..14024d0
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_ZYNQ_MICROZED=y
diff --git a/configs/zynq_zc70x_defconfig b/configs/zynq_zc70x_defconfig
new file mode 100644 (file)
index 0000000..d2e79a5
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_ZYNQ_ZC70X=y
diff --git a/configs/zynq_zc770_xm010_defconfig b/configs/zynq_zc770_xm010_defconfig
new file mode 100644 (file)
index 0000000..e9f9c4b
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="ZC770_XM010"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_ZYNQ_ZC770=y
diff --git a/configs/zynq_zc770_xm012_defconfig b/configs/zynq_zc770_xm012_defconfig
new file mode 100644 (file)
index 0000000..78f1fe6
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="ZC770_XM012"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_ZYNQ_ZC770=y
diff --git a/configs/zynq_zc770_xm013_defconfig b/configs/zynq_zc770_xm013_defconfig
new file mode 100644 (file)
index 0000000..d96e8ff
--- /dev/null
@@ -0,0 +1,4 @@
+CONFIG_SPL=y
+CONFIG_SYS_EXTRA_OPTIONS="ZC770_XM013"
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_ZYNQ_ZC770=y
diff --git a/configs/zynq_zed_defconfig b/configs/zynq_zed_defconfig
new file mode 100644 (file)
index 0000000..abf7e82
--- /dev/null
@@ -0,0 +1,3 @@
+CONFIG_SPL=y
++S:CONFIG_ARM=y
++S:CONFIG_TARGET_ZYNQ_ZED=y
diff --git a/doc/README.ARM-SoC b/doc/README.ARM-SoC
deleted file mode 100644 (file)
index d6bd624..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-[By Steven Scholz <steven.scholz@imc-berlin.de>, 16 Aug 2004]
-
-Since the cpu/ directory gets clobbered with peripheral driver code I
-started cleaning up arch/arm/cpu/arm920t.
-
-I introduced the concept of Soc (system on a chip) into the ./cpu
-directory. That means that code that is cpu (i.e. core) specific
-resides in
-
-       $(CPUDIR)/
-
-and code that is specific to some SoC (i.e. vendor specific
-peripherals around the core) is moved into
-
-       $(CPUDIR)/$(SOC)/
-
-Thus a library/archive "$(CPUDIR)/$(SOC)/lib$(SOC).a" will be build
-and linked. Examples will be
-
-       arch/arm/cpu/arm920t/imx/
-       arch/arm/cpu/arm920t/s3c24x0
-
-One can select an SoC by passing the name of it to ./mkconfig just
-like
-
-       @./mkconfig $(@:_config=) arm arm920t vcma9 mpl s3c24x0
-
-If there's no VENDOR field (like "mpl" in the above line) one has to
-pass NULL instead:
-
-       @./mkconfig $(@:_config=) arm arm920t mx1ads NULL imx
index 57a39a489b9afe74249a97afc0be2decfd2bcde6..c283dcff62dffc80c6426f41d546aa472cd7a8d5 100644 (file)
@@ -13,34 +13,29 @@ can be reused. No code duplication or symlinking is necessary anymore.
 How it works
 ------------
 
-There is a new directory $(srctree)/spl which contains only a Makefile.
-The object files are built separately for SPL and placed in this directory.
+The object files for SPL are built separately and placed in the "spl" directory.
 The final binaries which are generated are u-boot-spl, u-boot-spl.bin and
 u-boot-spl.map.
 
-During the SPL build a variable named CONFIG_SPL_BUILD is exported
-in the make environment and also appended to CPPFLAGS with -DCONFIG_SPL_BUILD.
+A config option named CONFIG_SPL_BUILD is enabled by Kconfig for SPL.
 Source files can therefore be compiled for SPL with different settings.
-ARM-based boards have previously used the option CONFIG_PRELOADER for it.
 
 For example:
 
 ifeq ($(CONFIG_SPL_BUILD),y)
-COBJS-y += board_spl.o
+obj-y += board_spl.o
 else
-COBJS-y += board.o
+obj-y += board.o
 endif
 
-COBJS-$(CONFIG_SPL_BUILD) += foo.o
+obj-$(CONFIG_SPL_BUILD) += foo.o
 
 #ifdef CONFIG_SPL_BUILD
        foo();
 #endif
 
 
-The building of SPL images can be with:
-
-#define CONFIG_SPL
+The building of SPL images can be enabled by CONFIG_SPL option in Kconfig.
 
 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
@@ -70,17 +65,6 @@ CONFIG_SPL_SPI_LOAD (drivers/mtd/spi/spi_spl_load.o)
 CONFIG_SPL_RAM_DEVICE (common/spl/spl.c)
 CONFIG_SPL_WATCHDOG_SUPPORT (drivers/watchdog/libwatchdog.o)
 
-Normally CPU is assumed to be the same between the SPL and normal
-u-boot build.  However it is possible to specify a different CPU for
-the SPL build for cases where the SPL is expected to run on a
-different CPU model from the main u-boot.  This is done by specifying
-an SPL CPU in boards.cfg as follows:
-
-       normal_cpu:spl_cpu
-
-This case CPU will be set to "normal_cpu" during the main u-boot
-build and "spl_cpu" during the SPL build.
-
 
 Debugging
 ---------
index 800dafe5b01b1b6cc0e6c8f4fcd6d9432c9d699f..5c8720a820aa9566738b2ec0ac09da4a19f7057f 100644 (file)
@@ -59,6 +59,8 @@ contain the following properties.
                       used for MOSI. Defaults to 1 if not present.
 - spi-rx-bus-width - (optional) The bus width(number of data wires) that
                       used for MISO. Defaults to 1 if not present.
+- spi-half-duplex  - (optional) Indicates that the SPI bus should wait for
+                     a header byte before reading data from the slave.
 
 Some SPI controllers and devices support Dual and Quad SPI transfer mode.
 It allows data in SPI system transfered in 2 wires(DUAL) or 4 wires(QUAD).
index 16819c7754410ba137a126d840e950e5e5e1b7a0..4ed30df707ecd8f32b1e62d60c98cf695378efd3 100644 (file)
@@ -26,7 +26,7 @@ Why:  We now have a PHY library, which allows everyone to share PHY
        drivers. All new drivers should use this infrastructure, and
        all old drivers should get converted to use it.
 
-Who:   Andy Fleming <afleming@freescale.com> and driver maintainers
+Who:   Andy Fleming <afleming@gmail.com> and driver maintainers
 
 ---------------------------
 
index ae7e7bfb5bbae7d1e9afcd18699e7b1a8bfbda07..09857912935bd3f70ea23d4cab27cf096f5bf988 100644 (file)
@@ -12,7 +12,7 @@ alias u-boot uboot
 # things simple and easy to look up/coordinate.
 alias aaribaud       Albert Aribaud <albert.u.boot@aribaud.net>
 alias abiessmann     Andreas Bießmann <andreas.devel@googlemail.com>
-alias afleming       Andy Fleming <afleming@freescale.com>
+alias afleming       Andy Fleming <afleming@gmail.com>
 alias ag             Anatolij Gustschin <agust@denx.de>
 alias galak          Kumar Gala <galak@kernel.crashing.org>
 alias gruss          Graeme Russ <graeme.russ@gmail.com>
@@ -27,6 +27,7 @@ alias kimphill       Kim Phillips <kim.phillips@freescale.com>
 alias lukma          Lukasz Majewski <l.majewski@samsung.com>
 alias macpaul        Macpaul Lin <macpaul@andestech.com>
 alias marex          Marek Vasut <marex@denx.de>
+alias masahiro       Masahiro Yamada <yamada.m@jp.panasonic.com>
 alias monstr         Michal Simek <monstr@monstr.eu>
 alias panto          Pantelis Antoniou <panto@antoniou-consulting.com>
 alias prafulla       Prafulla Wadaskar <prafulla@marvell.com>
@@ -110,6 +111,7 @@ alias dfu            uboot, lukma
 alias kerneldoc      uboot, marex
 alias fdt            uboot, Jerry Van Baren <vanbaren@cideas.com>
 alias i2c            uboot, hs
+alias kconfig        uboot, masahiro
 alias mmc            uboot, panto
 alias nand           uboot, scottwood
 alias net            uboot, jhersh
index 4df804671a8b513c6125ac6919384df6cd8170c4..dce99adc6b58cfbcf00530c0d84c1963357a5aaf 100644 (file)
@@ -129,6 +129,14 @@ int __weak ahci_link_up(struct ahci_probe_ent *probe_ent, u8 port)
        return 1;
 }
 
+#ifdef CONFIG_SUNXI_AHCI
+/* The sunxi AHCI controller requires this undocumented setup */
+static void sunxi_dma_init(volatile u8 *port_mmio)
+{
+       clrsetbits_le32(port_mmio + PORT_P0DMACR, 0x0000ff00, 0x00004400);
+}
+#endif
+
 static int ahci_host_init(struct ahci_probe_ent *probe_ent)
 {
 #ifndef CONFIG_SCSI_AHCI_PLAT
@@ -213,6 +221,10 @@ static int ahci_host_init(struct ahci_probe_ent *probe_ent)
                        msleep(500);
                }
 
+#ifdef CONFIG_SUNXI_AHCI
+               sunxi_dma_init(port_mmio);
+#endif
+
                /* Add the spinup command to whatever mode bits may
                 * already be on in the command register.
                 */
@@ -545,6 +557,10 @@ static int ahci_port_start(u8 port)
 
        writel_with_flush(pp->rx_fis, port_mmio + PORT_FIS_ADDR);
 
+#ifdef CONFIG_SUNXI_AHCI
+       sunxi_dma_init(port_mmio);
+#endif
+
        writel_with_flush(PORT_CMD_ICC_ACTIVE | PORT_CMD_FIS_RX |
                          PORT_CMD_POWER_ON | PORT_CMD_SPIN_UP |
                          PORT_CMD_START, port_mmio + PORT_CMD);
index 3ad441393e10f5545573abce64fe058439998916..e0343f71d7ffeeea70cad7c81fcfbc07b23c8801 100644 (file)
@@ -36,7 +36,7 @@
 #endif /* defined(CONFIG_MPC8260) */
 
 #if defined(CONFIG_QE)
-#include <asm/immap_qe.h>
+#include <linux/immap_qe.h>
 
 #define CONFIG_SYS_BOOTCOUNT_ADDR      (CONFIG_SYS_IMMR + 0x110000 + \
                                         QE_MURAM_SIZE - 2 * sizeof(u32))
index dcf6287f66395aa5b100643c0d46973747edefb0..04e4178b15d7273ae9a6eb43c1b5b5bd4bcd0666 100644 (file)
@@ -1857,6 +1857,9 @@ static void set_timing_cfg_8(fsl_ddr_cfg_regs_t *ddr,
 
        acttoact_bg = picos_to_mclk(common_dimm->trrdl_ps);
        wrtord_bg = max(4, picos_to_mclk(7500));
+       if (popts->otf_burst_chop_en)
+               wrtord_bg += 2;
+
        pre_all_rec = 0;
 
        ddr->timing_cfg_8 = (0
index 7cd878aeecb7792cfbab641ddc57473a655965ac..bfc76b3485768d51974616a72a80788efb4248d1 100644 (file)
@@ -8,6 +8,7 @@
 #include <asm/io.h>
 #include <fsl_ddr_sdram.h>
 #include <asm/processor.h>
+#include <fsl_immap.h>
 #include <fsl_ddr.h>
 
 #if (CONFIG_CHIP_SELECTS_PER_CTRL > 4)
@@ -183,12 +184,14 @@ step2:
         * we choose the max, that is 500 us for all of case.
         */
        udelay(500);
-       asm volatile("sync;isync");
+       mb();
+       isb();
 
        /* Let the controller go */
        temp_sdram_cfg = ddr_in32(&ddr->sdram_cfg) & ~SDRAM_CFG_BI;
        ddr_out32(&ddr->sdram_cfg, temp_sdram_cfg | SDRAM_CFG_MEM_EN);
-       asm volatile("sync;isync");
+       mb();
+       isb();
 
        total_gb_size_per_controller = 0;
        for (i = 0; i < CONFIG_CHIP_SELECTS_PER_CTRL; i++) {
index 7df709cc714b92a4d06a85cdea747d28cdb3f643..015333f139a209fd686a4ac173aba02baeeb1b33 100644 (file)
@@ -98,7 +98,7 @@ int cros_ec_spi_command(struct cros_ec_dev *dev, uint8_t cmd, int cmd_version,
        }
 
        out = dev->dout;
-       out[0] = cmd_version;
+       out[0] = EC_CMD_VERSION0 + cmd_version;
        out[1] = cmd;
        out[2] = (uint8_t)dout_len;
        memcpy(out + 3, dout, dout_len);
@@ -165,7 +165,7 @@ int cros_ec_spi_decode_fdt(struct cros_ec_dev *dev, const void *blob)
  */
 int cros_ec_spi_init(struct cros_ec_dev *dev, const void *blob)
 {
-       dev->spi = spi_setup_slave_fdt(blob, dev->parent_node, dev->node);
+       dev->spi = spi_setup_slave_fdt(blob, dev->node, dev->parent_node);
        if (!dev->spi) {
                debug("%s: Could not setup SPI slave\n", __func__);
                return -1;
index 34febf52f0ee993b2172236dbd03a4fa7020789c..464cee16d1174e2cd1512b99f5680fdaa90aef1d 100644 (file)
@@ -22,6 +22,7 @@ obj-$(CONFIG_PXA_MMC_GENERIC) += pxa_mmc_gen.o
 obj-$(CONFIG_SDHCI) += sdhci.o
 obj-$(CONFIG_BCM2835_SDHCI) += bcm2835_sdhci.o
 obj-$(CONFIG_KONA_SDHCI) += kona_sdhci.o
+obj-$(CONFIG_S3C_SDI) += s3c_sdi.o
 obj-$(CONFIG_S5P_SDHCI) += s5p_sdhci.o
 obj-$(CONFIG_SH_MMCIF) += sh_mmcif.o
 obj-$(CONFIG_SPEAR_SDHCI) += spear_sdhci.o
@@ -37,3 +38,4 @@ obj-$(CONFIG_SPL_MMC_BOOT) += fsl_esdhc_spl.o
 else
 obj-$(CONFIG_GENERIC_MMC) += mmc_write.o
 endif
+obj-$(CONFIG_MVEBU_MMC) += mvebu_mmc.o
index 54cfabfb91edb514ad161721b064092b2349c16e..82079d67cd8fc07565e5b8c57cc7e7c8234793b7 100644 (file)
@@ -179,7 +179,7 @@ int bcm2835_sdhci_init(u32 regbase, u32 emmc_freq)
        host->name = "bcm2835_sdhci";
        host->ioaddr = (void *)regbase;
        host->quirks = SDHCI_QUIRK_BROKEN_VOLTAGE | SDHCI_QUIRK_BROKEN_R1B |
-               SDHCI_QUIRK_WAIT_SEND_CMD;
+               SDHCI_QUIRK_WAIT_SEND_CMD | SDHCI_QUIRK_NO_HISPD_BIT;
        host->voltages = MMC_VDD_32_33 | MMC_VDD_33_34 | MMC_VDD_165_195;
        host->ops = &bcm2835_ops;
 
index 5bf36a0309d870f40be5d7d6806f0d3e0066ffb6..0df30bc04530e162603f3f7ae801518f775ae5ef 100644 (file)
@@ -245,7 +245,10 @@ static int dwmci_setup_bus(struct dwmci_host *host, u32 freq)
                return -EINVAL;
        }
 
-       div = DIV_ROUND_UP(sclk, 2 * freq);
+       if (sclk == freq)
+               div = 0;        /* bypass mode */
+       else
+               div = DIV_ROUND_UP(sclk, 2 * freq);
 
        dwmci_writel(host, DWMCI_CLKENA, 0);
        dwmci_writel(host, DWMCI_CLKSRC, 0);
index a57a9b1faff2f31079dc2349fd2240f82f56a894..45bcffb6b2060a7410336cb2e2dec44f47d52767 100644 (file)
@@ -58,30 +58,61 @@ static void mci_set_mode(struct mmc *mmc, u32 hz, u32 blklen)
        atmel_mci_t *mci = mmc->priv;
        u32 bus_hz = get_mci_clk_rate();
        u32 clkdiv = 255;
+       unsigned int version = atmel_mci_get_version(mci);
+       u32 clkodd = 0;
+       u32 mr;
 
        debug("mci: bus_hz is %u, setting clock %u Hz, block size %u\n",
                bus_hz, hz, blklen);
        if (hz > 0) {
-               /* find lowest clkdiv yielding a rate <= than requested */
-               for (clkdiv=0; clkdiv<255; clkdiv++) {
-                       if ((bus_hz / (clkdiv+1) / 2) <= hz)
-                               break;
+               if (version >= 0x500) {
+                       clkdiv = DIV_ROUND_UP(bus_hz, hz) - 2;
+                       if (clkdiv > 511)
+                               clkdiv = 511;
+
+                       clkodd = clkdiv & 1;
+                       clkdiv >>= 1;
+
+                       printf("mci: setting clock %u Hz, block size %u\n",
+                              bus_hz / (clkdiv * 2 + clkodd + 2), blklen);
+               } else {
+                       /* find clkdiv yielding a rate <= than requested */
+                       for (clkdiv = 0; clkdiv < 255; clkdiv++) {
+                               if ((bus_hz / (clkdiv + 1) / 2) <= hz)
+                                       break;
+                       }
+                       printf("mci: setting clock %u Hz, block size %u\n",
+                              (bus_hz / (clkdiv + 1)) / 2, blklen);
+
                }
        }
-       printf("mci: setting clock %u Hz, block size %u\n",
-               (bus_hz / (clkdiv+1)) / 2, blklen);
 
        blklen &= 0xfffc;
-       /* On some platforms RDPROOF and WRPROOF are ignored */
-       writel((MMCI_BF(CLKDIV, clkdiv)
-                | MMCI_BF(BLKLEN, blklen)
-                | MMCI_BIT(RDPROOF)
-                | MMCI_BIT(WRPROOF)), &mci->mr);
+
+       mr = MMCI_BF(CLKDIV, clkdiv);
+
+       /* MCI IP version >= 0x200 has R/WPROOF */
+       if (version >= 0x200)
+               mr |= MMCI_BIT(RDPROOF) | MMCI_BIT(WRPROOF);
+
        /*
-        * On some new platforms BLKLEN in mci->mr is ignored.
-        * Should use the BLKLEN in the block register.
+        * MCI IP version >= 0x500 use bit 16 as clkodd.
+        * MCI IP version < 0x500 use upper 16 bits for blklen.
         */
-       writel(MMCI_BF(BLKLEN, blklen), &mci->blkr);
+       if (version >= 0x500)
+               mr |= MMCI_BF(CLKODD, clkodd);
+       else
+               mr |= MMCI_BF(BLKLEN, blklen);
+
+       writel(mr, &mci->mr);
+
+       /* MCI IP version >= 0x200 has blkr */
+       if (version >= 0x200)
+               writel(MMCI_BF(BLKLEN, blklen), &mci->blkr);
+
+       if (mmc->card_caps & mmc->cfg->host_caps & MMC_MODE_HS)
+               writel(MMCI_BIT(HSMODE), &mci->cfg);
+
        initialized = 1;
 }
 
@@ -376,8 +407,10 @@ int atmel_mci_init(void *regs)
        /* need to be able to pass these in on a board by board basis */
        cfg->voltages = MMC_VDD_32_33 | MMC_VDD_33_34;
        version = atmel_mci_get_version(mci);
-       if ((version & 0xf00) >= 0x300)
+       if ((version & 0xf00) >= 0x300) {
                cfg->host_caps = MMC_MODE_8BIT;
+               cfg->host_caps |= MMC_MODE_HS | MMC_MODE_HS_52MHz;
+       }
 
        cfg->host_caps |= MMC_MODE_4BIT;
 
diff --git a/drivers/mmc/mvebu_mmc.c b/drivers/mmc/mvebu_mmc.c
new file mode 100644 (file)
index 0000000..9759198
--- /dev/null
@@ -0,0 +1,361 @@
+/*
+ * Marvell MMC/SD/SDIO driver
+ *
+ * (C) Copyright 2012
+ * Marvell Semiconductor <www.marvell.com>
+ * Written-by: Maen Suleiman, Gerald Kerma
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <common.h>
+#include <malloc.h>
+#include <part.h>
+#include <mmc.h>
+#include <asm/io.h>
+#include <asm/arch/cpu.h>
+#include <asm/arch/kirkwood.h>
+#include <mvebu_mmc.h>
+
+#define DRIVER_NAME "MVEBU_MMC"
+
+static void mvebu_mmc_write(u32 offs, u32 val)
+{
+       writel(val, CONFIG_SYS_MMC_BASE + (offs));
+}
+
+static u32 mvebu_mmc_read(u32 offs)
+{
+       return readl(CONFIG_SYS_MMC_BASE + (offs));
+}
+
+static int mvebu_mmc_setup_data(struct mmc_data *data)
+{
+       u32 ctrl_reg;
+
+       debug("%s, data %s : blocks=%d blksz=%d\n", DRIVER_NAME,
+             (data->flags & MMC_DATA_READ) ? "read" : "write",
+             data->blocks, data->blocksize);
+
+       /* default to maximum timeout */
+       ctrl_reg = mvebu_mmc_read(SDIO_HOST_CTRL);
+       ctrl_reg |= SDIO_HOST_CTRL_TMOUT(SDIO_HOST_CTRL_TMOUT_MAX);
+       mvebu_mmc_write(SDIO_HOST_CTRL, ctrl_reg);
+
+       if (data->flags & MMC_DATA_READ) {
+               mvebu_mmc_write(SDIO_SYS_ADDR_LOW, (u32)data->dest & 0xffff);
+               mvebu_mmc_write(SDIO_SYS_ADDR_HI, (u32)data->dest >> 16);
+       } else {
+               mvebu_mmc_write(SDIO_SYS_ADDR_LOW, (u32)data->src & 0xffff);
+               mvebu_mmc_write(SDIO_SYS_ADDR_HI, (u32)data->src >> 16);
+       }
+
+       mvebu_mmc_write(SDIO_BLK_COUNT, data->blocks);
+       mvebu_mmc_write(SDIO_BLK_SIZE, data->blocksize);
+
+       return 0;
+}
+
+static int mvebu_mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd,
+                             struct mmc_data *data)
+{
+       int timeout = 10;
+       ushort waittype = 0;
+       ushort resptype = 0;
+       ushort xfertype = 0;
+       ushort resp_indx = 0;
+
+       debug("cmdidx [0x%x] resp_type[0x%x] cmdarg[0x%x]\n",
+             cmd->cmdidx, cmd->resp_type, cmd->cmdarg);
+
+       udelay(10*1000);
+
+       debug("%s: cmd %d (hw state 0x%04x)\n", DRIVER_NAME,
+             cmd->cmdidx, mvebu_mmc_read(SDIO_HW_STATE));
+
+       /* Checking if card is busy */
+       while ((mvebu_mmc_read(SDIO_HW_STATE) & CARD_BUSY)) {
+               if (timeout == 0) {
+                       printf("%s: card busy!\n", DRIVER_NAME);
+                       return -1;
+               }
+               timeout--;
+               udelay(1000);
+       }
+
+       /* Set up for a data transfer if we have one */
+       if (data) {
+               int err = mvebu_mmc_setup_data(data);
+
+               if (err)
+                       return err;
+       }
+
+       resptype = SDIO_CMD_INDEX(cmd->cmdidx);
+
+       /* Analyzing resptype/xfertype/waittype for the command */
+       if (cmd->resp_type & MMC_RSP_BUSY)
+               resptype |= SDIO_CMD_RSP_48BUSY;
+       else if (cmd->resp_type & MMC_RSP_136)
+               resptype |= SDIO_CMD_RSP_136;
+       else if (cmd->resp_type & MMC_RSP_PRESENT)
+               resptype |= SDIO_CMD_RSP_48;
+       else
+               resptype |= SDIO_CMD_RSP_NONE;
+
+       if (cmd->resp_type & MMC_RSP_CRC)
+               resptype |= SDIO_CMD_CHECK_CMDCRC;
+
+       if (cmd->resp_type & MMC_RSP_OPCODE)
+               resptype |= SDIO_CMD_INDX_CHECK;
+
+       if (cmd->resp_type & MMC_RSP_PRESENT) {
+               resptype |= SDIO_UNEXPECTED_RESP;
+               waittype |= SDIO_NOR_UNEXP_RSP;
+       }
+
+       if (data) {
+               resptype |= SDIO_CMD_DATA_PRESENT | SDIO_CMD_CHECK_DATACRC16;
+               xfertype |= SDIO_XFER_MODE_HW_WR_DATA_EN;
+               if (data->flags & MMC_DATA_READ) {
+                       xfertype |= SDIO_XFER_MODE_TO_HOST;
+                       waittype = SDIO_NOR_DMA_INI;
+               } else {
+                       waittype |= SDIO_NOR_XFER_DONE;
+               }
+       } else {
+               waittype |= SDIO_NOR_CMD_DONE;
+       }
+
+       /* Setting cmd arguments */
+       mvebu_mmc_write(SDIO_ARG_LOW, cmd->cmdarg & 0xffff);
+       mvebu_mmc_write(SDIO_ARG_HI, cmd->cmdarg >> 16);
+
+       /* Setting Xfer mode */
+       mvebu_mmc_write(SDIO_XFER_MODE, xfertype);
+
+       mvebu_mmc_write(SDIO_NOR_INTR_STATUS, ~SDIO_NOR_CARD_INT);
+       mvebu_mmc_write(SDIO_ERR_INTR_STATUS, SDIO_POLL_MASK);
+
+       /* Sending command */
+       mvebu_mmc_write(SDIO_CMD, resptype);
+
+       mvebu_mmc_write(SDIO_NOR_INTR_EN, SDIO_POLL_MASK);
+       mvebu_mmc_write(SDIO_ERR_INTR_EN, SDIO_POLL_MASK);
+
+       /* Waiting for completion */
+       timeout = 1000000;
+
+       while (!((mvebu_mmc_read(SDIO_NOR_INTR_STATUS)) & waittype)) {
+               if (mvebu_mmc_read(SDIO_NOR_INTR_STATUS) & SDIO_NOR_ERROR) {
+                       debug("%s: error! cmdidx : %d, err reg: %04x\n",
+                             DRIVER_NAME, cmd->cmdidx,
+                             mvebu_mmc_read(SDIO_ERR_INTR_STATUS));
+                       if (mvebu_mmc_read(SDIO_ERR_INTR_STATUS) &
+                               (SDIO_ERR_CMD_TIMEOUT | SDIO_ERR_DATA_TIMEOUT))
+                               return TIMEOUT;
+                       return COMM_ERR;
+               }
+
+               timeout--;
+               udelay(1);
+               if (timeout <= 0) {
+                       printf("%s: command timed out\n", DRIVER_NAME);
+                       return TIMEOUT;
+               }
+       }
+
+       /* Handling response */
+       if (cmd->resp_type & MMC_RSP_136) {
+               uint response[8];
+
+               for (resp_indx = 0; resp_indx < 8; resp_indx++)
+                       response[resp_indx]
+                               = mvebu_mmc_read(SDIO_RSP(resp_indx));
+
+               cmd->response[0] =      ((response[0] & 0x03ff) << 22) |
+                                       ((response[1] & 0xffff) << 6) |
+                                       ((response[2] & 0xfc00) >> 10);
+               cmd->response[1] =      ((response[2] & 0x03ff) << 22) |
+                                       ((response[3] & 0xffff) << 6) |
+                                       ((response[4] & 0xfc00) >> 10);
+               cmd->response[2] =      ((response[4] & 0x03ff) << 22) |
+                                       ((response[5] & 0xffff) << 6) |
+                                       ((response[6] & 0xfc00) >> 10);
+               cmd->response[3] =      ((response[6] & 0x03ff) << 22) |
+                                       ((response[7] & 0x3fff) << 8);
+       } else if (cmd->resp_type & MMC_RSP_PRESENT) {
+               uint response[3];
+
+               for (resp_indx = 0; resp_indx < 3; resp_indx++)
+                       response[resp_indx]
+                               = mvebu_mmc_read(SDIO_RSP(resp_indx));
+
+               cmd->response[0] =      ((response[2] & 0x003f) << (8 - 8)) |
+                                       ((response[1] & 0xffff) << (14 - 8)) |
+                                       ((response[0] & 0x03ff) << (30 - 8));
+               cmd->response[1] =      ((response[0] & 0xfc00) >> 10);
+               cmd->response[2] =      0;
+               cmd->response[3] =      0;
+       }
+
+       debug("%s: resp[0x%x] ", DRIVER_NAME, cmd->resp_type);
+       debug("[0x%x] ", cmd->response[0]);
+       debug("[0x%x] ", cmd->response[1]);
+       debug("[0x%x] ", cmd->response[2]);
+       debug("[0x%x] ", cmd->response[3]);
+       debug("\n");
+
+       return 0;
+}
+
+static void mvebu_mmc_power_up(void)
+{
+       debug("%s: power up\n", DRIVER_NAME);
+
+       /* disable interrupts */
+       mvebu_mmc_write(SDIO_NOR_INTR_EN, 0);
+       mvebu_mmc_write(SDIO_ERR_INTR_EN, 0);
+
+       /* SW reset */
+       mvebu_mmc_write(SDIO_SW_RESET, SDIO_SW_RESET_NOW);
+
+       mvebu_mmc_write(SDIO_XFER_MODE, 0);
+
+       /* enable status */
+       mvebu_mmc_write(SDIO_NOR_STATUS_EN, SDIO_POLL_MASK);
+       mvebu_mmc_write(SDIO_ERR_STATUS_EN, SDIO_POLL_MASK);
+
+       /* enable interrupts status */
+       mvebu_mmc_write(SDIO_NOR_INTR_STATUS, SDIO_POLL_MASK);
+       mvebu_mmc_write(SDIO_ERR_INTR_STATUS, SDIO_POLL_MASK);
+}
+
+static void mvebu_mmc_set_clk(unsigned int clock)
+{
+       unsigned int m;
+
+       if (clock == 0) {
+               debug("%s: clock off\n", DRIVER_NAME);
+               mvebu_mmc_write(SDIO_XFER_MODE, SDIO_XFER_MODE_STOP_CLK);
+               mvebu_mmc_write(SDIO_CLK_DIV, MVEBU_MMC_BASE_DIV_MAX);
+       } else {
+               m = MVEBU_MMC_BASE_FAST_CLOCK/(2*clock) - 1;
+               if (m > MVEBU_MMC_BASE_DIV_MAX)
+                       m = MVEBU_MMC_BASE_DIV_MAX;
+               mvebu_mmc_write(SDIO_CLK_DIV, m & MVEBU_MMC_BASE_DIV_MAX);
+       }
+
+       udelay(10*1000);
+}
+
+static void mvebu_mmc_set_bus(unsigned int bus)
+{
+       u32 ctrl_reg = 0;
+
+       ctrl_reg = mvebu_mmc_read(SDIO_HOST_CTRL);
+       ctrl_reg &= ~SDIO_HOST_CTRL_DATA_WIDTH_4_BITS;
+
+       switch (bus) {
+       case 4:
+               ctrl_reg |= SDIO_HOST_CTRL_DATA_WIDTH_4_BITS;
+               break;
+       case 1:
+       default:
+               ctrl_reg |= SDIO_HOST_CTRL_DATA_WIDTH_1_BIT;
+       }
+
+       /* default transfer mode */
+       ctrl_reg |= SDIO_HOST_CTRL_BIG_ENDIAN;
+       ctrl_reg &= ~SDIO_HOST_CTRL_LSB_FIRST;
+
+       /* default to maximum timeout */
+       ctrl_reg |= SDIO_HOST_CTRL_TMOUT(SDIO_HOST_CTRL_TMOUT_MAX);
+
+       ctrl_reg |= SDIO_HOST_CTRL_PUSH_PULL_EN;
+
+       ctrl_reg |= SDIO_HOST_CTRL_CARD_TYPE_MEM_ONLY;
+
+       debug("%s: ctrl 0x%04x: %s %s %s\n", DRIVER_NAME, ctrl_reg,
+             (ctrl_reg & SDIO_HOST_CTRL_PUSH_PULL_EN) ?
+             "push-pull" : "open-drain",
+             (ctrl_reg & SDIO_HOST_CTRL_DATA_WIDTH_4_BITS) ?
+             "4bit-width" : "1bit-width",
+             (ctrl_reg & SDIO_HOST_CTRL_HI_SPEED_EN) ?
+             "high-speed" : "");
+
+       mvebu_mmc_write(SDIO_HOST_CTRL, ctrl_reg);
+       udelay(10*1000);
+}
+
+static void mvebu_mmc_set_ios(struct mmc *mmc)
+{
+       debug("%s: bus[%d] clock[%d]\n", DRIVER_NAME,
+             mmc->bus_width, mmc->clock);
+       mvebu_mmc_set_bus(mmc->bus_width);
+       mvebu_mmc_set_clk(mmc->clock);
+}
+
+static int mvebu_mmc_initialize(struct mmc *mmc)
+{
+       debug("%s: mvebu_mmc_initialize", DRIVER_NAME);
+
+       /*
+        * Setting host parameters
+        * Initial Host Ctrl : Timeout : max , Normal Speed mode,
+        * 4-bit data mode, Big Endian, SD memory Card, Push_pull CMD Line
+        */
+       mvebu_mmc_write(SDIO_HOST_CTRL,
+                       SDIO_HOST_CTRL_TMOUT(SDIO_HOST_CTRL_TMOUT_MAX) |
+                       SDIO_HOST_CTRL_DATA_WIDTH_4_BITS |
+                       SDIO_HOST_CTRL_BIG_ENDIAN |
+                       SDIO_HOST_CTRL_PUSH_PULL_EN |
+                       SDIO_HOST_CTRL_CARD_TYPE_MEM_ONLY);
+
+       mvebu_mmc_write(SDIO_CLK_CTRL, 0);
+
+       /* enable status */
+       mvebu_mmc_write(SDIO_NOR_STATUS_EN, SDIO_POLL_MASK);
+       mvebu_mmc_write(SDIO_ERR_STATUS_EN, SDIO_POLL_MASK);
+
+       /* disable interrupts */
+       mvebu_mmc_write(SDIO_NOR_INTR_EN, 0);
+       mvebu_mmc_write(SDIO_ERR_INTR_EN, 0);
+
+       /* SW reset */
+       mvebu_mmc_write(SDIO_SW_RESET, SDIO_SW_RESET_NOW);
+
+       udelay(10*1000);
+
+       return 0;
+}
+
+static const struct mmc_ops mvebu_mmc_ops = {
+       .send_cmd       = mvebu_mmc_send_cmd,
+       .set_ios        = mvebu_mmc_set_ios,
+       .init           = mvebu_mmc_initialize,
+};
+
+static struct mmc_config mvebu_mmc_cfg = {
+       .name           = DRIVER_NAME,
+       .ops            = &mvebu_mmc_ops,
+       .f_min          = MVEBU_MMC_BASE_FAST_CLOCK / MVEBU_MMC_BASE_DIV_MAX,
+       .f_max          = MVEBU_MMC_CLOCKRATE_MAX,
+       .voltages       = MMC_VDD_32_33 | MMC_VDD_33_34,
+       .host_caps      = MMC_MODE_4BIT | MMC_MODE_HS,
+       .part_type      = PART_TYPE_DOS,
+       .b_max          = CONFIG_SYS_MMC_MAX_BLK_COUNT,
+};
+
+int mvebu_mmc_init(bd_t *bis)
+{
+       struct mmc *mmc;
+
+       mvebu_mmc_power_up();
+
+       mmc = mmc_create(&mvebu_mmc_cfg, bis);
+       if (mmc == NULL)
+               return -1;
+
+       return 0;
+}
diff --git a/drivers/mmc/s3c_sdi.c b/drivers/mmc/s3c_sdi.c
new file mode 100644 (file)
index 0000000..1b5b705
--- /dev/null
@@ -0,0 +1,321 @@
+/*
+ * S3C24xx SD/MMC driver
+ *
+ * Based on OpenMoko S3C24xx driver by Harald Welte <laforge@openmoko.org>
+ *
+ * Copyright (C) 2014 Marek Vasut <marex@denx.de>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <common.h>
+#include <malloc.h>
+#include <mmc.h>
+#include <errno.h>
+#include <asm/arch/s3c24x0_cpu.h>
+#include <asm/io.h>
+#include <asm/unaligned.h>
+
+#define S3C2440_SDICON_SDRESET         (1 << 8)
+#define S3C2410_SDICON_FIFORESET       (1 << 1)
+#define S3C2410_SDICON_CLOCKTYPE       (1 << 0)
+
+#define S3C2410_SDICMDCON_LONGRSP      (1 << 10)
+#define S3C2410_SDICMDCON_WAITRSP      (1 << 9)
+#define S3C2410_SDICMDCON_CMDSTART     (1 << 8)
+#define S3C2410_SDICMDCON_SENDERHOST   (1 << 6)
+#define S3C2410_SDICMDCON_INDEX                0x3f
+
+#define S3C2410_SDICMDSTAT_CRCFAIL     (1 << 12)
+#define S3C2410_SDICMDSTAT_CMDSENT     (1 << 11)
+#define S3C2410_SDICMDSTAT_CMDTIMEOUT  (1 << 10)
+#define S3C2410_SDICMDSTAT_RSPFIN      (1 << 9)
+
+#define S3C2440_SDIDCON_DS_WORD                (2 << 22)
+#define S3C2410_SDIDCON_TXAFTERRESP    (1 << 20)
+#define S3C2410_SDIDCON_RXAFTERCMD     (1 << 19)
+#define S3C2410_SDIDCON_BLOCKMODE      (1 << 17)
+#define S3C2410_SDIDCON_WIDEBUS                (1 << 16)
+#define S3C2440_SDIDCON_DATSTART       (1 << 14)
+#define S3C2410_SDIDCON_XFER_RXSTART   (2 << 12)
+#define S3C2410_SDIDCON_XFER_TXSTART   (3 << 12)
+#define S3C2410_SDIDCON_BLKNUM         0x7ff
+
+#define S3C2410_SDIDSTA_FIFOFAIL       (1 << 8)
+#define S3C2410_SDIDSTA_CRCFAIL                (1 << 7)
+#define S3C2410_SDIDSTA_RXCRCFAIL      (1 << 6)
+#define S3C2410_SDIDSTA_DATATIMEOUT    (1 << 5)
+#define S3C2410_SDIDSTA_XFERFINISH     (1 << 4)
+
+#define S3C2410_SDIFSTA_TFHALF         (1 << 11)
+#define S3C2410_SDIFSTA_COUNTMASK      0x7f
+
+/*
+ * WARNING: We only support one SD IP block.
+ * NOTE: It's not likely there will ever exist an S3C24xx with two,
+ *       at least not in this universe all right.
+ */
+static int wide_bus;
+
+static int
+s3cmmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)
+{
+       struct s3c24x0_sdi *sdi_regs = s3c24x0_get_base_sdi();
+       uint32_t sdiccon, sdicsta, sdidcon, sdidsta, sdidat, sdifsta;
+       uint32_t sdicsta_wait_bit = S3C2410_SDICMDSTAT_CMDSENT;
+       unsigned int timeout = 100000;
+       int ret = 0, xfer_len, data_offset = 0;
+       const uint32_t sdidsta_err_mask = S3C2410_SDIDSTA_FIFOFAIL |
+               S3C2410_SDIDSTA_CRCFAIL | S3C2410_SDIDSTA_RXCRCFAIL |
+               S3C2410_SDIDSTA_DATATIMEOUT;
+
+
+       writel(0xffffffff, &sdi_regs->sdicsta);
+       writel(0xffffffff, &sdi_regs->sdidsta);
+       writel(0xffffffff, &sdi_regs->sdifsta);
+
+       /* Set up data transfer (if applicable). */
+       if (data) {
+               writel(data->blocksize, &sdi_regs->sdibsize);
+
+               sdidcon = data->blocks & S3C2410_SDIDCON_BLKNUM;
+               sdidcon |= S3C2410_SDIDCON_BLOCKMODE;
+#if defined(CONFIG_S3C2440)
+               sdidcon |= S3C2440_SDIDCON_DS_WORD | S3C2440_SDIDCON_DATSTART;
+#endif
+               if (wide_bus)
+                       sdidcon |= S3C2410_SDIDCON_WIDEBUS;
+
+               if (data->flags & MMC_DATA_READ) {
+                       sdidcon |= S3C2410_SDIDCON_RXAFTERCMD;
+                       sdidcon |= S3C2410_SDIDCON_XFER_RXSTART;
+               } else {
+                       sdidcon |= S3C2410_SDIDCON_TXAFTERRESP;
+                       sdidcon |= S3C2410_SDIDCON_XFER_TXSTART;
+               }
+
+               writel(sdidcon, &sdi_regs->sdidcon);
+       }
+
+       /* Write CMD arg. */
+       writel(cmd->cmdarg, &sdi_regs->sdicarg);
+
+       /* Write CMD index. */
+       sdiccon = cmd->cmdidx & S3C2410_SDICMDCON_INDEX;
+       sdiccon |= S3C2410_SDICMDCON_SENDERHOST;
+       sdiccon |= S3C2410_SDICMDCON_CMDSTART;
+
+       /* Command with short response. */
+       if (cmd->resp_type & MMC_RSP_PRESENT) {
+               sdiccon |= S3C2410_SDICMDCON_WAITRSP;
+               sdicsta_wait_bit = S3C2410_SDICMDSTAT_RSPFIN;
+       }
+
+       /* Command with long response. */
+       if (cmd->resp_type & MMC_RSP_136)
+               sdiccon |= S3C2410_SDICMDCON_LONGRSP;
+
+       /* Start the command. */
+       writel(sdiccon, &sdi_regs->sdiccon);
+
+       /* Wait for the command to complete or for response. */
+       for (timeout = 100000; timeout; timeout--) {
+               sdicsta = readl(&sdi_regs->sdicsta);
+               if (sdicsta & sdicsta_wait_bit)
+                       break;
+
+               if (sdicsta & S3C2410_SDICMDSTAT_CMDTIMEOUT)
+                       timeout = 1;
+       }
+
+       /* Clean the status bits. */
+       setbits_le32(&sdi_regs->sdicsta, 0xf << 9);
+
+       if (!timeout) {
+               puts("S3C SDI: Command timed out!\n");
+               ret = TIMEOUT;
+               goto error;
+       }
+
+       /* Read out the response. */
+       if (cmd->resp_type & MMC_RSP_136) {
+               cmd->response[0] = readl(&sdi_regs->sdirsp0);
+               cmd->response[1] = readl(&sdi_regs->sdirsp1);
+               cmd->response[2] = readl(&sdi_regs->sdirsp2);
+               cmd->response[3] = readl(&sdi_regs->sdirsp3);
+       } else {
+               cmd->response[0] = readl(&sdi_regs->sdirsp0);
+       }
+
+       /* If there are no data, we're done. */
+       if (!data)
+               return 0;
+
+       xfer_len = data->blocksize * data->blocks;
+
+       while (xfer_len > 0) {
+               sdidsta = readl(&sdi_regs->sdidsta);
+               sdifsta = readl(&sdi_regs->sdifsta);
+
+               if (sdidsta & sdidsta_err_mask) {
+                       printf("S3C SDI: Data error (sdta=0x%08x)\n", sdidsta);
+                       ret = -EIO;
+                       goto error;
+               }
+
+               if (data->flags & MMC_DATA_READ) {
+                       if ((sdifsta & S3C2410_SDIFSTA_COUNTMASK) < 4)
+                               continue;
+                       sdidat = readl(&sdi_regs->sdidat);
+                       put_unaligned_le32(sdidat, data->dest + data_offset);
+               } else {        /* Write */
+                       /* TX FIFO half full. */
+                       if (!(sdifsta & S3C2410_SDIFSTA_TFHALF))
+                               continue;
+
+                       /* TX FIFO is below 32b full, write. */
+                       sdidat = get_unaligned_le32(data->src + data_offset);
+                       writel(sdidat, &sdi_regs->sdidat);
+               }
+               data_offset += 4;
+               xfer_len -= 4;
+       }
+
+       /* Wait for the command to complete or for response. */
+       for (timeout = 100000; timeout; timeout--) {
+               sdidsta = readl(&sdi_regs->sdidsta);
+               if (sdidsta & S3C2410_SDIDSTA_XFERFINISH)
+                       break;
+
+               if (sdidsta & S3C2410_SDIDSTA_DATATIMEOUT)
+                       timeout = 1;
+       }
+
+       /* Clear status bits. */
+       writel(0x6f8, &sdi_regs->sdidsta);
+
+       if (!timeout) {
+               puts("S3C SDI: Command timed out!\n");
+               ret = TIMEOUT;
+               goto error;
+       }
+
+       writel(0, &sdi_regs->sdidcon);
+
+       return 0;
+error:
+       return ret;
+}
+
+static void s3cmmc_set_ios(struct mmc *mmc)
+{
+       struct s3c24x0_sdi *sdi_regs = s3c24x0_get_base_sdi();
+       uint32_t divider = 0;
+
+       wide_bus = (mmc->bus_width == 4);
+
+       if (!mmc->clock)
+               return;
+
+       divider = DIV_ROUND_UP(get_PCLK(), mmc->clock);
+       if (divider)
+               divider--;
+
+       writel(divider, &sdi_regs->sdipre);
+       mdelay(125);
+}
+
+static int s3cmmc_init(struct mmc *mmc)
+{
+       struct s3c24x0_clock_power *clk_power = s3c24x0_get_base_clock_power();
+       struct s3c24x0_sdi *sdi_regs = s3c24x0_get_base_sdi();
+
+       /* Start the clock. */
+       setbits_le32(&clk_power->clkcon, 1 << 9);
+
+#if defined(CONFIG_S3C2440)
+       writel(S3C2440_SDICON_SDRESET, &sdi_regs->sdicon);
+       mdelay(10);
+       writel(0x7fffff, &sdi_regs->sdidtimer);
+#else
+       writel(0xffff, &sdi_regs->sdidtimer);
+#endif
+       writel(MMC_MAX_BLOCK_LEN, &sdi_regs->sdibsize);
+       writel(0x0, &sdi_regs->sdiimsk);
+
+       writel(S3C2410_SDICON_FIFORESET | S3C2410_SDICON_CLOCKTYPE,
+              &sdi_regs->sdicon);
+
+       mdelay(125);
+
+       return 0;
+}
+
+struct s3cmmc_priv {
+       struct mmc_config       cfg;
+       int (*getcd)(struct mmc *);
+       int (*getwp)(struct mmc *);
+};
+
+static int s3cmmc_getcd(struct mmc *mmc)
+{
+       struct s3cmmc_priv *priv = mmc->priv;
+       if (priv->getcd)
+               return priv->getcd(mmc);
+       else
+               return 0;
+}
+
+static int s3cmmc_getwp(struct mmc *mmc)
+{
+       struct s3cmmc_priv *priv = mmc->priv;
+       if (priv->getwp)
+               return priv->getwp(mmc);
+       else
+               return 0;
+}
+
+static const struct mmc_ops s3cmmc_ops = {
+       .send_cmd       = s3cmmc_send_cmd,
+       .set_ios        = s3cmmc_set_ios,
+       .init           = s3cmmc_init,
+       .getcd          = s3cmmc_getcd,
+       .getwp          = s3cmmc_getwp,
+};
+
+int s3cmmc_initialize(bd_t *bis, int (*getcd)(struct mmc *),
+                     int (*getwp)(struct mmc *))
+{
+       struct s3cmmc_priv      *priv;
+       struct mmc              *mmc;
+       struct mmc_config       *cfg;
+
+       priv = calloc(1, sizeof(*priv));
+       if (!priv)
+               return -ENOMEM;
+       cfg = &priv->cfg;
+
+       cfg->name = "S3C MMC";
+       cfg->ops = &s3cmmc_ops;
+       cfg->voltages = MMC_VDD_32_33 | MMC_VDD_33_34;
+       cfg->host_caps = MMC_MODE_4BIT | MMC_MODE_HC | MMC_MODE_HS;
+       cfg->f_min = 400000;
+       cfg->f_max = get_PCLK() / 2;
+       cfg->b_max = 0x80;
+
+#if defined(CONFIG_S3C2410)
+       /*
+        * S3C2410 has some bug that prevents reliable
+        * operation at higher speed
+        */
+       cfg->f_max /= 2;
+#endif
+
+       mmc = mmc_create(cfg, priv);
+       if (!mmc) {
+               free(priv);
+               return -ENOMEM;
+       }
+
+       return 0;
+}
index be5a16a1ba94fed611b3a733f7b2b1a9fcd524e1..8b453cb383c206f2e9acc4d29c425343a3703052 100644 (file)
 #include <asm/errno.h>
 #include <fsl_ifc.h>
 
-#define FSL_IFC_V1_1_0 0x01010000
-#define MAX_BANKS      4
+#ifndef CONFIG_SYS_FSL_IFC_BANK_COUNT
+#define CONFIG_SYS_FSL_IFC_BANK_COUNT  4
+#endif
+
+#define MAX_BANKS      CONFIG_SYS_FSL_IFC_BANK_COUNT
 #define ERR_BYTE       0xFF /* Value returned for read bytes
                                when read failed */
 #define IFC_TIMEOUT_MSECS 10 /* Maximum number of mSecs to wait for IFC
@@ -802,12 +805,30 @@ static void fsl_ifc_select_chip(struct mtd_info *mtd, int chip)
 {
 }
 
-static void fsl_ifc_sram_init(void)
+static int fsl_ifc_sram_init(uint32_t ver)
 {
        struct fsl_ifc *ifc = ifc_ctrl->regs;
        uint32_t cs = 0, csor = 0, csor_8k = 0, csor_ext = 0;
+       uint32_t ncfgr = 0;
        long long end_tick;
 
+       if (ver > FSL_IFC_V1_1_0) {
+               ncfgr = ifc_in32(&ifc->ifc_nand.ncfgr);
+               ifc_out32(&ifc->ifc_nand.ncfgr, ncfgr | IFC_NAND_SRAM_INIT_EN);
+
+               /* wait for  SRAM_INIT bit to be clear or timeout */
+               end_tick = usec2ticks(IFC_TIMEOUT_MSECS * 1000) + get_ticks();
+               while (end_tick > get_ticks()) {
+                       ifc_ctrl->status =
+                               ifc_in32(&ifc->ifc_nand.nand_evter_stat);
+
+                       if (!(ifc_ctrl->status & IFC_NAND_SRAM_INIT_EN))
+                               return 0;
+               }
+               printf("fsl-ifc: Failed to Initialise SRAM\n");
+               return 1;
+       }
+
        cs = ifc_ctrl->cs_nand >> IFC_NAND_CSEL_SHIFT;
 
        /* Save CSOR and CSOR_ext */
@@ -850,11 +871,18 @@ static void fsl_ifc_sram_init(void)
                        break;
        }
 
+       if (ifc_ctrl->status != IFC_NAND_EVTER_STAT_OPC) {
+               printf("fsl-ifc: Failed to Initialise SRAM\n");
+               return 1;
+       }
+
        ifc_out32(&ifc->ifc_nand.nand_evter_stat, ifc_ctrl->status);
 
        /* Restore CSOR and CSOR_ext */
        ifc_out32(&ifc_ctrl->regs->csor_cs[cs].csor, csor);
        ifc_out32(&ifc_ctrl->regs->csor_cs[cs].csor_ext, csor_ext);
+
+       return 0;
 }
 
 static int fsl_ifc_chip_init(int devnum, u8 *addr)
@@ -864,7 +892,7 @@ static int fsl_ifc_chip_init(int devnum, u8 *addr)
        struct fsl_ifc_mtd *priv;
        struct nand_ecclayout *layout;
        uint32_t cspr = 0, csor = 0, ver = 0;
-       int ret;
+       int ret = 0;
 
        if (!ifc_ctrl) {
                fsl_ifc_ctrl_init();
@@ -1006,8 +1034,13 @@ static int fsl_ifc_chip_init(int devnum, u8 *addr)
        }
 
        ver = ifc_in32(&ifc_ctrl->regs->ifc_rev);
-       if (ver == FSL_IFC_V1_1_0)
-               fsl_ifc_sram_init();
+       if (ver >= FSL_IFC_V1_1_0)
+               ret = fsl_ifc_sram_init(ver);
+       if (ret)
+               return ret;
+
+       if (ver >= FSL_IFC_V2_0_0)
+               priv->bufnum_mask = (priv->bufnum_mask * 2) + 1;
 
        ret = nand_scan_ident(mtd, 1, NULL);
        if (ret)
index 510077282cd15996f099aa47d627c63eb0a1d6ad..e336cb1c94b2c9a7d37a2ba168c45d5790f57b0b 100644 (file)
@@ -97,7 +97,7 @@ int nand_spl_load_image(uint32_t offs, unsigned int uboot_size, void *vdst)
        int pages_per_blk;
        int blk_size;
        int bad_marker = 0;
-       int bufnum_mask, bufnum;
+       int bufnum_mask, bufnum, ver = 0;
 
        int csor, cspr;
        int pos = 0;
@@ -130,6 +130,10 @@ int nand_spl_load_image(uint32_t offs, unsigned int uboot_size, void *vdst)
                        bad_marker = 5;
        }
 
+       ver = ifc_in32(&ifc->ifc_rev);
+       if (ver >= FSL_IFC_V2_0_0)
+               bufnum_mask = (bufnum_mask * 2) + 1;
+
        pages_per_blk =
                32 << ((csor & CSOR_NAND_PB_MASK) >> CSOR_NAND_PB_SHIFT);
 
index ef91b924d7d69f75cb123b8e5a9385c090013d5a..85cf22d42ecd08761a149639ddbc2dda47ea590a 100644 (file)
@@ -421,6 +421,7 @@ int spi_flash_cmd_read_ops(struct spi_flash *flash, u32 offset,
                data += read_len;
        }
 
+       free(cmd);
        return ret;
 }
 
index 43de114b529c09397238623fc91cfe90be998654..316e06e17e4db68f49ba33395d78e6e885e94bc5 100644 (file)
@@ -143,6 +143,7 @@ struct fm_eth {
 #define MAX_RXBUF_LOG2         11
 #define MAX_RXBUF_LEN          (1 << MAX_RXBUF_LOG2)
 
-#define PORT_IS_ENABLED(port)  fm_info[fm_port_to_index(port)].enabled
+#define PORT_IS_ENABLED(port)  (fm_port_to_index(port) == -1 ? \
+       0 : fm_info[fm_port_to_index(port)].enabled)
 
 #endif /* __FM_H__ */
index cd787f4eedabf13d091a1fc05577a7cde1b9102b..ff04695c323553dfd9589d15cb5dc70210869054 100644 (file)
@@ -147,6 +147,9 @@ void fm_disable_port(enum fm_port port)
 {
        int i = fm_port_to_index(port);
 
+       if (i == -1)
+               return;
+
        fm_info[i].enabled = 0;
        fman_disable_port(port);
 }
@@ -155,6 +158,9 @@ void fm_enable_port(enum fm_port port)
 {
        int i = fm_port_to_index(port);
 
+       if (i == -1)
+               return;
+
        fm_info[i].enabled = 1;
        fman_enable_port(port);
 }
index de9c0e9cd285558b1e21a4bc030b1b8d366d25e3..5f910c2cdd3025086aba99a15e14118134d7de69 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright 2012 Freescale Semiconductor, Inc.
- *     Andy Fleming <afleming@freescale.com>
+ *     Andy Fleming <afleming@gmail.com>
  *     Roy Zang <tie-fei.zang@freescale.com>
  *
  * SPDX-License-Identifier:    GPL-2.0+
index faec317a0a5750c55d4c2f91687cc5f6a6f28b23..095f00cf976858bb79012c87491ee97846c37173 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright 2009-2011 Freescale Semiconductor, Inc.
- *     Andy Fleming <afleming@freescale.com>
+ *     Andy Fleming <afleming@gmail.com>
  *
  * SPDX-License-Identifier:    GPL-2.0+
  * Some part is taken from tsec.c
index 3a41b0ec173ef8b6ec5a4030d9393054c64c8ce3..231b07573f5b15a35c472bbf8c6cfcb124166412 100644 (file)
@@ -504,8 +504,14 @@ void fsl_pci_init(struct pci_controller *hose, struct fsl_pci_info *pci_info)
                }
 #endif
                if (!enabled) {
-                       /* Let the user know there's no PCIe link */
-                       printf("no link, regs @ 0x%lx\n", pci_info->regs);
+                       /* Let the user know there's no PCIe link for root
+                        * complex. for endpoint, the link may not setup, so
+                        * print undetermined.
+                        */
+                       if (fsl_is_pci_agent(hose))
+                               printf("undetermined, regs @ 0x%lx\n", pci_info->regs);
+                       else
+                               printf("no link, regs @ 0x%lx\n", pci_info->regs);
                        hose->last_busno = hose->first_busno;
                        return;
                }
index 9c5fbd1d69474024c3758d9dffa0405ae2370444..be09a17297c99c6f2596f3eab75bf01e2c1c9b57 100644 (file)
@@ -11,7 +11,7 @@
 #include <command.h>
 #include "asm/errno.h"
 #include "asm/io.h"
-#include "asm/immap_qe.h"
+#include "linux/immap_qe.h"
 #include "qe.h"
 
 #define MPC85xx_DEVDISR_QE_DISABLE     0x1
index 593d96d1a26c1ad409e7440a72adbbf08c1144e6..85386bfc7084aeaf251934f9c8b4052a097d9ffb 100644 (file)
@@ -11,7 +11,7 @@
 #include "malloc.h"
 #include "asm/errno.h"
 #include "asm/io.h"
-#include "asm/immap_qe.h"
+#include "linux/immap_qe.h"
 #include "qe.h"
 #include "uccf.h"
 
index 0b57e2f422869414c5d6e4df555961a65019071e..55941e4601a94c5a75b75d0a578c48a19c543416 100644 (file)
@@ -12,7 +12,7 @@
 
 #include "common.h"
 #include "qe.h"
-#include "asm/immap_qe.h"
+#include "linux/immap_qe.h"
 
 /* Fast or Giga ethernet
 */
index 68045733b8b8c223ceef99b132181e8124fe1e60..c91f084a7c7980de09651fe7826057a61cc49956 100644 (file)
@@ -11,7 +11,7 @@
 #include "malloc.h"
 #include "asm/errno.h"
 #include "asm/io.h"
-#include "asm/immap_qe.h"
+#include "linux/immap_qe.h"
 #include "qe.h"
 #include "uccf.h"
 #include "uec.h"
index 5dc4641bf6be90898c71489723ce0ce4efe2759a..e701787c41a3978d1d9d6b47cf2c950c2dcf6069 100644 (file)
@@ -14,7 +14,7 @@
 #include "net.h"
 #include "malloc.h"
 #include "asm/errno.h"
-#include "asm/immap_qe.h"
+#include "linux/immap_qe.h"
 #include "asm/io.h"
 #include "qe.h"
 #include "uccf.h"
index c92276fdf7199acf1d42c16840a6b75f2ae22455..2969184ee877360da2a170b9f2ddb12722ffb08a 100644 (file)
@@ -428,10 +428,6 @@ void spi_cs_activate(struct spi_slave *slave)
        clrbits_le32(&spi_slave->regs->cs_reg, SPI_SLAVE_SIG_INACT);
        debug("Activate CS, bus %d\n", spi_slave->slave.bus);
        spi_slave->skip_preamble = spi_slave->mode & SPI_PREAMBLE;
-
-       /* Remember time of this transaction so we can honour the bus delay */
-       if (spi_slave->bus->deactivate_delay_us)
-               spi_slave->last_transaction_us = timer_get_us();
 }
 
 /**
@@ -445,6 +441,11 @@ void spi_cs_deactivate(struct spi_slave *slave)
        struct exynos_spi_slave *spi_slave = to_exynos_spi(slave);
 
        setbits_le32(&spi_slave->regs->cs_reg, SPI_SLAVE_SIG_INACT);
+
+       /* Remember time of this transaction so we can honour the bus delay */
+       if (spi_slave->bus->deactivate_delay_us)
+               spi_slave->last_transaction_us = timer_get_us();
+
        debug("Deactivate CS, bus %d\n", spi_slave->slave.bus);
 }
 
index f3f029d634abd1f2045c20ba3e159bc1aecf7e4a..2d5f3850da8e95b41f7bcbfb227eb9958c8d15c6 100644 (file)
@@ -30,6 +30,10 @@ static unsigned long spi_bases[] = {
 #define reg_read readl
 #define reg_write(a, v) writel(v, a)
 
+#if !defined(CONFIG_SYS_SPI_MXC_WAIT)
+#define CONFIG_SYS_SPI_MXC_WAIT                (CONFIG_SYS_HZ/100)     /* 10 ms */
+#endif
+
 struct mxc_spi_slave {
        struct spi_slave slave;
        unsigned long   base;
@@ -212,6 +216,8 @@ int spi_xchg_single(struct spi_slave *slave, unsigned int bitlen,
        int nbytes = DIV_ROUND_UP(bitlen, 8);
        u32 data, cnt, i;
        struct cspi_regs *regs = (struct cspi_regs *)mxcs->base;
+       u32 ts;
+       int status;
 
        debug("%s: bitlen %d dout 0x%x din 0x%x\n",
                __func__, bitlen, (u32)dout, (u32)din);
@@ -272,9 +278,16 @@ int spi_xchg_single(struct spi_slave *slave, unsigned int bitlen,
        reg_write(&regs->ctrl, mxcs->ctrl_reg |
                MXC_CSPICTRL_EN | MXC_CSPICTRL_XCH);
 
+       ts = get_timer(0);
+       status = reg_read(&regs->stat);
        /* Wait until the TC (Transfer completed) bit is set */
-       while ((reg_read(&regs->stat) & MXC_CSPICTRL_TC) == 0)
-               ;
+       while ((status & MXC_CSPICTRL_TC) == 0) {
+               if (get_timer(ts) > CONFIG_SYS_SPI_MXC_WAIT) {
+                       printf("spi_xchg_single: Timeout!\n");
+                       return -1;
+               }
+               status = reg_read(&regs->stat);
+       }
 
        /* Transfer completed, clear any pending request */
        reg_write(&regs->stat, MXC_CSPICTRL_TC | MXC_CSPICTRL_RXOVF);
index 7ddea9b026a969b4207792f1cfe9e39240e7fc48..7d81fbd7f8f52c31dd9503241e721c9ec8ce6bd8 100644 (file)
@@ -53,6 +53,8 @@ struct spi_slave *spi_base_setup_slave_fdt(const void *blob, int busnum,
                mode |= SPI_CPHA;
        if (fdtdec_get_bool(blob, node, "spi-cs-high"))
                mode |= SPI_CS_HIGH;
+       if (fdtdec_get_bool(blob, node, "spi-half-duplex"))
+               mode |= SPI_PREAMBLE;
        return spi_setup_slave(busnum, cs, max_hz, mode);
 }
 #endif
index 04c1a642a3f54a0a057b042da94fc9f6fe89ab49..c4f5157a843735f1c66fc80920e5957542c6c2a5 100644 (file)
@@ -35,6 +35,7 @@ obj-$(CONFIG_USB_EHCI_PPC4XX) += ehci-ppc4xx.o
 obj-$(CONFIG_USB_EHCI_MARVELL) += ehci-marvell.o
 obj-$(CONFIG_USB_EHCI_PCI) += ehci-pci.o
 obj-$(CONFIG_USB_EHCI_SPEAR) += ehci-spear.o
+obj-$(CONFIG_USB_EHCI_SUNXI) += ehci-sunxi.o
 obj-$(CONFIG_USB_EHCI_TEGRA) += ehci-tegra.o
 obj-$(CONFIG_USB_EHCI_VCT) += ehci-vct.o
 obj-$(CONFIG_USB_EHCI_RMOBILE) += ehci-rmobile.o
diff --git a/drivers/usb/host/ehci-sunxi.c b/drivers/usb/host/ehci-sunxi.c
new file mode 100644 (file)
index 0000000..23617b7
--- /dev/null
@@ -0,0 +1,201 @@
+/*
+ * Copyright (C) 2014 Roman Byshko
+ *
+ * Roman Byshko <rbyshko@gmail.com>
+ *
+ * Based on code from
+ * Allwinner Technology Co., Ltd. <www.allwinnertech.com>
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <asm/arch/clock.h>
+#include <asm/gpio.h>
+#include <asm/io.h>
+#include <common.h>
+#include "ehci.h"
+
+#define SUNXI_USB1_IO_BASE             0x01c14000
+#define SUNXI_USB2_IO_BASE             0x01c1c000
+
+#define SUNXI_USB_PMU_IRQ_ENABLE       0x800
+#define SUNXI_USB_CSR                  0x01c13404
+#define SUNXI_USB_PASSBY_EN            1
+
+#define SUNXI_EHCI_AHB_ICHR8_EN                (1 << 10)
+#define SUNXI_EHCI_AHB_INCR4_BURST_EN  (1 << 9)
+#define SUNXI_EHCI_AHB_INCRX_ALIGN_EN  (1 << 8)
+#define SUNXI_EHCI_ULPI_BYPASS_EN      (1 << 0)
+
+static struct sunxi_ehci_hcd {
+       struct usb_hcd *hcd;
+       int usb_rst_mask;
+       int ahb_clk_mask;
+       int gpio_vbus;
+       void *csr;
+       int irq;
+       int id;
+} sunxi_echi_hcd[] = {
+       {
+               .usb_rst_mask = CCM_USB_CTRL_PHY1_RST,
+               .ahb_clk_mask = 1 << AHB_GATE_OFFSET_USB_EHCI0,
+               .gpio_vbus = CONFIG_SUNXI_USB_VBUS0_GPIO,
+               .csr = (void *)SUNXI_USB_CSR,
+               .irq = 39,
+               .id = 1,
+       },
+#if (CONFIG_USB_MAX_CONTROLLER_COUNT > 1)
+       {
+               .usb_rst_mask = CCM_USB_CTRL_PHY2_RST,
+               .ahb_clk_mask = 1 << AHB_GATE_OFFSET_USB_EHCI1,
+               .gpio_vbus = CONFIG_SUNXI_USB_VBUS1_GPIO,
+               .csr = (void *)SUNXI_USB_CSR,
+               .irq = 40,
+               .id = 2,
+       }
+#endif
+};
+
+static int enabled_hcd_count;
+
+static void *get_io_base(int hcd_id)
+{
+       if (hcd_id == 1)
+               return (void *)SUNXI_USB1_IO_BASE;
+       else if (hcd_id == 2)
+               return (void *)SUNXI_USB2_IO_BASE;
+       else
+               return NULL;
+}
+
+static void usb_phy_write(struct sunxi_ehci_hcd *sunxi_ehci, int addr,
+                         int data, int len)
+{
+       int j = 0, usbc_bit = 0;
+       void *dest = sunxi_ehci->csr;
+
+       usbc_bit = 1 << (sunxi_ehci->id * 2);
+       for (j = 0; j < len; j++) {
+               /* set the bit address to be written */
+               clrbits_le32(dest, 0xff << 8);
+               setbits_le32(dest, (addr + j) << 8);
+
+               clrbits_le32(dest, usbc_bit);
+               /* set data bit */
+               if (data & 0x1)
+                       setbits_le32(dest, 1 << 7);
+               else
+                       clrbits_le32(dest, 1 << 7);
+
+               setbits_le32(dest, usbc_bit);
+
+               clrbits_le32(dest, usbc_bit);
+
+               data >>= 1;
+       }
+}
+
+static void sunxi_usb_phy_init(struct sunxi_ehci_hcd *sunxi_ehci)
+{
+       /* The following comments are machine
+        * translated from Chinese, you have been warned!
+        */
+
+       /* adjust PHY's magnitude and rate */
+       usb_phy_write(sunxi_ehci, 0x20, 0x14, 5);
+
+       /* threshold adjustment disconnect */
+#ifdef CONFIG_SUN4I
+       usb_phy_write(sunxi_ehci, 0x2a, 3, 2);
+#else
+       usb_phy_write(sunxi_ehci, 0x2a, 2, 2);
+#endif
+
+       return;
+}
+
+static void sunxi_usb_passby(struct sunxi_ehci_hcd *sunxi_ehci, int enable)
+{
+       unsigned long bits = 0;
+       void *addr = get_io_base(sunxi_ehci->id) + SUNXI_USB_PMU_IRQ_ENABLE;
+
+       bits = SUNXI_EHCI_AHB_ICHR8_EN |
+               SUNXI_EHCI_AHB_INCR4_BURST_EN |
+               SUNXI_EHCI_AHB_INCRX_ALIGN_EN |
+               SUNXI_EHCI_ULPI_BYPASS_EN;
+
+       if (enable)
+               setbits_le32(addr, bits);
+       else
+               clrbits_le32(addr, bits);
+
+       return;
+}
+
+static void sunxi_ehci_enable(struct sunxi_ehci_hcd *sunxi_ehci)
+{
+       struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
+
+       setbits_le32(&ccm->usb_clk_cfg, sunxi_ehci->usb_rst_mask);
+       setbits_le32(&ccm->ahb_gate0, sunxi_ehci->ahb_clk_mask);
+
+       sunxi_usb_phy_init(sunxi_ehci);
+
+       sunxi_usb_passby(sunxi_ehci, SUNXI_USB_PASSBY_EN);
+
+       gpio_direction_output(sunxi_ehci->gpio_vbus, 1);
+}
+
+static void sunxi_ehci_disable(struct sunxi_ehci_hcd *sunxi_ehci)
+{
+       struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
+
+       gpio_direction_output(sunxi_ehci->gpio_vbus, 0);
+
+       sunxi_usb_passby(sunxi_ehci, !SUNXI_USB_PASSBY_EN);
+
+       clrbits_le32(&ccm->ahb_gate0, sunxi_ehci->ahb_clk_mask);
+       clrbits_le32(&ccm->usb_clk_cfg, sunxi_ehci->usb_rst_mask);
+}
+
+int ehci_hcd_init(int index, enum usb_init_type init, struct ehci_hccr **hccr,
+               struct ehci_hcor **hcor)
+{
+       struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
+       struct sunxi_ehci_hcd *sunxi_ehci = &sunxi_echi_hcd[index];
+
+       /* enable common PHY only once */
+       if (index == 0)
+               setbits_le32(&ccm->usb_clk_cfg, CCM_USB_CTRL_PHYGATE);
+
+       sunxi_ehci_enable(sunxi_ehci);
+
+       *hccr = get_io_base(sunxi_ehci->id);
+
+       *hcor = (struct ehci_hcor *)((uint32_t) *hccr
+                               + HC_LENGTH(ehci_readl(&(*hccr)->cr_capbase)));
+
+       debug("sunxi-ehci: init hccr %x and hcor %x hc_length %d\n",
+             (uint32_t)*hccr, (uint32_t)*hcor,
+             (uint32_t)HC_LENGTH(ehci_readl(&(*hccr)->cr_capbase)));
+
+       enabled_hcd_count++;
+
+       return 0;
+}
+
+int ehci_hcd_stop(int index)
+{
+       struct sunxi_ccm_reg *ccm = (struct sunxi_ccm_reg *)SUNXI_CCM_BASE;
+       struct sunxi_ehci_hcd *sunxi_ehci = &sunxi_echi_hcd[index];
+
+       sunxi_ehci_disable(sunxi_ehci);
+
+       /* disable common PHY only once, for the last enabled hcd */
+       if (enabled_hcd_count == 1)
+               clrbits_le32(&ccm->usb_clk_cfg, CCM_USB_CTRL_PHYGATE);
+
+       enabled_hcd_count--;
+
+       return 0;
+}
index bf142fc2f9d8b22e32926b18923da492519ea449..8e41a9511d47b77f04463d340037d14390e13974 100644 (file)
@@ -2,4 +2,3 @@
 /bmp_logo.h
 /bmp_logo_data.h
 /config.h
-/config.mk
index 90e850929b7d4c625dee3baeb7ed4307af2fe0cc..35b8a8c09b1879530e971f9583e40e253a980f9a 100644 (file)
 #define PORT_SCR_ERR           0x30 /* SATA phy register: SError */
 #define PORT_SCR_ACT           0x34 /* SATA phy register: SActive */
 
+#ifdef CONFIG_SUNXI_AHCI
+#define PORT_P0DMACR           0x70 /* SUNXI specific "DMA register" */
+#endif
+
 /* PORT_IRQ_{STAT,MASK} bits */
 #define PORT_IRQ_COLD_PRES     (1 << 31) /* cold presence detect */
 #define PORT_IRQ_TF_ERR                (1 << 30) /* task file error */
index 090574d8c297ba38cc21e93b135230ae800ef3ee..de2414806b7673b03a36599ff7f2a8975e2c22e8 100644 (file)
@@ -36,7 +36,9 @@ typedef struct atmel_mci {
        u32     ier;    /* 0x44 */
        u32     idr;    /* 0x48 */
        u32     imr;    /* 0x4c */
-       u32     reserved[43];
+       u32     dma;    /* 0x50 */
+       u32     cfg;    /* 0x54 */
+       u32     reserved[41];
        u32     version;
 } atmel_mci_t;
 
@@ -67,6 +69,10 @@ typedef struct atmel_mci {
 #define MMCI_PDCPADV_SIZE                      1
 #define MMCI_PDCMODE_OFFSET                    15
 #define MMCI_PDCMODE_SIZE                      1
+/* MCI IP version >= 0x500, MR bit 16 used for CLKODD */
+#define MMCI_CLKODD_OFFSET                     16
+#define MMCI_CLKODD_SIZE                       1
+/* MCI IP version < 0x200, MR higher 16bits for BLKLEN */
 #define MMCI_BLKLEN_OFFSET                     16
 #define MMCI_BLKLEN_SIZE                       16
 
@@ -185,6 +191,16 @@ typedef struct atmel_mci {
 #define MMCI_TRTYP_MULTI_BLOCK                 1
 #define MMCI_TRTYP_STREAM                      2
 
+/* Bitfields in CFG */
+#define MMCI_FIFOMODE_OFFSET                   0
+#define MMCI_FIFOMODE_SIZE                     1
+#define MMCI_FERRCTRL_OFFSET                   4
+#define MMCI_FERRCTRL_SIZE                     1
+#define MMCI_HSMODE_OFFSET                     8
+#define MMCI_HSMODE_SIZE                       1
+#define MMCI_LSYNC_OFFSET                      12
+#define MMCI_LSYNC_SIZE                                1
+
 /* Bit manipulation macros */
 #define MMCI_BIT(name)                                 \
        (1 << MMCI_##name##_OFFSET)
index 1af9ba686d95d927d2fff266af9b13df731020df..953d06b53c4afc36fa7a012f08b6d8472002cd8a 100644 (file)
@@ -23,7 +23,6 @@
 #define CONFIG_RAMBOOT_TEXT_BASE       CONFIG_SYS_TEXT_BASE
 #define CONFIG_RESET_VECTOR_ADDRESS    0xfffffffc
 #else
-#define CONFIG_SPL
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
@@ -340,7 +339,7 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_SYS_CS3_FTIM1           (FTIM1_GPCM_TACO(0x0e) | \
                                        FTIM1_GPCM_TRAD(0x1f))
 #define CONFIG_SYS_CS3_FTIM2           (FTIM2_GPCM_TCS(0x0e) | \
-                                       FTIM2_GPCM_TCH(0x0) | \
+                                       FTIM2_GPCM_TCH(0x8) | \
                                        FTIM2_GPCM_TWP(0x1f))
 #define CONFIG_SYS_CS3_FTIM3           0x0
 
index 5a316c83ad18ccabab0453e615498ee6858d2018..56a3e9486851994c9e2cc96ee08f1434a1c38642 100644 (file)
@@ -25,7 +25,6 @@
 #endif
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL
 #define CONFIG_SPL_INIT_MINIMAL
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_NAND_SUPPORT
index 7bb5d33d0cc974a0fe82c9738bf897d060533994..aeded6d85b40c436998a39f5036525210d07cb09 100644 (file)
@@ -41,7 +41,6 @@
 #endif
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL
 #define CONFIG_SPL_INIT_MINIMAL
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_NAND_SUPPORT
@@ -354,7 +353,7 @@ combinations. this should be removed later
 #define CONFIG_SYS_CS2_FTIM1           (FTIM1_GPCM_TACO(0x0e) | \
                                        FTIM1_GPCM_TRAD(0x1f))
 #define CONFIG_SYS_CS2_FTIM2           (FTIM2_GPCM_TCS(0x0e) | \
-                                       FTIM2_GPCM_TCH(0x0) | \
+                                       FTIM2_GPCM_TCH(0x8) | \
                                        FTIM2_GPCM_TWP(0x1f))
 #define CONFIG_SYS_CS2_FTIM3           0x0
 #endif
index 9e12fac5b13315850216f9b65eb3707181778f2a..715616d5445b872bca0db030e343a5e2d4f3bb23 100644 (file)
@@ -24,8 +24,6 @@
 #endif
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL
-#define CONFIG_TPL
 #ifdef CONFIG_TPL_BUILD
 #define CONFIG_SPL_NAND_BOOT
 #define CONFIG_SPL_FLUSH_IMAGE
 #define CONFIG_SYS_CS2_FTIM1   (FTIM1_GPCM_TACO(0x0e) | \
                                FTIM1_GPCM_TRAD(0x1f))
 #define CONFIG_SYS_CS2_FTIM2   (FTIM2_GPCM_TCS(0x0e) | \
-                               FTIM2_GPCM_TCH(0x0) | \
+                               FTIM2_GPCM_TCH(0x8) | \
                                FTIM2_GPCM_TWP(0x1f))
 #define CONFIG_SYS_CS2_FTIM3   0x0
 
index 69b2cb197056dedee2fbc91d49c1f48d6a5e7b08..dd8122965ad51ceb5ff2421c5fef136a539321da 100644 (file)
@@ -19,7 +19,6 @@
 #define CONFIG_MPC8313ERDB     1
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL
 #define CONFIG_SPL_INIT_MINIMAL
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_NAND_SUPPORT
index d612a8b9c4f48e3528a9b8b44d8eab932388f350..a373990e5d014e9a28c16f08615d22b18144e892 100644 (file)
@@ -21,7 +21,6 @@
 #define CONFIG_NAND_FSL_IFC
 
 #ifdef CONFIG_SDCARD
-#define CONFIG_SPL
 #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
 #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
 #ifdef CONFIG_SECURE_BOOT
 #define CONFIG_SPL_INIT_MINIMAL
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SYS_NAND_U_BOOT_OFFS    0
 #define CONFIG_SYS_LDSCRIPT    "arch/powerpc/cpu/mpc85xx/u-boot-nand.lds"
 #else
-#define CONFIG_TPL
 #ifdef CONFIG_TPL_BUILD
 #define CONFIG_SPL_NAND_BOOT
 #define CONFIG_SPL_FLUSH_IMAGE
@@ -537,7 +533,7 @@ extern unsigned long get_sdram_size(void);
 #define CONFIG_SYS_CS3_FTIM1           (FTIM1_GPCM_TACO(0x0e) | \
                                        FTIM1_GPCM_TRAD(0x1f))
 #define CONFIG_SYS_CS3_FTIM2           (FTIM2_GPCM_TCS(0x0e) | \
-                                       FTIM2_GPCM_TCH(0x0) | \
+                                       FTIM2_GPCM_TCH(0x8) | \
                                        FTIM2_GPCM_TWP(0x1f))
 #define CONFIG_SYS_CS3_FTIM3           0x0
 
index 959cdf69bbb491a99eef0599ec1d46441ee4e259..54e2569ac8bba3fc5fa65e976a87cb337a8055d7 100644 (file)
@@ -16,7 +16,6 @@
 #endif
 
 #ifdef CONFIG_SDCARD
-#define CONFIG_SPL
 #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
 #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
-#define CONFIG_TPL
 #ifdef CONFIG_TPL_BUILD
 #define CONFIG_SPL_NAND_BOOT
 #define CONFIG_SPL_FLUSH_IMAGE
diff --git a/include/configs/P1023RDS.h b/include/configs/P1023RDS.h
deleted file mode 100644 (file)
index ac75b9c..0000000
+++ /dev/null
@@ -1,479 +0,0 @@
-/*
- * Copyright 2010-2012 Freescale Semiconductor, Inc.
- *
- * Authors:  Roy Zang <tie-fei.zang@freescale.com>
- *          Chunhe Lan <b25806@freescale.com>
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-/*
- * p1023rds board configuration file
- *
- */
-#ifndef __CONFIG_H
-#define __CONFIG_H
-
-#ifndef CONFIG_SYS_TEXT_BASE
-#define CONFIG_SYS_TEXT_BASE   0xeff40000
-#endif
-
-#ifndef CONFIG_SYS_MONITOR_BASE
-#define CONFIG_SYS_MONITOR_BASE        CONFIG_SYS_TEXT_BASE    /* start of monitor */
-#endif
-
-#ifndef CONFIG_RESET_VECTOR_ADDRESS
-#define CONFIG_RESET_VECTOR_ADDRESS    0xeffffffc
-#endif
-
-/* High Level Configuration Options */
-#define CONFIG_BOOKE           /* BOOKE */
-#define CONFIG_E500            /* BOOKE e500 family */
-#define CONFIG_P1023
-#define CONFIG_P1023RDS
-#define CONFIG_MP              /* support multiple processors */
-
-#define CONFIG_FSL_ELBC                /* Has Enhanced localbus controller */
-#define CONFIG_PCI             /* Enable PCI/PCIE */
-#define CONFIG_PCIE1           /* PCIE controler 1 (slot 1) */
-#define CONFIG_PCIE2           /* PCIE controler 2 (slot 2) */
-#define CONFIG_PCIE3           /* PCIE controler 3 (slot 3) */
-#define CONFIG_FSL_PCI_INIT    /* Use common FSL init code */
-#define CONFIG_PCI_INDIRECT_BRIDGE     /* indirect PCI bridge support */
-#define CONFIG_FSL_PCIE_RESET  /* need PCIe reset errata */
-#define CONFIG_SYS_PCI_64BIT   /* enable 64-bit PCI resources */
-#define CONFIG_FSL_LAW         /* Use common FSL init code */
-
-#ifndef __ASSEMBLY__
-extern unsigned long get_clock_freq(void);
-#endif
-
-#define CONFIG_SYS_CLK_FREQ    66666666
-#define CONFIG_DDR_CLK_FREQ    CONFIG_SYS_CLK_FREQ
-
-/*
- * These can be toggled for performance analysis, otherwise use default.
- */
-#define CONFIG_L2_CACHE                        /* toggle L2 cache */
-#define CONFIG_BTB                     /* toggle branch predition */
-#define CONFIG_HWCONFIG
-
-#define CONFIG_ENABLE_36BIT_PHYS
-
-#define CONFIG_SYS_MEMTEST_START       0x00000000      /* memtest works on */
-#define CONFIG_SYS_MEMTEST_END         0x1fffffff      /* fix me, only 1G */
-#define CONFIG_PANIC_HANG      /* do not reset board on panic */
-
-#define CONFIG_SYS_LBC_LBCR    0x00000000      /* Implement conversion of
-                                               addresses in the LBC */
-
-/* DDR Setup */
-#define CONFIG_VERY_BIG_RAM
-
-#define CONFIG_ECC_INIT_VIA_DDRCONTROLLER
-#define CONFIG_MEM_INIT_VALUE  0xDeadBeef
-
-#define CONFIG_SYS_DDR_SDRAM_BASE      0x00000000
-#define CONFIG_SYS_SDRAM_BASE          CONFIG_SYS_DDR_SDRAM_BASE
-
-#define CONFIG_DIMM_SLOTS_PER_CTLR     1
-#define CONFIG_CHIP_SELECTS_PER_CTRL   2
-
-/* These are used when DDR doesn't use SPD.  */
-#define CONFIG_SYS_SDRAM_SIZE          2048u   /* DDR is 2GB */
-
-/* Default settings for "stable" mode */
-#define CONFIG_SYS_DDR_CS0_BNDS                0x0000003F
-#define CONFIG_SYS_DDR_CS1_BNDS                0x0040007F
-#define CONFIG_SYS_DDR_CS0_CONFIG      0x80014302
-#define CONFIG_SYS_DDR_CS1_CONFIG      0x80014302
-#define CONFIG_SYS_DDR_TIMING_3                0x00020000
-#define CONFIG_SYS_DDR_TIMING_0                0x40110104
-#define CONFIG_SYS_DDR_TIMING_1                0x5C59E544
-#define CONFIG_SYS_DDR_TIMING_2                0x0fA888CA
-#define CONFIG_SYS_DDR_MODE_1          0x00441210
-#define CONFIG_SYS_DDR_MODE_2          0x00000000
-#define CONFIG_SYS_DDR_MODE_CTRL       0x00000000
-#define CONFIG_SYS_DDR_INTERVAL                0x0A280100
-#define CONFIG_SYS_DDR_DATA_INIT       0xdeadbeef
-#define CONFIG_SYS_DDR_CLK_CTRL                0x01800000
-#define CONFIG_SYS_DDR_TIMING_4                0x00000001
-#define CONFIG_SYS_DDR_TIMING_5                0x01401400
-#define CONFIG_SYS_DDR_ZQ_CNTL         0x89080600
-#define CONFIG_SYS_DDR_WRLVL_CNTL      0x8675F605
-#define CONFIG_SYS_DDR_CONTROL 0xC70C0008 /* Type = DDR3: No Interleaving */
-#define CONFIG_SYS_DDR_CONTROL2                0x24401010
-#define CONFIG_SYS_DDR_CDR1            0x00000000
-#define CONFIG_SYS_DDR_CDR2            0x00000000
-
-#define CONFIG_SYS_DDR_ERR_INT_EN      0x00000000
-#define CONFIG_SYS_DDR_ERR_DIS         0x00000000
-#define CONFIG_SYS_DDR_SBE             0x00000000
-
-/* Settings that differ for "performance" mode */
-#define CONFIG_SYS_DDR_CS0_BNDS_PERF   0x0000007F /* Interleaving Enabled */
-#define CONFIG_SYS_DDR_CS1_BNDS_PERF   0x00000000 /* Interleaving Enabled */
-#define CONFIG_SYS_DDR_CS1_CONFIG_PERF 0x80014302
-#define CONFIG_SYS_DDR_TIMING_1_PERF   0x5C58E544
-#define CONFIG_SYS_DDR_TIMING_2_PERF   0x0FA888CA
-/* Type = DDR3: cs0-cs1 interleaving */
-#define CONFIG_SYS_DDR_CONTROL_PERF    0xC70C4008
-#define CONFIG_SYS_DDR_CDR_1           0x00000000
-#define CONFIG_SYS_DDR_CDR_2           0x00000000
-
-
-/*
- * Memory map
- *
- * 0x0000_0000 0x7fff_ffff     DDR                     2G Cacheable
- * 0x8000_0000 0xbfff_ffff     PCI Express Mem         1G non-cacheable
- * 0xc000_0000 0xdfff_ffff     PCI                     512M non-cacheable
- * 0xe100_0000 0xe3ff_ffff     PCI IO range            4M non-cacheable
- *
- * Localbus non-cacheable
- * 0xe000_0000 0xe003_ffff     BCSR                    256K BCSR
- * 0xee00_0000 0xefff_ffff     NOR flash               32M NOR flash
- * 0xff00_0000 0xff3f_ffff     DPAA_QBMAN              4M
- * 0xff60_0000 0xff7f_ffff     CCSR                    2M non-cacheable
- * 0xffa0_0000 0xffaf_ffff     NAND                    1M non-cacheable
- * 0xffd0_0000 0xffd0_3fff     L1 for stack            16K Cacheable TLB0
- */
-
-/*
- * Local Bus Definitions
- */
-#define CONFIG_SYS_BCSR_BASE           0xe0000000 /* start of on board FPGA */
-#define CONFIG_SYS_BCSR_BASE_PHYS      CONFIG_SYS_BCSR_BASE
-
-#define CONFIG_SYS_FLASH_BASE          0xee000000 /* start of FLASH 32M */
-
-#define CONFIG_SYS_FLASH_BASE_PHYS     CONFIG_SYS_FLASH_BASE
-
-#define CONFIG_FLASH_BR_PRELIM  (BR_PHYS_ADDR(CONFIG_SYS_FLASH_BASE_PHYS) \
-               | BR_PS_16 | BR_V)
-#define CONFIG_FLASH_OR_PRELIM 0xfe000ff7
-
-#define CONFIG_FLASH_CFI_DRIVER
-#define CONFIG_SYS_FLASH_CFI
-#define CONFIG_SYS_FLASH_EMPTY_INFO
-
-#define CONFIG_SYS_MAX_FLASH_BANKS     1       /* number of banks */
-#define CONFIG_SYS_MAX_FLASH_SECT      512     /* sectors per device */
-#define CONFIG_SYS_FLASH_ERASE_TOUT    60000   /* Flash Erase Timeout (ms) */
-#define CONFIG_SYS_FLASH_WRITE_TOUT    500     /* Flash Write Timeout (ms) */
-
-#if defined(CONFIG_SYS_SPL)
-#define CONFIG_SYS_RAMBOOT
-#endif
-
-#define CONFIG_BOARD_EARLY_INIT_F      /* call board_early_init_f function */
-#define CONFIG_BOARD_EARLY_INIT_R      /* call board_early_init_r function */
-
-#define CONFIG_SYS_INIT_RAM_LOCK
-#define CONFIG_SYS_INIT_RAM_ADDR       0xffd00000      /* Initial L1 address */
-#define CONFIG_SYS_INIT_RAM_END        0x00004000      /* End of used area in RAM */
-
-#define CONFIG_SYS_GBL_DATA_OFFSET     \
-       (CONFIG_SYS_INIT_RAM_END - GENERATED_GBL_DATA_SIZE)
-#define CONFIG_SYS_INIT_SP_OFFSET      CONFIG_SYS_GBL_DATA_OFFSET
-
-#define CONFIG_SYS_MONITOR_LEN (768 * 1024)
-#define CONFIG_SYS_MALLOC_LEN  (6 * 1024 * 1024) /* Reserved for malloc */
-
-#ifndef CONFIG_NAND_SPL
-#define CONFIG_SYS_NAND_BASE           0xffa00000
-#define CONFIG_SYS_NAND_BASE_PHYS      CONFIG_SYS_NAND_BASE
-#else
-#define CONFIG_SYS_NAND_BASE           0xfff00000
-#define CONFIG_SYS_NAND_BASE_PHYS      CONFIG_SYS_NAND_BASE
-#endif
-
-#define CONFIG_SYS_NAND_BASE_LIST      {CONFIG_SYS_NAND_BASE}
-#define CONFIG_SYS_MAX_NAND_DEVICE     1
-#define CONFIG_MTD_NAND_VERIFY_WRITE
-#define CONFIG_CMD_NAND
-#define CONFIG_NAND_FSL_ELBC
-#define CONFIG_SYS_NAND_BLOCK_SIZE     (16 * 1024)
-
-/* NAND boot: 4K NAND loader config */
-#define CONFIG_SYS_NAND_SPL_SIZE       0x1000
-#define CONFIG_SYS_NAND_U_BOOT_SIZE    ((768 << 10) + CONFIG_SYS_NAND_SPL_SIZE)
-#define CONFIG_SYS_NAND_U_BOOT_DST     (0x11000000 - CONFIG_SYS_NAND_SPL_SIZE)
-#define CONFIG_SYS_NAND_U_BOOT_START   0x11000000
-#define CONFIG_SYS_NAND_U_BOOT_OFFS    (0)
-#define CONFIG_SYS_NAND_U_BOOT_RELOC   0x00010000
-#define CONFIG_SYS_NAND_U_BOOT_RELOC_SP        (CONFIG_SYS_NAND_U_BOOT_RELOC + 0x10000)
-
-/* NAND flash config */
-#define CONFIG_SYS_NAND_BR_PRELIM  (BR_PHYS_ADDR(CONFIG_SYS_NAND_BASE_PHYS) \
-                               | (2<<BR_DECC_SHIFT)    /* Use HW ECC */ \
-                               | BR_PS_8               /* Port Size = 8bit */ \
-                               | BR_MS_FCM             /* MSEL = FCM */ \
-                               | BR_V)                 /* valid */
-#define CONFIG_SYS_NAND_OR_PRELIM  (0xFFF80000         /* length 32K */ \
-                               | OR_FCM_CSCT \
-                               | OR_FCM_CST \
-                               | OR_FCM_CHT \
-                               | OR_FCM_SCY_1 \
-                               | OR_FCM_TRLX \
-                               | OR_FCM_EHTR)
-
-#define CONFIG_SYS_BR0_PRELIM  CONFIG_FLASH_BR_PRELIM  /* NOR Base Address */
-#define CONFIG_SYS_OR0_PRELIM  CONFIG_FLASH_OR_PRELIM  /* NOR Options */
-/* chip select 1 - BCSR */
-#define CONFIG_SYS_BR1_PRELIM  (BR_PHYS_ADDR(CONFIG_SYS_BCSR_BASE_PHYS) \
-                               | BR_MS_GPCM | BR_PS_8 | BR_V)
-#define CONFIG_SYS_OR1_PRELIM  (OR_AM_32KB | OR_GPCM_CSNT | OR_GPCM_XACS \
-                               | OR_GPCM_SCY | OR_GPCM_TRLX | OR_GPCM_EHTR \
-                               | OR_GPCM_EAD)
-
-/* Serial Port
- * open - index 2
- * shorted - index 1
- */
-#define CONFIG_CONS_INDEX              1
-#undef CONFIG_SERIAL_SOFTWARE_FIFO
-#define CONFIG_SYS_NS16550
-#define CONFIG_SYS_NS16550_SERIAL
-#define CONFIG_SYS_NS16550_REG_SIZE    1
-#define CONFIG_SYS_NS16550_CLK         get_bus_freq(0)
-#ifdef CONFIG_NAND_SPL
-#define CONFIG_NS16550_MIN_FUNCTIONS
-#endif
-
-#define CONFIG_SYS_BAUDRATE_TABLE      \
-       {300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 115200}
-
-#define CONFIG_SYS_NS16550_COM1        (CONFIG_SYS_CCSRBAR + 0x4500)
-#define CONFIG_SYS_NS16550_COM2        (CONFIG_SYS_CCSRBAR + 0x4600)
-
-/* Use the HUSH parser */
-#define CONFIG_SYS_HUSH_PARSER
-
-/*
- * Pass open firmware flat tree
- */
-#define CONFIG_OF_LIBFDT
-#define CONFIG_OF_BOARD_SETUP
-#define CONFIG_OF_STDOUT_VIA_ALIAS
-
-/* new uImage format support */
-#define CONFIG_FIT
-#define CONFIG_FIT_VERBOSE     /* enable fit_format_{error,warning}() */
-
-/* I2C */
-#define CONFIG_SYS_I2C
-#define CONFIG_SYS_I2C_FSL
-#define CONFIG_SYS_FSL_I2C_SPEED       400000
-#define CONFIG_SYS_FSL_I2C_SLAVE       0x7F
-#define CONFIG_SYS_FSL_I2C_OFFSET      0x3000
-#define CONFIG_SYS_FSL_I2C2_SPEED      400000
-#define CONFIG_SYS_FSL_I2C2_SLAVE      0x7F
-#define CONFIG_SYS_FSL_I2C2_OFFSET     0x3100
-#define CONFIG_SYS_I2C_EEPROM_ADDR     0x51
-
-/*
- * I2C2 EEPROM
- */
-#define CONFIG_ID_EEPROM
-#ifdef CONFIG_ID_EEPROM
-#define CONFIG_SYS_I2C_EEPROM_NXID
-#endif
-#define CONFIG_SYS_I2C_EEPROM_ADDR     0x51
-#define CONFIG_SYS_I2C_EEPROM_ADDR_LEN 1
-#define CONFIG_SYS_EEPROM_BUS_NUM      0
-
-#define CONFIG_CMD_I2C
-
-/*
- * eSPI - Enhanced SPI
- */
-#define CONFIG_SPI_FLASH
-#define CONFIG_SPI_FLASH_ATMEL
-
-#define CONFIG_HARD_SPI
-#define CONFIG_FSL_ESPI
-
-#define CONFIG_CMD_SF
-#define CONFIG_SF_DEFAULT_SPEED                10000000
-#define CONFIG_SF_DEFAULT_MODE         0
-
-/*
- * General PCI
- * Memory space is mapped 1-1, but I/O space must start from 0.
- */
-
-/* controller 3, Slot 1, tgtid 3, Base address b000 */
-#define CONFIG_SYS_PCIE3_NAME          "Slot 3"
-#define CONFIG_SYS_PCIE3_MEM_VIRT      0x80000000
-#define CONFIG_SYS_PCIE3_MEM_BUS       0x80000000
-#define CONFIG_SYS_PCIE3_MEM_PHYS      0x80000000
-#define CONFIG_SYS_PCIE3_MEM_SIZE      0x20000000      /* 512M */
-#define CONFIG_SYS_PCIE3_IO_VIRT       0xffc00000
-#define CONFIG_SYS_PCIE3_IO_BUS                0x00000000
-#define CONFIG_SYS_PCIE3_IO_PHYS       0xffc00000
-#define CONFIG_SYS_PCIE3_IO_SIZE       0x00010000      /* 64k */
-
-/* controller 2, direct to uli, tgtid 2, Base address 9000 */
-#define CONFIG_SYS_PCIE2_NAME          "Slot 2"
-#define CONFIG_SYS_PCIE2_MEM_VIRT      0xa0000000
-#define CONFIG_SYS_PCIE2_MEM_BUS       0xa0000000
-#define CONFIG_SYS_PCIE2_MEM_PHYS      0xa0000000
-#define CONFIG_SYS_PCIE2_MEM_SIZE      0x20000000      /* 512M */
-#define CONFIG_SYS_PCIE2_IO_VIRT       0xffc10000
-#define CONFIG_SYS_PCIE2_IO_BUS                0x00000000
-#define CONFIG_SYS_PCIE2_IO_PHYS       0xffc10000
-#define CONFIG_SYS_PCIE2_IO_SIZE       0x00010000      /* 64k */
-
-/* controller 1, Slot 2, tgtid 1, Base address a000 */
-#define CONFIG_SYS_PCIE1_NAME          "Slot 1"
-#define CONFIG_SYS_PCIE1_MEM_VIRT      0xc0000000
-#define CONFIG_SYS_PCIE1_MEM_BUS       0xc0000000
-#define CONFIG_SYS_PCIE1_MEM_PHYS      0xc0000000
-#define CONFIG_SYS_PCIE1_MEM_SIZE      0x20000000      /* 512M */
-#define CONFIG_SYS_PCIE1_IO_VIRT       0xffc20000
-#define CONFIG_SYS_PCIE1_IO_BUS                0x00000000
-#define CONFIG_SYS_PCIE1_IO_PHYS       0xffc20000
-#define CONFIG_SYS_PCIE1_IO_SIZE       0x00010000      /* 64k */
-
-#if defined(CONFIG_PCI)
-#define CONFIG_E1000           /* Defind e1000 pci Ethernet card */
-#define CONFIG_PCI_PNP         /* do pci plug-and-play */
-#define CONFIG_PCI_SCAN_SHOW   /* show pci devices on startup */
-#endif /* CONFIG_PCI */
-
-/*
- * Environment
- */
-#define CONFIG_ENV_OVERWRITE
-
-#if defined(CONFIG_SYS_RAMBOOT)
-#define CONFIG_ENV_IS_NOWHERE  /* Store ENV in memory only */
-#define CONFIG_ENV_ADDR                (CONFIG_SYS_MONITOR_BASE - 0x4000)
-#define CONFIG_ENV_SIZE                0x2000
-#else
-#define CONFIG_ENV_IS_IN_FLASH
-#define CONFIG_ENV_ADDR                (CONFIG_SYS_MONITOR_BASE - CONFIG_ENV_SECT_SIZE)
-#define CONFIG_ENV_SIZE                0x2000
-#define CONFIG_ENV_SECT_SIZE   0x20000 /* 128K (one sector) */
-#endif
-
-#define CONFIG_LOADS_ECHO              /* echo on for serial download */
-#define CONFIG_SYS_LOADS_BAUD_CHANGE   /* allow baudrate change */
-
-/*
- * Command line configuration.
- */
-#include <config_cmd_default.h>
-
-#define CONFIG_CMD_IRQ
-#define CONFIG_CMD_PING
-#define CONFIG_CMD_MII
-#define CONFIG_CMD_ELF
-#define CONFIG_CMD_SETEXPR
-#define CONFIG_CMD_REGINFO
-
-#if defined(CONFIG_PCI)
-#define CONFIG_CMD_PCI
-#define CONFIG_CMD_NET
-#endif
-
-/*
- * USB
- */
-#define CONFIG_HAS_FSL_DR_USB
-#ifdef CONFIG_HAS_FSL_DR_USB
-#define CONFIG_USB_EHCI
-
-#ifdef CONFIG_USB_EHCI
-#define CONFIG_CMD_USB
-#define CONFIG_EHCI_HCD_INIT_AFTER_RESET
-#define CONFIG_USB_EHCI_FSL
-#define CONFIG_USB_STORAGE
-#define CONFIG_CMD_FAT
-#define CONFIG_CMD_EXT2
-#define CONFIG_CMD_FAT
-#define CONFIG_DOS_PARTITION
-#endif
-#endif
-
-/*
- * Miscellaneous configurable options
- */
-#define CONFIG_SYS_LONGHELP                    /* undef to save memory */
-#define CONFIG_CMDLINE_EDITING         /* Command-line editing */
-#define CONFIG_SYS_LOAD_ADDR   0x2000000       /* default load address */
-#if defined(CONFIG_CMD_KGDB)
-#define CONFIG_SYS_CBSIZE      1024            /* Console I/O Buffer Size */
-#else
-#define CONFIG_SYS_CBSIZE      256             /* Console I/O Buffer Size */
-#endif
-/* Print Buffer Size */
-#define CONFIG_SYS_PBSIZE (CONFIG_SYS_CBSIZE + sizeof(CONFIG_SYS_PROMPT)+16)
-#define CONFIG_SYS_MAXARGS     16              /* max number of command args */
-/* Boot Argument Buffer Size */
-#define CONFIG_SYS_BARGSIZE    CONFIG_SYS_CBSIZE
-
-/*
- * For booting Linux, the board info and command line data
- * have to be in the first 16 MB of memory, since this is
- * the maximum mapped by the Linux kernel during initialization.
- */
-#define CONFIG_SYS_BOOTMAPSZ   (16 << 20) /* Initial Memory map for Linux*/
-#define CONFIG_SYS_BOOTM_LEN   (16 << 20) /* Increase max gunzip size */
-
-#if defined(CONFIG_CMD_KGDB)
-#define CONFIG_KGDB_BAUDRATE   230400  /* speed to run kgdb serial port */
-#endif
-
-/*
- * Environment Configuration
- */
-#define CONFIG_BOOTFILE                "uImage"
-#define CONFIG_UBOOTPATH       (u-boot.bin) /* U-Boot image on TFTP server */
-
-/* default location for tftp and bootm */
-#define CONFIG_LOADADDR                1000000
-
-#define CONFIG_BOOTDELAY 10    /* -1 disables auto-boot */
-
-#define CONFIG_BAUDRATE        115200
-
-/* Qman/Bman */
-#define CONFIG_SYS_DPAA_QBMAN          /* support Q/Bman */
-#define CONFIG_SYS_QMAN_MEM_BASE       0xff000000
-#define CONFIG_SYS_QMAN_MEM_PHYS       CONFIG_SYS_QMAN_MEM_BASE
-#define CONFIG_SYS_QMAN_MEM_SIZE       0x00200000
-#define CONFIG_SYS_BMAN_MEM_BASE       0xff200000
-#define CONFIG_SYS_BMAN_MEM_PHYS       CONFIG_SYS_BMAN_MEM_BASE
-#define CONFIG_SYS_BMAN_MEM_SIZE       0x00200000
-
-/* For FM */
-#define CONFIG_SYS_DPAA_FMAN
-#define CONFIG_PHY_GIGE                /* Include GbE speed/duplex detection */
-
-#ifdef CONFIG_SYS_DPAA_FMAN
-#define CONFIG_FMAN_ENET
-#define CONFIG_PHY_MARVELL
-#endif
-
-/* Default address of microcode for the Linux Fman driver */
-/* QE microcode/firmware address */
-#define CONFIG_SYS_QE_FMAN_FW_IN_NOR
-#define CONFIG_SYS_FMAN_FW_ADDR        0xEFF00000
-#define CONFIG_SYS_QE_FMAN_FW_LENGTH   0x10000
-#define CONFIG_SYS_FDT_PAD             (0x3000 + CONFIG_SYS_QE_FMAN_FW_LENGTH)
-
-#ifdef CONFIG_FMAN_ENET
-#define CONFIG_SYS_FM1_DTSEC1_PHY_ADDR 0x2
-#define CONFIG_SYS_FM1_DTSEC2_PHY_ADDR 0x7
-
-#define CONFIG_SYS_TBIPA_VALUE 8
-#define CONFIG_MII             /* MII PHY management */
-#define CONFIG_ETHPRIME                "FM1@DTSEC1"
-#endif
-
-#define CONFIG_EXTRA_ENV_SETTINGS      \
-       "hwconfig=usb1:dr_mode=host,phy_type=ulpi\0"
-
-#endif /* __CONFIG_H */
index 110ba5f325dd575b49abd839e0b455febf1a49d4..c75638abdaf5b3b6e85a30b3d7f9ec54ebd135e5 100644 (file)
@@ -36,7 +36,6 @@
 #endif
 
 #ifdef CONFIG_SDCARD
-#define CONFIG_SPL
 #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
 #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
-#define CONFIG_TPL
 #ifdef CONFIG_TPL_BUILD
 #define CONFIG_SPL_NAND_BOOT
 #define CONFIG_SPL_FLUSH_IMAGE
index f2a75aed43b0864b9c2ab09610f0fde302e73a9a..ebee89a9a12241f307ac57b9de28ec6539adb001 100644 (file)
@@ -445,11 +445,17 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_SYS_I2C
 #define CONFIG_SYS_I2C_FSL             /* Use FSL common I2C driver */
 #define CONFIG_SYS_FSL_I2C_SPEED       50000   /* I2C speed in Hz */
+#define CONFIG_SYS_FSL_I2C2_SPEED      50000
+#define CONFIG_SYS_FSL_I2C3_SPEED      50000
+#define CONFIG_SYS_FSL_I2C4_SPEED      50000
 #define CONFIG_SYS_FSL_I2C_SLAVE       0x7F
-#define CONFIG_SYS_FSL_I2C2_SPEED      50000   /* I2C speed in Hz */
 #define CONFIG_SYS_FSL_I2C2_SLAVE      0x7F
+#define CONFIG_SYS_FSL_I2C3_SLAVE      0x7F
+#define CONFIG_SYS_FSL_I2C4_SLAVE      0x7F
 #define CONFIG_SYS_FSL_I2C_OFFSET      0x118000
-#define CONFIG_SYS_FSL_I2C2_OFFSET     0x119000
+#define CONFIG_SYS_FSL_I2C2_OFFSET     0x118100
+#define CONFIG_SYS_FSL_I2C3_OFFSET     0x119000
+#define CONFIG_SYS_FSL_I2C4_OFFSET     0x119100
 
 #define I2C_MUX_PCA_ADDR               0x77
 #define I2C_MUX_PCA_ADDR_PRI           0x77 /* Primary Mux*/
index 8d6c51bb37bc6b771b2ba62656dfc9b1e9d16053..c4bf0d68f4d1ca67a7cc7fd8ced9e1381b0a2921 100644 (file)
@@ -22,7 +22,6 @@
 #define CONFIG_SYS_FSL_PBL_RCW $(SRCTREE)/board/freescale/t104xrdb/t1042_rcw.cfg
 #endif
 
-#define CONFIG_SPL
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SYS_CS2_FTIM1           (FTIM1_GPCM_TACO(0x0e) | \
                                        FTIM1_GPCM_TRAD(0x1f))
 #define CONFIG_SYS_CS2_FTIM2           (FTIM2_GPCM_TCS(0x0e) | \
-                                       FTIM2_GPCM_TCH(0x0) | \
+                                       FTIM2_GPCM_TCH(0x8) | \
                                        FTIM2_GPCM_TWP(0x1f))
 #define CONFIG_SYS_CS2_FTIM3           0x0
 
 #define CONFIG_SYS_I2C
 #define CONFIG_SYS_I2C_FSL             /* Use FSL common I2C driver */
 #define CONFIG_SYS_FSL_I2C_SPEED       400000  /* I2C speed in Hz */
+#define CONFIG_SYS_FSL_I2C2_SPEED      400000
+#define CONFIG_SYS_FSL_I2C3_SPEED      400000
+#define CONFIG_SYS_FSL_I2C4_SPEED      400000
 #define CONFIG_SYS_FSL_I2C_SLAVE       0x7F
-#define CONFIG_SYS_FSL_I2C2_SPEED      400000  /* I2C speed in Hz */
 #define CONFIG_SYS_FSL_I2C2_SLAVE      0x7F
+#define CONFIG_SYS_FSL_I2C3_SLAVE      0x7F
+#define CONFIG_SYS_FSL_I2C4_SLAVE      0x7F
 #define CONFIG_SYS_FSL_I2C_OFFSET      0x118000
-#define CONFIG_SYS_FSL_I2C2_OFFSET     0x119000
+#define CONFIG_SYS_FSL_I2C2_OFFSET     0x118100
+#define CONFIG_SYS_FSL_I2C3_OFFSET     0x119000
+#define CONFIG_SYS_FSL_I2C4_OFFSET     0x119100
 
 /* I2C bus multiplexer */
 #define I2C_MUX_PCA_ADDR                0x70
index 59d142e97e7954899f65c9948d59efb72d64f3f9..395472be2bc2a6a8d19211129c696e1f57a388a2 100644 (file)
@@ -11,6 +11,8 @@
 #ifndef __T208xQDS_H
 #define __T208xQDS_H
 
+#define CONFIG_SYS_GENERIC_BOARD
+#define CONFIG_DISPLAY_BOARDINFO
 #define CONFIG_ICS307_REFCLK_HZ 25000000  /* ICS307 ref clk freq */
 #define CONFIG_MMC
 #define CONFIG_SPI_FLASH
@@ -53,7 +55,6 @@
 #define CONFIG_SYS_FSL_PBL_RCW board/freescale/t208xqds/t2081_rcw.cfg
 #endif
 
-#define CONFIG_SPL
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
@@ -537,7 +538,7 @@ unsigned long get_board_ddr_clk(void);
 #ifdef CONFIG_SPI_FLASH
 #define CONFIG_FSL_ESPI
 #define CONFIG_SPI_FLASH_STMICRO
-#if !defined(CONFIG_SPL_BUILD) && defined(CONFIG_RAMBOOT_PBL)
+#ifndef CONFIG_SPL_BUILD
 #define CONFIG_SPI_FLASH_SST
 #define CONFIG_SPI_FLASH_EON
 #endif
index 3a1c49c8113c0528223ebc2b587f871050ee95f5..e5936c78176972761a57b8b491e4a27c328f608d 100644 (file)
@@ -11,6 +11,8 @@
 #ifndef __T2080RDB_H
 #define __T2080RDB_H
 
+#define CONFIG_SYS_GENERIC_BOARD
+#define CONFIG_DISPLAY_BOARDINFO
 #define CONFIG_T2080RDB
 #define CONFIG_ICS307_REFCLK_HZ 25000000  /* ICS307 ref clk freq */
 #define CONFIG_MMC
@@ -42,7 +44,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
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
@@ -283,7 +284,7 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_SYS_CS2_FTIM1           (FTIM1_GPCM_TACO(0x0e) | \
                                        FTIM1_GPCM_TRAD(0x1f))
 #define CONFIG_SYS_CS2_FTIM2           (FTIM2_GPCM_TCS(0x0e) | \
-                                       FTIM2_GPCM_TCH(0x0) | \
+                                       FTIM2_GPCM_TCH(0x8) | \
                                        FTIM2_GPCM_TWP(0x1f))
 #define CONFIG_SYS_CS2_FTIM3           0x0
 
index a770dd0d3a67711d11149aabd93a6b23ff1e5838..ca9724720d9f0ad53e574670a5f48495d268420d 100644 (file)
@@ -25,7 +25,6 @@
 #define CONFIG_RAMBOOT_TEXT_BASE        CONFIG_SYS_TEXT_BASE
 #define CONFIG_RESET_VECTOR_ADDRESS     0xfffffffc
 #else
-#define CONFIG_SPL
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
@@ -237,7 +236,7 @@ unsigned long get_board_ddr_clk(void);
 #define CONFIG_SYS_CS3_FTIM1           (FTIM1_GPCM_TACO(0xff) | \
                                        FTIM1_GPCM_TRAD(0x3f))
 #define CONFIG_SYS_CS3_FTIM2           (FTIM2_GPCM_TCS(0x0e) | \
-                                       FTIM2_GPCM_TCH(0x0) | \
+                                       FTIM2_GPCM_TCH(0x8) | \
                                        FTIM2_GPCM_TWP(0x1f))
 #define CONFIG_SYS_CS3_FTIM3           0x0
 
index 205adfd8ce26e6173b1b9b65edf2b4683e36c00e..a4050f34cc01782e0a640de42052e00b05a0db9e 100644 (file)
 /*
  * SPL related defines
  */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NOR_SUPPORT
index c17327fef481a36023876bd40290130282b92f36..dcded0acbe047e2033a0e9679ab8be5b9185e62a 100644 (file)
 #undef CONFIG_USE_IRQ
 
 /* Defines for SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 /*
  * Place the image at the start of the ROM defined image space.
index d826214efe043cc53eb20398fa322da8ae80520c..898ed2ee18542085aa03b0ffcb462dc43550668e 100644 (file)
                                         GENERATED_GBL_DATA_SIZE)
 
 /* Defines for SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NAND_SIMPLE
index a9c5a8f3af35f5d45ea5210ec5a6419bbf122e1e..1e2d55bec577e3678dc5a235a52bf5c926d10871 100644 (file)
                                         GENERATED_GBL_DATA_SIZE)
 
 /* Defines for SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NAND_SIMPLE
index b10c48c20e3921da4b12673ec716b45ce834f629..4424c3044195ddb444891efd6e87a5e441569742 100644 (file)
@@ -37,7 +37,6 @@
 /*
  * SPL
  */
-#define CONFIG_SPL
 #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
index 370db821a85d58e98057351186b7496416b9af39..64b54ab22b02cc3d33a1a0418de9b7f113062564 100644 (file)
 
 /* MMC SPL */
 #define CONFIG_EXYNOS_SPL
-#define CONFIG_SPL
 #define COPY_BL2_FNPTR_ADDR    0x02020030
 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
index 5a37536b0aa763d6a477bce321cd1dfcc8e47708..3f889f8d4f468adabbd34476cfd4fe0d624e9b4c 100644 (file)
  * 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_FRAMEWORK
 /*
  * Place the image at the start of the ROM defined image space.
index d1a8ff2a82f0e494534dab5cde0a96d9296aeb22..5f30279fe66c50b89ec683c1ff43de640f2bca77 100644 (file)
 #define CONFIG_SYS_NAND_BLOCK_SIZE     0x20000
 
 /* Defines for SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
index d8d71a94ee9acd9325a5652366ca4fddbb6786ad..c63608c189fd6b415cbb3b036fc0165479fe1c09 100644 (file)
 #define CONFIG_OMAP3_SPI
 
 /* Defines for SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_NAND_SIMPLE
 
index ec3145f430c549ee0438a409c71874520ea68ae4..7eaaf69951b2ce153960bd4abac0f7a9e890074c 100644 (file)
@@ -45,6 +45,8 @@
 #define CONFIG_CONTROLCENTERD
 #define CONFIG_MP                      /* support multiple processors */
 
+#define CONFIG_SYS_GENERIC_BOARD
+
 #define CONFIG_SYS_NO_FLASH
 #define CONFIG_ENABLE_36BIT_PHYS
 #define CONFIG_FSL_LAW                 /* Use common FSL init code */
index b27940995de8f5e07a39960e3f3f36d98f38315d..1252d7a54a921f9734ca4c4a0d6f5543f1ca7079 100644 (file)
 
 #ifndef CONFIG_DIRECT_NOR_BOOT
 /* defines for SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SYS_SPL_MALLOC_START    (CONFIG_SYS_TEXT_BASE - \
index cc53fc9cd78f1f7a78e1967aafbdb0123c7ce97d..69c51bc4c30c49e810f3dc8dde8a6f7b237fbe5d 100644 (file)
 #define CONFIG_SYS_SRAM_SIZE               0x10000
 
 /* Defines for SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_NAND_SIMPLE
 
index 6153a40e06198cc7fcac99fd2c906d6f1c08dbd0..d9bd564880ef3c9f68a593d6ecbfda920e6946a4 100644 (file)
@@ -24,6 +24,7 @@
 #define CONFIG_BOARD_EARLY_INIT_R
 #define CONFIG_MISC_INIT_R
 #define CONFIG_LAST_STAGE_INIT
+#define CONFIG_SYS_GENERIC_BOARD
 
 #define CONFIG_SYS_CLK_FREQ    33333333 /* external frequency to pll   */
 
index 1e86c556abe42b21c45867e533e07cca33379138..af0d60249ac28cf28741146add2b35ae20f21c04 100644 (file)
@@ -22,6 +22,7 @@
 
 #define CONFIG_BOARD_EARLY_INIT_F      /* call board_early_init_f */
 #define CONFIG_MISC_INIT_R             /* call misc_init_r */
+#define CONFIG_SYS_GENERIC_BOARD
 
 #define CONFIG_SYS_CLK_FREQ    33333333 /* external frequency to pll   */
 
index e36a0313c13cf5fbf07c6d4ba832ad008e18e140..a7c629286313d768dc9e36436229726d363e13f5 100644 (file)
 #define CONFIG_TPM_TIS_I2C_SLAVE_ADDR  0x20
 
 /* MMC SPL */
-#define CONFIG_SPL
 #define COPY_BL2_FNPTR_ADDR    0x02020030
 
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
index 6810b3befc3a2574e57a6bd51ba8b0cd3604b296..12fd75d743e8d127ade4a95c25f87da33a350b54 100644 (file)
@@ -32,6 +32,7 @@
 
 #define CONFIG_BOARD_EARLY_INIT_F      1       /* call board_early_init_f*/
 #define CONFIG_MISC_INIT_R             1       /* call misc_init_r()     */
+#define CONFIG_SYS_GENERIC_BOARD
 
 #undef CONFIG_ZERO_BOOTDELAY_CHECK     /* ignore keypress on bootdelay==0 */
 #define CONFIG_AUTOBOOT_KEYED          /* use key strings to stop autoboot */
index 73e162437546673cc91669f9e27f41ddeb82025d..8188c7b788237fbcba017138bb4a29202909cc0e 100644 (file)
@@ -46,7 +46,6 @@
 #endif
 
 /* Spl */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NAND_SUPPORT
index b56b3aa340bc6d98f15b05054ac12acf730c30be..928eb5b9dbd06c2a0ddd678fd9c1edf35fb2696c 100644 (file)
@@ -45,6 +45,7 @@
 #define CONFIG_BOARD_EARLY_INIT_F      1       /* Call board_early_init_f */
 #define CONFIG_BOARD_EARLY_INIT_R      1       /* Call board_early_init_r */
 #define CONFIG_MISC_INIT_R             1       /* Call misc_init_r */
+#define CONFIG_SYS_GENERIC_BOARD
 #define CONFIG_BOARD_TYPES             1       /* support board types */
 #define CONFIG_FIT
 #define CFG_ALT_MEMTEST
index 8e32c25803e4d3cf2e5f3d24914619dda9ba6132..d4ae0adfdac97ece64da3f6780f7db5443c5ea24 100644 (file)
@@ -24,6 +24,7 @@
 #define CONFIG_BOARD_EARLY_INIT_R
 #define CONFIG_MISC_INIT_R
 #define CONFIG_LAST_STAGE_INIT
+#define CONFIG_SYS_GENERIC_BOARD
 
 #define CONFIG_SYS_CLK_FREQ    33333333 /* external frequency to pll   */
 
index 6915b2071c03652ea136cb2fd1cbf3ba01db0826..2a9ff376ef16bf883f1adfeba96a067b93bb61a8 100644 (file)
@@ -43,6 +43,7 @@
 #define CONFIG_BOARD_EARLY_INIT_R
 #define CONFIG_MISC_INIT_R
 #define CONFIG_LAST_STAGE_INIT
+#define CONFIG_SYS_GENERIC_BOARD
 
 #undef CONFIG_ZERO_BOOTDELAY_CHECK     /* ignore keypress on bootdelay==0 */
 #define CONFIG_AUTOBOOT_KEYED          /* use key strings to stop autoboot */
index ae05bcbfbf433c1893260840c35ceac879f8f33d..38d473de4298503ba5fe53d7a36a5ffefaa2b618 100644 (file)
@@ -23,6 +23,7 @@
 #define CONFIG_BOARD_EARLY_INIT_F
 #define CONFIG_BOARD_EARLY_INIT_R
 #define CONFIG_LAST_STAGE_INIT
+#define CONFIG_SYS_GENERIC_BOARD
 
 #define CONFIG_SYS_CLK_FREQ    33333333 /* external frequency to pll   */
 
index fdd5680741bcd36a5af740fb623bb444f66b6992..98e819bb189e31085086831f282407ecf0efba06 100644 (file)
                                        "-(rootfs)"
 
 /* defines for SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SYS_SPL_MALLOC_START    (CONFIG_SYS_TEXT_BASE - \
index efd96352eca45f93f3ba951a319b8a6c9e4106b3..a0f9d293caa733c44e9082d058a73ebb01edebc7 100644 (file)
@@ -376,6 +376,14 @@ int get_scl(void);
 #define CONFIG_LOADS_ECHO              /* echo on for serial download */
 #define CONFIG_SYS_LOADS_BAUD_CHANGE   /* allow baudrate change */
 
+/*
+ * Hardware Watchdog
+ */
+#define CONFIG_WATCHDOG                        /* enable CPU watchdog */
+#define CONFIG_WATCHDOG_PRESC 34       /* wdog prescaler 2^(64-34) (~10min) */
+#define CONFIG_WATCHDOG_RC WRC_CHIP    /* reset chip on watchdog event */
+
+
 /*
  * additionnal command line configuration.
  */
index 07ddfc401483d11ccae327416e4dfbfed92b65b7..58e72956908188b0c98991af83d7519e12f7782b 100644 (file)
  * SPL related defines
  */
 #ifdef CONFIG_LCD4_LWMON5
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NOR_SUPPORT
index e5756d32e79300cdd96ff27b4f859f15b34962d9..df6a2261099a6334a75dd79d3d13a0dad0b49557 100644 (file)
 /*
  * NAND SPL
  */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TARGET              "u-boot-with-nand-spl.imx"
 #define CONFIG_SPL_BOARD_INIT
index 75abb602cf98ccb3e70c707155bd81809ae22f20..dff895a96511068e2d970515f776b7ce1d2b99af 100644 (file)
                                         GENERATED_GBL_DATA_SIZE)
 
 /* Defines for SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_NAND_SIMPLE
index 06b7e94184e74dc7bcea12a461308fa6fcf9bfd2..1a82a57c755f1b5ef311152b16a9d794c3f28176 100644 (file)
@@ -12,7 +12,6 @@
 #include "../board/xilinx/microblaze-generic/xparameters.h"
 
 /* MicroBlaze CPU */
-#define        CONFIG_MICROBLAZE       1
 #define        MICROBLAZE_V5           1
 
 /* Open Firmware DTS */
 #endif
 
 /* SPL part */
-#define CONFIG_SPL
 #define CONFIG_CMD_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
index d80f5da2d5ac5b15948462692e2c5ddb53101cfd..bc4583baee6227e555ae203823dc8c3ffce962c6 100644 (file)
@@ -31,7 +31,6 @@
 
 #define CONFIG_MACH_TYPE       MACH_TYPE_MX31_3DS
 
-#define CONFIG_SPL
 #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
index df9eb9343237f3703027237e158907bcce2ff36a..eb96fc17f3ef3ea553fc6dbf045f614045ef289c 100644 (file)
@@ -50,7 +50,6 @@
 #define CONFIG_ARCH_MISC_INIT
 
 /* SPL */
-#define CONFIG_SPL
 #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"
index 4937730ee30e59c36b753a7c32f9de5dcdb03c4b..09300ca8ed65ee003652c00e0faf25aff99cf373 100644 (file)
@@ -25,6 +25,7 @@
 #define CONFIG_BOARD_EARLY_INIT_R
 #define CONFIG_MISC_INIT_R
 #define CONFIG_LAST_STAGE_INIT
+#define CONFIG_SYS_GENERIC_BOARD
 
 #define CONFIG_SYS_CLK_FREQ    33333333 /* external frequency to pll   */
 
index 739d392edc2af7989b9eabd1f7b309b100a87720..eef4230e64ce9432a706dc6fe913ae82a297b217 100644 (file)
 #define CONFIG_SYS_CACHELINE_SIZE      64
 
 /* Defines for SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TEXT_BASE           0x40200800
 #define CONFIG_SPL_MAX_SIZE            (54 * 1024)     /* 8 KB for stack */
index 93f4d627a14d45a4a6daf2c1f20865a6fb57c17f..c5d742c2bd801c35349a56856be2e51c4c8eba9c 100644 (file)
@@ -26,7 +26,6 @@
 #include <configs/ti_omap3_common.h>
 
 /* Remove SPL boot option - we do not support that on LDP yet */
-#undef CONFIG_SPL
 #undef CONFIG_SPL_FRAMEWORK
 #undef CONFIG_SPL_OS_BOOT
 
index 8fab6e63e3b5d3873832656da86a1f4ecd6db898..3eb408f004b0107b4ddb1e7a96c799cd62d2eaf2 100644 (file)
@@ -49,6 +49,7 @@
 #define CONFIG_CMD_DHCP
 #define CONFIG_CMD_ENV
 #define CONFIG_CMD_MII
+#define CONFIG_CMD_MMC
 #define CONFIG_CMD_NAND
 #define CONFIG_CMD_PING
 #define CONFIG_CMD_USB
 #define CONFIG_SYS_ATA_IDE1_OFFSET     MV_SATA_PORT1_OFFSET
 #endif /*CONFIG_MVSATA_IDE*/
 
+#ifdef CONFIG_CMD_MMC
+#define CONFIG_MMC
+#define CONFIG_GENERIC_MMC
+#define CONFIG_MVEBU_MMC
+#define CONFIG_SYS_MMC_BASE KW_SDIO_BASE
+#endif /* CONFIG_CMD_MMC */
+
 #endif /* _CONFIG_OPENRD_BASE_H */
index 82583382f7a0252b1a2b5dea0e4f942274bf1d21..5d24916389c557f986655548e743b93d176afed7 100644 (file)
@@ -65,7 +65,6 @@
 #undef CONFIG_CMD_NFS
 
 /* MMC SPL */
-#define CONFIG_SPL
 #define COPY_BL2_FNPTR_ADDR    0x02020030
 #define CONFIG_SPL_TEXT_BASE   0x02021410
 
index 185df775aa00e38f381046bede4e0773ef4d5218..9b5895093daa255193ee36f1dce1744aee9f09f2 100644 (file)
 #endif
 
 #ifdef CONFIG_SDCARD
-#define CONFIG_SPL
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
 #endif
 
 #ifdef CONFIG_SPIFLASH
-#define CONFIG_SPL
 #define CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT
 #define CONFIG_SPL_ENV_SUPPORT
 #define CONFIG_SPL_SERIAL_SUPPORT
 #endif
 
 #ifdef CONFIG_NAND
-#define CONFIG_SPL
-#define CONFIG_TPL
 #ifdef CONFIG_TPL_BUILD
 #define CONFIG_SPL_NAND_BOOT
 #define CONFIG_SPL_FLUSH_IMAGE
index 36626639d374a0624fa59adc47118791bccfecea..6490be55045286c7e943010ee18dc1fe63033f68 100644 (file)
 /*
  * SPL
  */
-#define CONFIG_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 */
index 9af3efd4b1ab1366c219b39e6a9ce57da22d9078..dcf5537687bc001535fc45e28f094ad15e1692c6 100644 (file)
 #define CONFIG_ENV_IS_NOWHERE
 
 /* Defines for SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 /*
index f72ab0bad01c74da3b8d67a96b1b75f07d3aa7fe..0dfb7e7918dee17359b922e2ca80ddb647e0d662 100644 (file)
 #define CONFIG_SYS_MALLOC_LEN          (4 * 1024 * 1024)
 
 /* SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TEXT_BASE           0x300000
 #define CONFIG_SPL_MAX_SIZE            0x10000
index da2718044cf18b9f11641f3a695203411c7205fc..56c2454dff2ec1f33f94b49381a70ce6e9d0c6e4 100644 (file)
 #define CONFIG_SYS_MALLOC_LEN          (1024 * 1024)
 
 /* SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TEXT_BASE           0x300000
 #define CONFIG_SPL_MAX_SIZE            0x10000
index ecc93bc539de15904b78cd86e2e846c021098f77..3d6ff09cb019373bf0dcfa303ad1d3fc747a5721 100644 (file)
@@ -31,6 +31,7 @@
 #define CONFIG_CMD_DHCP
 #define CONFIG_CMD_ENV
 #define CONFIG_CMD_MII
+#define CONFIG_CMD_MMC
 #define CONFIG_CMD_NAND
 #define CONFIG_CMD_PING
 #define CONFIG_CMD_USB
 #define CONFIG_PHY_BASE_ADR    0
 #endif /* CONFIG_CMD_NET */
 
+/*
+ * SDIO/MMC Card Configuration
+ */
+#ifdef CONFIG_CMD_MMC
+#define CONFIG_MMC
+#define CONFIG_GENERIC_MMC
+#define CONFIG_MVEBU_MMC
+#define CONFIG_SYS_MMC_BASE KW_SDIO_BASE
+#endif /* CONFIG_CMD_MMC */
+
 /*
  * File system
  */
index 53816a60257a706497f53eef11feb815ea94e716..b8fb77e8137eda44dd21b610c2aa6c5b0cb1040e 100644 (file)
 #define CONFIG_SYS_I2C_OMAP24XX
 
 /* Defines for SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TEXT_BASE           0x402F0400
 #define CONFIG_SPL_MAX_SIZE            (101 * 1024)
index 34adfaf60853d8f93789ba31c06338248a856fa1..048c1786923c0bee2d9624878072575a0519327e 100644 (file)
@@ -76,7 +76,6 @@
 #define CONFIG_ZERO_BOOTDELAY_CHECK
 
 /* MMC SPL */
-#define CONFIG_SPL
 #define CONFIG_SKIP_LOWLEVEL_INIT
 #define COPY_BL2_FNPTR_ADDR    0x00002488
 
index 262e7445f657f6b87bc1719621616233e9e6e24c..27c2be909831a24681e8a001926af5e9605da0fa 100644 (file)
  */
 
 /* Enable building of SPL globally */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 
 /* TEXT_BASE for linking the SPL binary */
index 037f9952f8f4891a44137f2c90eba8a3edcd75fa..5611ecc85f22bf3f3d949211c54cabc3eb54db92 100644 (file)
 
 #define CONFIG_SYS_PROMPT              "sun4i# "
 
+#ifdef CONFIG_USB_EHCI
+#define CONFIG_USB_EHCI_SUNXI
+
+#define CONFIG_USB_MAX_CONTROLLER_COUNT        2
+#ifndef CONFIG_SUNXI_USB_VBUS0_GPIO
+#define CONFIG_SUNXI_USB_VBUS0_GPIO    SUNXI_GPH(6)
+#endif
+#ifndef CONFIG_SUNXI_USB_VBUS1_GPIO
+#define CONFIG_SUNXI_USB_VBUS1_GPIO    SUNXI_GPH(3)
+#endif
+#endif
+
 /*
  * Include common sunxi configuration where most the settings are
  */
index c6138b7cd4f392cf4ef318a2aa1cb4e6d54236b7..6066371a17d8d172c62d00cff4f4a508c5de53ee 100644 (file)
 
 #define CONFIG_SYS_PROMPT              "sun5i# "
 
+#ifdef CONFIG_USB_EHCI
+#define CONFIG_USB_EHCI_SUNXI
+#define CONFIG_USB_MAX_CONTROLLER_COUNT        1
+#endif
+
 /*
  * Include common sunxi configuration where most the settings are
  */
index d9be1046b0cf7ddd99cfe96c4073c1b9802fad4d..a902b845744707e64fb5a064c6039bc93b0150d9 100644 (file)
 
 #define CONFIG_SYS_PROMPT              "sun7i# "
 
+#ifdef CONFIG_USB_EHCI
+#define CONFIG_USB_EHCI_SUNXI
+
+#define CONFIG_USB_MAX_CONTROLLER_COUNT        2
+#ifndef CONFIG_SUNXI_USB_VBUS0_GPIO
+#define CONFIG_SUNXI_USB_VBUS0_GPIO    SUNXI_GPH(6)
+#endif
+#ifndef CONFIG_SUNXI_USB_VBUS1_GPIO
+#define CONFIG_SUNXI_USB_VBUS1_GPIO    SUNXI_GPH(3)
+#endif
+#endif
+
+#define CONFIG_ARMV7_VIRT              1
+#define CONFIG_ARMV7_NONSEC            1
+#define CONFIG_ARMV7_PSCI              1
+#define CONFIG_ARMV7_PSCI_NR_CPUS      2
+#define CONFIG_ARMV7_SECURE_BASE       SUNXI_SRAM_B_BASE
+#define CONFIG_SYS_CLK_FREQ            24000000
+
 /*
  * Include common sunxi configuration where most the settings are
  */
index 845b004a270eecb293f95b027993805110b4b76a..6a3044f9ce3dc6f4fd9a342bd8f7e6bbe2cf7783 100644 (file)
 #define PHYS_SDRAM_0                   CONFIG_SYS_SDRAM_BASE
 #define PHYS_SDRAM_0_SIZE              0x80000000 /* 2 GiB */
 
+#ifdef CONFIG_AHCI
+#define CONFIG_LIBATA
+#define CONFIG_SCSI_AHCI
+#define CONFIG_SCSI_AHCI_PLAT
+#define CONFIG_SUNXI_AHCI
+#define CONFIG_SYS_SCSI_MAX_SCSI_ID    1
+#define CONFIG_SYS_SCSI_MAX_LUN                1
+#define CONFIG_SYS_SCSI_MAX_DEVICE     (CONFIG_SYS_SCSI_MAX_SCSI_ID * \
+                                        CONFIG_SYS_SCSI_MAX_LUN)
+#define CONFIG_CMD_SCSI
+#endif
+
 #define CONFIG_CMD_MEMORY
 #define CONFIG_CMD_SETEXPR
 
 
 #ifdef CONFIG_SPL_FEL
 
-#define CONFIG_SPL
 #define CONFIG_SPL_LDSCRIPT "arch/arm/cpu/armv7/sunxi/u-boot-spl-fel.lds"
 #define CONFIG_SPL_START_S_PATH "arch/arm/cpu/armv7/sunxi"
 #define CONFIG_SPL_TEXT_BASE           0x2000
 #define CONFIG_BOOTP_SEND_HOSTNAME
 #endif
 
+#ifdef CONFIG_USB_EHCI
+#define CONFIG_CMD_USB
+#define CONFIG_SYS_USB_EHCI_MAX_ROOT_PORTS 1
+#define CONFIG_USB_STORAGE
+#endif
+
 #if !defined CONFIG_ENV_IS_IN_MMC && \
     !defined CONFIG_ENV_IS_IN_NAND && \
     !defined CONFIG_ENV_IS_IN_FAT && \
index aa0ea162d2588ac223909b1095fff86e4f61894f..e1fc75476f661691f525e3f49c45cad9658266f4 100644 (file)
 #define CONFIG_NET_RETRY_COUNT 10
 
 /* Defines for SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_CONSOLE
index 9fc31bed6ad0d35d44b759881060e27a35fd945d..174bfe50a9d98fa954ee38dc478f5066661c3bab 100644 (file)
 #define CONGIG_CMD_STORAGE
 
 /* Defines for SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_NAND_SIMPLE
 
index 3b88a83c04f3763a446b071b89926992f1b029a6..717cd61bd69a9ba349b308fd9296272d22c37024 100644 (file)
 #define CONFIG_CMD_ENTERRCM
 
 /* Defines for SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_RAM_DEVICE
 #define CONFIG_SPL_BOARD_INIT
index b51400c464005061e368c4de41559434a7bb2248..a55bde23683896a299100382e2146490551acc0f 100644 (file)
 #define CONFIG_ENV_IS_NOWHERE
 
 /* Defines for SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TEXT_BASE           0x40300000
 #define CONFIG_SPL_MAX_SIZE            ((128 - 18) * 1024)
index b8c0d54ab37a80fca79823637309f005cf5377a4..e86c36443ba56bc98ca3cccbddcb85ea627e9f2d 100644 (file)
 
 /* SPL */
 /* Defines for SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_TEXT_BASE    0x40400000
 #define CONFIG_SPL_MAX_SIZE     ((128 - 18) * 1024)
index 85c027c1d27ebce2a8f6f96adad22f684391b679..26ac2518d96afa8b0c97451b30563d6af381e864 100644 (file)
  */
 #if !defined(CONFIG_NOR_BOOT) && \
        !(defined(CONFIG_QSPI_BOOT) && defined(CONFIG_AM43XX))
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_OS_BOOT
 
index 6c2f65305f0ad9fe9573a2dc2193f5c7e8ed304e..cc0d172115f9e8be45b8e5205a4ac7a81230019d 100644 (file)
 #define CONFIG_SYS_SRAM_SIZE           0x10000
 
 /* Defines for SPL */
-#define CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_NAND_SIMPLE
 
index 5ac6e6441c2928c878d3fbe8fcd8fc6fef17ecbf..118f5bae7265e6e1c79d21ef8584f9a2429901c2 100644 (file)
@@ -21,7 +21,6 @@
 
 #define        CONFIG_SYS_MONITOR_LEN          (256 << 10)     /* 256 kB for U-Boot */
 
-#define CONFIG_SPL
 #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
index c6d47635b38f2b791962a7b6f4a003976b910387..2fb91a8f8c1fdbf7248e225e3d1fbd625817c701 100644 (file)
@@ -17,7 +17,6 @@
 #define        CONFIG_SYS_TEXT_BASE    0xa0000000
 
 #ifdef CONFIG_ONENAND
-#define        CONFIG_SPL
 #define        CONFIG_SPL_ONENAND_SUPPORT
 #define        CONFIG_SPL_ONENAND_LOAD_ADDR    0x2000
 #define        CONFIG_SPL_ONENAND_LOAD_SIZE    \
index 437472f3edaf9bc8b4c36c5054b2be17d42216b8..25bfeef03670e95fb6646c2fe8d6ebf8831049b7 100644 (file)
@@ -20,7 +20,6 @@
 /*
  * SPL
  */
-#define        CONFIG_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define        CONFIG_SPL_LDSCRIPT     "arch/arm/cpu/arm1136/u-boot-spl.lds"
 #define        CONFIG_SPL_LIBCOMMON_SUPPORT
index eae85d62c9a491195c948bf742357edd7173de54..71373e98f9585ab4b915b6ee0b1554ec4e8d9587 100644 (file)
 /*
  * SPL related defines
  */
-#define CONFIG_SPL
 #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"
index 690cacbc94b07b05476e1716ab2c36af4a3432f3..d57e9d5bbe84cc6c823a251e0b22a7909518b9de 100644 (file)
 #define CONFIG_CMD_TFTPPUT
 
 /* SPL part */
-#define CONFIG_SPL
 #define CONFIG_CMD_SPL
 #define CONFIG_SPL_FRAMEWORK
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
index 08679aead95cca90fd4f178d2c5b36e61b061b8e..1fdbdad882227cfad5d7cfa8cea1a75065e8ee70 100644 (file)
@@ -180,6 +180,15 @@ extern unsigned char env_get_char_spec(int);
 extern void env_reloc(void);
 #endif
 
+#ifdef CONFIG_ENV_IS_IN_MMC
+#include <mmc.h>
+
+extern int mmc_get_env_addr(struct mmc *mmc, int copy, u32 *env_addr);
+# ifdef CONFIG_SYS_MMC_ENV_PART
+extern uint mmc_get_env_part(struct mmc *mmc);
+# endif
+#endif
+
 #ifndef DO_DEPS_ONLY
 
 #include <env_attr.h>
index 630e4b4999b1ea1458b0de06d6c858718622c178..11474b757c39e26a9b1d076e88d72c5df0585c9e 100644 (file)
@@ -12,6 +12,8 @@
 #include <config.h>
 #include <common.h>
 
+#define FSL_IFC_V1_1_0 0x01010000
+#define FSL_IFC_V2_0_0 0x02000000
 
 #ifdef CONFIG_SYS_FSL_IFC_LE
 #define ifc_in32(a)       in_le32(a)
  */
 /* Auto Boot Mode */
 #define IFC_NAND_NCFGR_BOOT            0x80000000
+/* SRAM INIT EN */
+#define IFC_NAND_SRAM_INIT_EN          0x20000000
 /* Addressing Mode-ROW0+n/COL0 */
 #define IFC_NAND_NCFGR_ADDR_MODE_RC0   0x00000000
 /* Addressing Mode-ROW0+n/COL0+n */
diff --git a/include/linux/kconfig.h b/include/linux/kconfig.h
new file mode 100644 (file)
index 0000000..be342b9
--- /dev/null
@@ -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/include/mvebu_mmc.h b/include/mvebu_mmc.h
new file mode 100644 (file)
index 0000000..28d98fe
--- /dev/null
@@ -0,0 +1,278 @@
+/*
+ * Marvell MMC/SD/SDIO driver
+ *
+ * (C) Copyright 2012
+ * Marvell Semiconductor <www.marvell.com>
+ * Written-by: Maen Suleiman, Gerald Kerma
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#ifndef __MVEBU_MMC_H__
+#define __MVEBU_MMC_H__
+
+/* needed for the mmc_cfg definition */
+#include <mmc.h>
+
+#define MMC_BLOCK_SIZE                         512
+
+/*
+ * Clock rates
+ */
+
+#define MVEBU_MMC_CLOCKRATE_MAX                        50000000
+#define MVEBU_MMC_BASE_DIV_MAX                 0x7ff
+#define MVEBU_MMC_BASE_FAST_CLOCK              CONFIG_SYS_TCLK
+#define MVEBU_MMC_BASE_FAST_CLK_100            100000000
+#define MVEBU_MMC_BASE_FAST_CLK_200            200000000
+
+/* SDIO register */
+#define SDIO_SYS_ADDR_LOW                      0x000
+#define SDIO_SYS_ADDR_HI                       0x004
+#define SDIO_BLK_SIZE                          0x008
+#define SDIO_BLK_COUNT                         0x00c
+#define SDIO_ARG_LOW                           0x010
+#define SDIO_ARG_HI                            0x014
+#define SDIO_XFER_MODE                         0x018
+#define SDIO_CMD                               0x01c
+#define SDIO_RSP(i)                            (0x020 + ((i)<<2))
+#define SDIO_RSP0                              0x020
+#define SDIO_RSP1                              0x024
+#define SDIO_RSP2                              0x028
+#define SDIO_RSP3                              0x02c
+#define SDIO_RSP4                              0x030
+#define SDIO_RSP5                              0x034
+#define SDIO_RSP6                              0x038
+#define SDIO_RSP7                              0x03c
+#define SDIO_BUF_DATA_PORT                     0x040
+#define SDIO_RSVED                             0x044
+#define SDIO_HW_STATE                          0x048
+#define SDIO_PRESENT_STATE0                    0x048
+#define SDIO_PRESENT_STATE1                    0x04c
+#define SDIO_HOST_CTRL                         0x050
+#define SDIO_BLK_GAP_CTRL                      0x054
+#define SDIO_CLK_CTRL                          0x058
+#define SDIO_SW_RESET                          0x05c
+#define SDIO_NOR_INTR_STATUS                   0x060
+#define SDIO_ERR_INTR_STATUS                   0x064
+#define SDIO_NOR_STATUS_EN                     0x068
+#define SDIO_ERR_STATUS_EN                     0x06c
+#define SDIO_NOR_INTR_EN                       0x070
+#define SDIO_ERR_INTR_EN                       0x074
+#define SDIO_AUTOCMD12_ERR_STATUS              0x078
+#define SDIO_CURR_BYTE_LEFT                    0x07c
+#define SDIO_CURR_BLK_LEFT                     0x080
+#define SDIO_AUTOCMD12_ARG_LOW                 0x084
+#define SDIO_AUTOCMD12_ARG_HI                  0x088
+#define SDIO_AUTOCMD12_INDEX                   0x08c
+#define SDIO_AUTO_RSP(i)                       (0x090 + ((i)<<2))
+#define SDIO_AUTO_RSP0                         0x090
+#define SDIO_AUTO_RSP1                         0x094
+#define SDIO_AUTO_RSP2                         0x098
+#define SDIO_CLK_DIV                           0x128
+
+#define WINDOW_CTRL(i)                         (0x108 + ((i) << 3))
+#define WINDOW_BASE(i)                         (0x10c + ((i) << 3))
+
+/* SDIO_PRESENT_STATE */
+#define CARD_BUSY                              (1 << 1)
+#define CMD_INHIBIT                            (1 << 0)
+#define CMD_TXACTIVE                           (1 << 8)
+#define CMD_RXACTIVE                           (1 << 9)
+#define CMD_AUTOCMD12ACTIVE                    (1 << 14)
+#define CMD_BUS_BUSY                           (CMD_AUTOCMD12ACTIVE |  \
+                                               CMD_RXACTIVE |  \
+                                               CMD_TXACTIVE |  \
+                                               CMD_INHIBIT |   \
+                                               CARD_BUSY)
+
+/*
+ * SDIO_CMD
+ */
+
+#define SDIO_CMD_RSP_NONE                      (0 << 0)
+#define SDIO_CMD_RSP_136                       (1 << 0)
+#define SDIO_CMD_RSP_48                                (2 << 0)
+#define SDIO_CMD_RSP_48BUSY                    (3 << 0)
+
+#define SDIO_CMD_CHECK_DATACRC16               (1 << 2)
+#define SDIO_CMD_CHECK_CMDCRC                  (1 << 3)
+#define SDIO_CMD_INDX_CHECK                    (1 << 4)
+#define SDIO_CMD_DATA_PRESENT                  (1 << 5)
+#define SDIO_UNEXPECTED_RESP                   (1 << 7)
+
+#define SDIO_CMD_INDEX(x)                      ((x) << 8)
+
+/*
+ * SDIO_XFER_MODE
+ */
+
+#define SDIO_XFER_MODE_STOP_CLK                        (1 << 5)
+#define SDIO_XFER_MODE_HW_WR_DATA_EN           (1 << 1)
+#define SDIO_XFER_MODE_AUTO_CMD12              (1 << 2)
+#define SDIO_XFER_MODE_INT_CHK_EN              (1 << 3)
+#define SDIO_XFER_MODE_TO_HOST                 (1 << 4)
+#define SDIO_XFER_MODE_DMA                     (0 << 6)
+
+/*
+ * SDIO_HOST_CTRL
+ */
+
+#define SDIO_HOST_CTRL_PUSH_PULL_EN            (1 << 0)
+
+#define SDIO_HOST_CTRL_CARD_TYPE_MEM_ONLY      (0 << 1)
+#define SDIO_HOST_CTRL_CARD_TYPE_IO_ONLY       (1 << 1)
+#define SDIO_HOST_CTRL_CARD_TYPE_IO_MEM_COMBO  (2 << 1)
+#define SDIO_HOST_CTRL_CARD_TYPE_IO_MMC                (3 << 1)
+#define SDIO_HOST_CTRL_CARD_TYPE_MASK          (3 << 1)
+
+#define SDIO_HOST_CTRL_BIG_ENDIAN              (1 << 3)
+#define SDIO_HOST_CTRL_LSB_FIRST               (1 << 4)
+#define SDIO_HOST_CTRL_DATA_WIDTH_1_BIT                (0 << 9)
+#define SDIO_HOST_CTRL_DATA_WIDTH_4_BITS       (1 << 9)
+#define SDIO_HOST_CTRL_HI_SPEED_EN             (1 << 10)
+
+#define SDIO_HOST_CTRL_TMOUT_MAX               0xf
+#define SDIO_HOST_CTRL_TMOUT_MASK              (0xf << 11)
+#define SDIO_HOST_CTRL_TMOUT(x)                        ((x) << 11)
+#define SDIO_HOST_CTRL_TMOUT_EN                        (1 << 15)
+
+/*
+ * SDIO_SW_RESET
+ */
+
+#define SDIO_SW_RESET_NOW                      (1 << 8)
+
+/*
+ * Normal interrupt status bits
+ */
+
+#define SDIO_NOR_ERROR                         (1 << 15)
+#define SDIO_NOR_UNEXP_RSP                     (1 << 14)
+#define SDIO_NOR_AUTOCMD12_DONE                        (1 << 13)
+#define SDIO_NOR_SUSPEND_ON                    (1 << 12)
+#define SDIO_NOR_LMB_FF_8W_AVAIL               (1 << 11)
+#define SDIO_NOR_LMB_FF_8W_FILLED              (1 << 10)
+#define SDIO_NOR_READ_WAIT_ON                  (1 << 9)
+#define SDIO_NOR_CARD_INT                      (1 << 8)
+#define SDIO_NOR_READ_READY                    (1 << 5)
+#define SDIO_NOR_WRITE_READY                   (1 << 4)
+#define SDIO_NOR_DMA_INI                       (1 << 3)
+#define SDIO_NOR_BLK_GAP_EVT                   (1 << 2)
+#define SDIO_NOR_XFER_DONE                     (1 << 1)
+#define SDIO_NOR_CMD_DONE                      (1 << 0)
+
+/*
+ * Error status bits
+ */
+
+#define SDIO_ERR_CRC_STATUS                    (1 << 14)
+#define SDIO_ERR_CRC_STARTBIT                  (1 << 13)
+#define SDIO_ERR_CRC_ENDBIT                    (1 << 12)
+#define SDIO_ERR_RESP_TBIT                     (1 << 11)
+#define SDIO_ERR_XFER_SIZE                     (1 << 10)
+#define SDIO_ERR_CMD_STARTBIT                  (1 << 9)
+#define SDIO_ERR_AUTOCMD12                     (1 << 8)
+#define SDIO_ERR_DATA_ENDBIT                   (1 << 6)
+#define SDIO_ERR_DATA_CRC                      (1 << 5)
+#define SDIO_ERR_DATA_TIMEOUT                  (1 << 4)
+#define SDIO_ERR_CMD_INDEX                     (1 << 3)
+#define SDIO_ERR_CMD_ENDBIT                    (1 << 2)
+#define SDIO_ERR_CMD_CRC                       (1 << 1)
+#define SDIO_ERR_CMD_TIMEOUT                   (1 << 0)
+/* enable all for polling */
+#define SDIO_POLL_MASK                         0xffff
+
+/*
+ * CMD12 error status bits
+ */
+
+#define SDIO_AUTOCMD12_ERR_NOTEXE              (1 << 0)
+#define SDIO_AUTOCMD12_ERR_TIMEOUT             (1 << 1)
+#define SDIO_AUTOCMD12_ERR_CRC                 (1 << 2)
+#define SDIO_AUTOCMD12_ERR_ENDBIT              (1 << 3)
+#define SDIO_AUTOCMD12_ERR_INDEX               (1 << 4)
+#define SDIO_AUTOCMD12_ERR_RESP_T_BIT          (1 << 5)
+#define SDIO_AUTOCMD12_ERR_RESP_STARTBIT       (1 << 6)
+
+#define MMC_RSP_PRESENT                                (1 << 0)
+/* 136 bit response */
+#define MMC_RSP_136                            (1 << 1)
+/* expect valid crc */
+#define MMC_RSP_CRC                            (1 << 2)
+/* card may send busy */
+#define MMC_RSP_BUSY                           (1 << 3)
+/* response contains opcode */
+#define MMC_RSP_OPCODE                         (1 << 4)
+
+#define MMC_BUSMODE_OPENDRAIN                  1
+#define MMC_BUSMODE_PUSHPULL                   2
+
+#define MMC_BUS_WIDTH_1                                0
+#define MMC_BUS_WIDTH_4                                2
+#define MMC_BUS_WIDTH_8                                3
+
+/* Can the host do 4 bit transfers */
+#define MMC_CAP_4_BIT_DATA                     (1 << 0)
+/* Can do MMC high-speed timing */
+#define MMC_CAP_MMC_HIGHSPEED                  (1 << 1)
+/* Can do SD high-speed timing */
+#define MMC_CAP_SD_HIGHSPEED                   (1 << 2)
+/* Can signal pending SDIO IRQs */
+#define MMC_CAP_SDIO_IRQ                       (1 << 3)
+/* Talks only SPI protocols */
+#define MMC_CAP_SPI                            (1 << 4)
+/* Needs polling for card-detection */
+#define MMC_CAP_NEEDS_POLL                     (1 << 5)
+/* Can the host do 8 bit transfers */
+#define MMC_CAP_8_BIT_DATA                     (1 << 6)
+
+/* Nonremovable e.g. eMMC */
+#define MMC_CAP_NONREMOVABLE                   (1 << 8)
+/* Waits while card is busy */
+#define MMC_CAP_WAIT_WHILE_BUSY                        (1 << 9)
+/* Allow erase/trim commands */
+#define MMC_CAP_ERASE                          (1 << 10)
+/* can support DDR mode at 1.8V */
+#define MMC_CAP_1_8V_DDR                       (1 << 11)
+/* can support DDR mode at 1.2V */
+#define MMC_CAP_1_2V_DDR                       (1 << 12)
+/* Can power off after boot */
+#define MMC_CAP_POWER_OFF_CARD                 (1 << 13)
+/* CMD14/CMD19 bus width ok */
+#define MMC_CAP_BUS_WIDTH_TEST                 (1 << 14)
+/* Host supports UHS SDR12 mode */
+#define MMC_CAP_UHS_SDR12                      (1 << 15)
+/* Host supports UHS SDR25 mode */
+#define MMC_CAP_UHS_SDR25                      (1 << 16)
+/* Host supports UHS SDR50 mode */
+#define MMC_CAP_UHS_SDR50                      (1 << 17)
+/* Host supports UHS SDR104 mode */
+#define MMC_CAP_UHS_SDR104                     (1 << 18)
+/* Host supports UHS DDR50 mode */
+#define MMC_CAP_UHS_DDR50                      (1 << 19)
+/* Host supports Driver Type A */
+#define MMC_CAP_DRIVER_TYPE_A                  (1 << 23)
+/* Host supports Driver Type C */
+#define MMC_CAP_DRIVER_TYPE_C                  (1 << 24)
+/* Host supports Driver Type D */
+#define MMC_CAP_DRIVER_TYPE_D                  (1 << 25)
+/* CMD23 supported. */
+#define MMC_CAP_CMD23                          (1 << 30)
+/* Hardware reset */
+#define MMC_CAP_HW_RESET                       (1 << 31)
+
+struct mvebu_mmc_cfg {
+       u32     mvebu_mmc_base;
+       u32     mvebu_mmc_clk;
+       u8      max_bus_width;
+       struct mmc_config cfg;
+};
+
+/*
+ * Functions prototypes
+ */
+
+int mvebu_mmc_init(bd_t *bis);
+
+#endif /* __MVEBU_MMC_H__ */
index d3ecd6378b3b97b718748ad06a8346a8dc409f03..2fcc328d5bcfcbb7eb5bd740ad79b01c52830134 100644 (file)
@@ -1,6 +1,6 @@
 /*
  * Copyright 2011 Freescale Semiconductor, Inc.
- *     Andy Fleming <afleming@freescale.com>
+ *     Andy Fleming <afleming@gmail.com>
  *
  * SPDX-License-Identifier:    GPL-2.0+
  *
index 24ca728b4043bfbc83858b5ea7297db83becd558..5ebd535823259e45215c90231d9ae110926370ec 100644 (file)
@@ -38,7 +38,7 @@
 #define _POST_WORD_ADDR        (CONFIG_SYS_IMMR + CPM_POST_WORD_ADDR)
 
 #elif defined(CONFIG_MPC8360)
-#include <asm/immap_qe.h>
+#include <linux/immap_qe.h>
 #define _POST_WORD_ADDR        (CONFIG_SYS_IMMR + CPM_POST_WORD_ADDR)
 
 #elif defined (CONFIG_MPC85xx)
index aacacb970a1bab2f03f5b6731811bf0379a9fa42..bd0a8d6b19fdef0a9d9467f1a25747ca02976cc1 100644 (file)
@@ -95,4 +95,8 @@ int init_func_watchdog_reset(void);
 #if defined(CONFIG_HW_WATCHDOG) && !defined(__ASSEMBLY__)
        void hw_watchdog_init(void);
 #endif
+
+#if defined(CONFIG_MPC85xx) && !defined(__ASSEMBLY__)
+       void init_85xx_watchdog(void);
+#endif
 #endif /* _WATCHDOG_H_ */
diff --git a/mkconfig b/mkconfig
deleted file mode 100755 (executable)
index 84f5a77..0000000
--- a/mkconfig
+++ /dev/null
@@ -1,186 +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 [ "$cpu" = "-" ] ; then
-       cpu=
-fi
-
-[ "$6" != "-" ] && board="$6"
-[ "$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 [ "${soc}" ] ; then
-       ln -s ${LNPREFIX}arch-${soc} asm/arch
-elif [ "${cpu}" ] ; then
-       ln -s ${LNPREFIX}arch-${cpu} asm/arch
-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
index 68c998e588e0d334e52af9529a613a88ebcb35b9..efe25bfc6e2c57dbeeb1396e9a60b7d79bb8b3fd 100644 (file)
@@ -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 (file)
index 0000000..44c3997
--- /dev/null
@@ -0,0 +1,100 @@
+# This helper makefile is used for creating
+#  - symbolic links (arch/$ARCH/include/asm/arch
+#  - 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 in case the top Makefile did not
+# include config.mk.  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 $@; false;                                                   \
+       }
+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;                                                              \
+       } || {                                                                          \
+               rm $@.tmp; false;                                                       \
+       }
+
+$(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
+
+PHONY += FORCE
+FORCE:
+
+.PHONY: $(PHONY)
index 04c6f7d2396761bc34486417c29c1fbd1efeadfa..baeaabe3105fbcc0e93ed0c0bdeb469c7ba5d531 100644 (file)
@@ -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
 
index bf677aa42a6027fb7a069f20507a793eea819df8..88c01d18ecf9a94fbee9b6cd273c7b6c3285fe3d 100644 (file)
@@ -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)
 
index b30406860b7397881e4e6ffeedcda1f5b2959cc0..1a4172382373d55e8bc7251cff300adf96ae3b2d 100644 (file)
@@ -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/.gitignore b/scripts/kconfig/.gitignore
new file mode 100644 (file)
index 0000000..be603c4
--- /dev/null
@@ -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 (file)
index 0000000..9c4d241
--- /dev/null
@@ -0,0 +1,321 @@
+# ===========================================================================
+# 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/config include/generated
+       $< --$@ $(Kconfig)
+
+localyesconfig localmodconfig: $(obj)/streamline_config.pl $(obj)/conf
+       $(Q)mkdir -p include/config 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 (file)
index 0000000..9674573
--- /dev/null
@@ -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 (executable)
index 0000000..55b79ba
--- /dev/null
@@ -0,0 +1,13 @@
+#!/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 (file)
index 0000000..fef75fc
--- /dev/null
@@ -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 (file)
index 0000000..ae6ce66
--- /dev/null
@@ -0,0 +1,1250 @@
+/*
+ * 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;
+
+       /*
+        * 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");
+
+       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 (file)
index 0000000..d662652
--- /dev/null
@@ -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 (file)
index 0000000..412ea8a
--- /dev/null
@@ -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 (file)
index 0000000..d0a35b2
--- /dev/null
@@ -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 (file)
index 0000000..aa483cb
--- /dev/null
@@ -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 (file)
index 0000000..d4f84bd
--- /dev/null
@@ -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 (file)
index 0000000..2858738
--- /dev/null
@@ -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 (file)
index 0000000..685d80e
--- /dev/null
@@ -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 (file)
index 0000000..d5daa7a
--- /dev/null
@@ -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 (file)
index 0000000..ecdb965
--- /dev/null
@@ -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 (file)
index 0000000..90b08ff
--- /dev/null
@@ -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 (file)
index 0000000..a8999d8
--- /dev/null
@@ -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 (file)
index 0000000..9d2a4c5
--- /dev/null
@@ -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 (file)
index 0000000..8d016fa
--- /dev/null
@@ -0,0 +1,332 @@
+/*
+ *  checklist.c -- implements the checklist box
+ *
+ *  ORIGINAL AUTHOR: Savio Lam (lam836@cs.cuhk.hk)
+ *     Stuart Herbert - S.Herbert@sheffield.ac.uk: radiolist extension
+ *     Alessandro Rubini - rubini@ipvvis.unipv.it: merged the two
+ *  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 "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 at 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 (file)
index 0000000..b4343d3
--- /dev/null
@@ -0,0 +1,257 @@
+/*
+ *  dialog.h -- common declarations for all dialog modules
+ *
+ *  AUTHOR: Savio Lam (lam836@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 (file)
index 0000000..d58de1d
--- /dev/null
@@ -0,0 +1,301 @@
+/*
+ *  inputbox.c -- implements the input box
+ *
+ *  ORIGINAL AUTHOR: Savio Lam (lam836@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 "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 (file)
index 0000000..11ae9ad
--- /dev/null
@@ -0,0 +1,437 @@
+/*
+ *  menubox.c -- implements the menu box
+ *
+ *  ORIGINAL AUTHOR: Savio Lam (lam836@cs.cuhk.hk)
+ *  MODIFIED FOR LINUX KERNEL CONFIG BY: William Roadcap (roadcapw@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@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 (file)
index 0000000..1773319
--- /dev/null
@@ -0,0 +1,408 @@
+/*
+ *  textbox.c -- implements the text box
+ *
+ *  ORIGINAL AUTHOR: Savio Lam (lam836@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 "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 (file)
index 0000000..f7abdeb
--- /dev/null
@@ -0,0 +1,713 @@
+/*
+ *  util.c
+ *
+ *  ORIGINAL AUTHOR: Savio Lam (lam836@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 at 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 (file)
index 0000000..676fb2f
--- /dev/null
@@ -0,0 +1,114 @@
+/*
+ *  yesno.c -- implements the yes/no box
+ *
+ *  ORIGINAL AUTHOR: Savio Lam (lam836@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 "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 (file)
index 0000000..14cea74
--- /dev/null
@@ -0,0 +1,1036 @@
+/*
+ * 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 (file)
index 0000000..a26cc5d
--- /dev/null
@@ -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 (executable)
index 0000000..81b0c61
--- /dev/null
@@ -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 (file)
index 0000000..984489e
--- /dev/null
@@ -0,0 +1,1556 @@
+/*
+ * 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 (file)
index 0000000..8275f0e
--- /dev/null
@@ -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 (file)
index 0000000..0d52617
--- /dev/null
@@ -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 (file)
index 0000000..9d3b04b
--- /dev/null
@@ -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 (file)
index 0000000..bde0c6b
--- /dev/null
@@ -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 (file)
index 0000000..9cb8522
--- /dev/null
@@ -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@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 (file)
index 0000000..7caabdb
--- /dev/null
@@ -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 (file)
index 0000000..94f9c83
--- /dev/null
@@ -0,0 +1,157 @@
+/*
+ * 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 (file)
index 0000000..b6ac02d
--- /dev/null
@@ -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 (file)
index 0000000..c77a8ef
--- /dev/null
@@ -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 (file)
index 0000000..6c62d93
--- /dev/null
@@ -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 (file)
index 0000000..349a7f2
--- /dev/null
@@ -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 at 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 at 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 (file)
index 0000000..de5e84e
--- /dev/null
@@ -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 at 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 at 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 at 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 (file)
index 0000000..0f683cf
--- /dev/null
@@ -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"
diff --git a/scripts/multiconfig.py b/scripts/multiconfig.py
new file mode 100755 (executable)
index 0000000..749abcb
--- /dev/null
@@ -0,0 +1,410 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2014, Masahiro Yamada <yamada.m@jp.panasonic.com>
+#
+# SPDX-License-Identifier:     GPL-2.0+
+#
+
+"""
+A wrapper script to adjust Kconfig for U-Boot
+
+The biggest difference between Linux Kernel and U-Boot in terms of the
+board configuration is that U-Boot has to configure multiple boot images
+per board: Normal, SPL, TPL.
+We need to expand the functions of Kconfig to handle multiple boot
+images.
+
+Instead of touching various parts under the scripts/kconfig/ directory,
+pushing necessary adjustments into this single script would be better
+for code maintainance. All the make targets related to the configuration
+(make %config) should be invoked via this script.
+
+Let's see what is different from the original Kconfig.
+
+- config, menuconfig, etc.
+
+The commands 'make config', 'make menuconfig', etc. are used to create
+or modify the .config file, which stores configs for Normal boot image.
+
+The location of the one for SPL, TPL image is spl/.config, tpl/.config,
+respectively. Use 'make spl/config', 'make spl/menuconfig', etc.
+to create or modify the spl/.config file, which contains configs
+for SPL image.
+Do likewise for the tpl/.config file.
+The generic syntax for SPL, TPL configuration is
+'make <target_image>/<config_command>'.
+
+- silentoldconfig
+
+The command 'make silentoldconfig' updates .config, if necessary, and
+additionally updates include/generated/autoconf.h and files under
+include/configs/ directory. In U-Boot, it should do the same things for
+SPL, TPL images for boards supporting them.
+Depending on whether CONFIG_SPL, CONFIG_TPL is defined or not,
+'make silentoldconfig' iterates three times at most changing the target
+directory.
+
+To sum up, 'make silentoldconfig' possibly updates
+  - .config, include/generated/autoconf.h, include/config/*
+  - spl/.config, spl/include/generated/autoconf.h, spl/include/config/*
+    (in case CONFIG_SPL=y)
+  - tpl/.config, tpl/include/generated/autoconf.h, tpl/include/config/*
+    (in case CONFIG_TPL=y)
+
+- defconfig, <board>_defconfig
+
+The command 'make <board>_defconfig' creates a new .config based on the
+file configs/<board>_defconfig. The command 'make defconfig' is the same
+but the difference is it uses the file specified with KBUILD_DEFCONFIG
+environment.
+
+We need to create .config, spl/.config, tpl/.config for boards where SPL
+and TPL images are supported. One possible solution for that is to have
+multiple defconfig files per board, but it would produce duplication
+among the defconfigs.
+The approach chosen here is to expand the feature and support
+conditional definition in defconfig, that is, each line in defconfig
+files has the form of:
+<condition>:<macro definition>
+
+The '<condition>:' prefix specifies which image the line is valid for.
+The '<condition>:' is one of:
+  None  - the line is valid only for Normal image
+  S:    - the line is valid only for SPL image
+  T:    - the line is valid only for TPL image
+  ST:   - the line is valid for SPL and TPL images
+  +S:   - the line is valid for Normal and SPL images
+  +T:   - the line is valid for Normal and TPL images
+  +ST:  - the line is valid for Normal, SPL and SPL images
+
+So, if neither CONFIG_SPL nor CONFIG_TPL is defined, the defconfig file
+has no '<condition>:' part and therefore has the same form of that of
+Linux Kernel.
+
+In U-Boot, for example, a defconfig file can be written like this:
+
+  CONFIG_FOO=100
+  S:CONFIG_FOO=200
+  T:CONFIG_FOO=300
+  ST:CONFIG_BAR=y
+  +S:CONFIG_BAZ=y
+  +T:CONFIG_QUX=y
+  +ST:CONFIG_QUUX=y
+
+The defconfig above is parsed by this script and internally divided into
+three temporary defconfig files.
+
+  - Temporary defconfig for Normal image
+     CONFIG_FOO=100
+     CONFIG_BAZ=y
+     CONFIG_QUX=y
+     CONFIG_QUUX=y
+
+  - Temporary defconfig for SPL image
+     CONFIG_FOO=200
+     CONFIG_BAR=y
+     CONFIG_BAZ=y
+     CONFIG_QUUX=y
+
+  - Temporary defconfig for TPL image
+     CONFIG_FOO=300
+     CONFIG_BAR=y
+     CONFIG_QUX=y
+     CONFIG_QUUX=y
+
+They are passed to scripts/kconfig/conf, each is used for generating
+.config, spl/.config, tpl/.config, respectively.
+
+- savedefconfig
+
+This is the reverse operation of 'make defconfig'.
+If neither CONFIG_SPL nor CONFIG_TPL is defined in the .config file,
+it works as 'make savedefconfig' in Linux Kernel: create the minimal set
+of config based on the .config and save it into 'defconfig' file.
+
+If CONFIG_SPL or CONFIG_TPL is defined, the common lines among .config,
+spl/.config, tpl/.config are coalesced together and output to the file
+'defconfig' in the form like:
+
+  CONFIG_FOO=100
+  S:CONFIG_FOO=200
+  T:CONFIG_FOO=300
+  ST:CONFIG_BAR=y
+  +S:CONFIG_BAZ=y
+  +T:CONFIG_QUX=y
+  +ST:CONFIG_QUUX=y
+
+This can be used as an input of 'make <board>_defconfig' command.
+"""
+
+import errno
+import os
+import re
+import subprocess
+import sys
+
+# Constant variables
+SUB_IMAGES = ('spl', 'tpl')
+IMAGES = ('',) + SUB_IMAGES
+SYMBOL_MAP = {'': '+', 'spl': 'S', 'tpl': 'T'}
+PATTERN_SYMBOL = re.compile(r'(\+?)(S?)(T?):(.*)')
+
+# Environment variables (should be defined in the top Makefile)
+# .get('key', 'default_value') method is useful for standalone testing.
+MAKE = os.environ.get('MAKE', 'make')
+srctree = os.environ.get('srctree', '.')
+KCONFIG_CONFIG = os.environ.get('KCONFIG_CONFIG', '.config')
+
+# Useful shorthand
+build = '%s -f %s/scripts/Makefile.build obj=scripts/kconfig %%s' % (MAKE, srctree)
+autoconf = '%s -f %s/scripts/Makefile.autoconf obj=%%s %%s' % (MAKE, srctree)
+
+### helper functions ###
+def mkdirs(*dirs):
+    """Make directories ignoring 'File exists' error."""
+    for d in dirs:
+        try:
+            os.makedirs(d)
+        except OSError as exception:
+            # Ignore 'File exists' error
+            if exception.errno != errno.EEXIST:
+                raise
+
+def rmfiles(*files):
+    """Remove files ignoring 'No such file or directory' error."""
+    for f in files:
+        try:
+            os.remove(f)
+        except OSError as exception:
+            # Ignore 'No such file or directory' error
+            if exception.errno != errno.ENOENT:
+                raise
+
+def rmdirs(*dirs):
+    """Remove directories ignoring 'No such file or directory'
+    and 'Directory not empty' error.
+    """
+    for d in dirs:
+        try:
+            os.rmdir(d)
+        except OSError as exception:
+            # Ignore 'No such file or directory'
+            # and 'Directory not empty' error
+            if exception.errno != errno.ENOENT and \
+               exception.errno != errno.ENOTEMPTY:
+                raise
+
+def error(msg):
+    """Output the given argument to stderr and exit with return code 1."""
+    print >> sys.stderr, msg
+    sys.exit(1)
+
+def run_command(command, callback_on_error=None):
+    """Run the given command in a sub-shell (and exit if it fails).
+
+    Arguments:
+      command: A string of the command
+      callback_on_error: Callback handler invoked just before exit
+                         when the command fails (Default=None)
+    """
+    retcode = subprocess.call(command, shell=True)
+    if retcode:
+        if callback_on_error:
+            callback_on_error()
+        error("'%s' Failed" % command)
+
+def run_make_config(cmd, objdir, callback_on_error=None):
+    """Run the make command in a sub-shell (and exit if it fails).
+
+    Arguments:
+      cmd: Make target such as 'config', 'menuconfig', 'defconfig', etc.
+      objdir: Target directory where the make command is run.
+              Typically '', 'spl', 'tpl' for Normal, SPL, TPL image,
+              respectively.
+      callback_on_error: Callback handler invoked just before exit
+                         when the command fails (Default=None)
+    """
+    # Linux expects defconfig files in arch/$(SRCARCH)/configs/ directory,
+    # but U-Boot puts them in configs/ directory.
+    # Give SRCARCH=.. to fake scripts/kconfig/Makefile.
+    options = 'SRCARCH=.. KCONFIG_OBJDIR=%s' % objdir
+    if objdir:
+        options += ' KCONFIG_CONFIG=%s/%s' % (objdir, KCONFIG_CONFIG)
+        mkdirs(objdir)
+    run_command(build % cmd + ' ' + options, callback_on_error)
+
+def get_enabled_subimages(ignore_error=False):
+    """Parse .config file to detect if CONFIG_SPL, CONFIG_TPL is enabled
+    and return a tuple of enabled subimages.
+
+    Arguments:
+      ignore_error: Specify the behavior when '.config' is not found;
+                    Raise an exception if this flag is False.
+                    Return a null tuple if this flag is True.
+
+    Returns:
+      A tuple of enabled subimages as follows:
+        ()             if neither CONFIG_SPL nor CONFIG_TPL is defined
+        ('spl',)       if CONFIG_SPL is defined but CONFIG_TPL is not
+        ('spl', 'tpl') if both CONFIG_SPL and CONFIG_TPL are defined
+    """
+    enabled = ()
+    match_patterns = [ (img, 'CONFIG_' + img.upper() + '=y\n')
+                                                        for img in SUB_IMAGES ]
+    try:
+        f = open(KCONFIG_CONFIG)
+    except IOError as exception:
+        if not ignore_error or exception.errno != errno.ENOENT:
+            raise
+        return enabled
+    with f:
+        for line in f:
+            for img, pattern in match_patterns:
+                if line == pattern:
+                    enabled += (img,)
+    return enabled
+
+def do_silentoldconfig(cmd):
+    """Run 'make silentoldconfig' for all the enabled images.
+
+    Arguments:
+      cmd: should always be a string 'silentoldconfig'
+    """
+    run_make_config(cmd, '')
+    subimages = get_enabled_subimages()
+    for obj in subimages:
+        mkdirs(os.path.join(obj, 'include', 'config'),
+               os.path.join(obj, 'include', 'generated'))
+        run_make_config(cmd, obj)
+    remove_auto_conf = lambda : rmfiles('include/config/auto.conf')
+    # If the following part failed, include/config/auto.conf should be deleted
+    # so 'make silentoldconfig' will be re-run on the next build.
+    run_command(autoconf %
+                ('include', 'include/autoconf.mk include/autoconf.mk.dep'),
+                remove_auto_conf)
+    # include/config.h has been updated after 'make silentoldconfig'.
+    # We need to touch include/config/auto.conf so it gets newer
+    # than include/config.h.
+    # Otherwise, 'make silentoldconfig' would be invoked twice.
+    os.utime('include/config/auto.conf', None)
+    for obj in subimages:
+        run_command(autoconf % (obj + '/include',
+                                obj + '/include/autoconf.mk'),
+                    remove_auto_conf)
+
+def do_tmp_defconfig(output_lines, img):
+    """Helper function for do_board_defconfig().
+
+    Write the defconfig contents into a file '.tmp_defconfig' and
+    invoke 'make .tmp_defconfig'.
+
+    Arguments:
+      output_lines: A sequence of defconfig lines of each image
+      img: Target image. Typically '', 'spl', 'tpl' for
+           Normal, SPL, TPL images, respectively.
+    """
+    TMP_DEFCONFIG = '.tmp_defconfig'
+    TMP_DIRS = ('arch', 'configs')
+    defconfig_path = os.path.join('configs', TMP_DEFCONFIG)
+    mkdirs(*TMP_DIRS)
+    with open(defconfig_path, 'w') as f:
+        f.write(''.join(output_lines[img]))
+    cleanup = lambda: (rmfiles(defconfig_path), rmdirs(*TMP_DIRS))
+    run_make_config(TMP_DEFCONFIG, img, cleanup)
+    cleanup()
+
+def do_board_defconfig(cmd):
+    """Run 'make <board>_defconfig'.
+
+    Arguments:
+      cmd: should be a string '<board>_defconfig'
+    """
+    defconfig_path = os.path.join(srctree, 'configs', cmd)
+    output_lines = dict([ (img, []) for img in IMAGES ])
+    with open(defconfig_path) as f:
+        for line in f:
+            m = PATTERN_SYMBOL.match(line)
+            if m:
+                for idx, img in enumerate(IMAGES):
+                    if m.group(idx + 1):
+                        output_lines[img].append(m.group(4) + '\n')
+                continue
+            output_lines[''].append(line)
+    do_tmp_defconfig(output_lines, '')
+    for img in get_enabled_subimages():
+        do_tmp_defconfig(output_lines, img)
+
+def do_defconfig(cmd):
+    """Run 'make defconfig'.
+
+    Arguments:
+      cmd: should always be a string 'defconfig'
+    """
+    KBUILD_DEFCONFIG = os.environ['KBUILD_DEFCONFIG']
+    print "*** Default configuration is based on '%s'" % KBUILD_DEFCONFIG
+    do_board_defconfig(KBUILD_DEFCONFIG)
+
+def do_savedefconfig(cmd):
+    """Run 'make savedefconfig'.
+
+    Arguments:
+      cmd: should always be a string 'savedefconfig'
+    """
+    DEFCONFIG = 'defconfig'
+    # Continue even if '.config' does not exist
+    subimages = get_enabled_subimages(True)
+    run_make_config(cmd, '')
+    output_lines = []
+    prefix = {}
+    with open(DEFCONFIG) as f:
+        for line in f:
+            output_lines.append(line)
+            prefix[line] = '+'
+    for img in subimages:
+        run_make_config(cmd, img)
+        unmatched_lines = []
+        with open(DEFCONFIG) as f:
+            for line in f:
+                if line in output_lines:
+                    index = output_lines.index(line)
+                    output_lines[index:index] = unmatched_lines
+                    unmatched_lines = []
+                    prefix[line] += SYMBOL_MAP[img]
+                else:
+                    ummatched_lines.append(line)
+                    prefix[line] = SYMBOL_MAP[img]
+    with open(DEFCONFIG, 'w') as f:
+        for line in output_lines:
+            if prefix[line] == '+':
+                f.write(line)
+            else:
+                f.write(prefix[line] + ':' + line)
+
+def do_others(cmd):
+    """Run the make command other than 'silentoldconfig', 'defconfig',
+    '<board>_defconfig' and 'savedefconfig'.
+
+    Arguments:
+      cmd: Make target in the form of '<target_image>/<config_command>'
+           The field '<target_image>/' is typically empty, 'spl/', 'tpl/'
+           for Normal, SPL, TPL images, respectively.
+           The field '<config_command>' is make target such as 'config',
+           'menuconfig', etc.
+    """
+    objdir, _, cmd = cmd.rpartition('/')
+    run_make_config(cmd, objdir)
+
+cmd_list = {'silentoldconfig': do_silentoldconfig,
+            'defconfig': do_defconfig,
+            'savedefconfig': do_savedefconfig}
+
+def main():
+    cmd = sys.argv[1]
+    if cmd.endswith('_defconfig'):
+        do_board_defconfig(cmd)
+    else:
+        func = cmd_list.get(cmd, do_others)
+        func(cmd)
+
+if __name__ == '__main__':
+    main()
diff --git a/scripts/show-gnu-make b/scripts/show-gnu-make
new file mode 100755 (executable)
index 0000000..26271b5
--- /dev/null
@@ -0,0 +1,25 @@
+#!/bin/sh
+#
+# Show the command name for GNU Make
+#
+# U-Boot is supposed to be built on various platforms.
+# One problem is that the command 'make' is not always GNU Make.
+# (For ex. the command name for GNU Make on FreeBSD is usually 'gmake'.)
+# It is not a good idea to hard-code the command name in scripts
+# where where GNU Make is expected.
+# Call this helper script to get the command name for GNU Make.
+#
+# SPDX-License-Identifier:     GPL-2.0+
+#
+
+gnu_make=
+
+for m in make gmake
+do
+       if $m --version 2>/dev/null | grep -q GNU; then
+               echo $m
+               exit 0
+       fi
+done
+
+exit 1
index 61b2048211dfc7ed4d122dc914a2cac3fc7b66d7..90e966d893e64e0508718127766d76286c4b8c6e 100644 (file)
@@ -193,7 +193,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) \
index 5172a473e35333296b97eb1a4bb6dfa79a6f51a0..7bcc93262eba16cd0b4a0cb6eeb5371e2957e4f6 100644 (file)
@@ -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
index 39a6e8ad5c73125f3486ced690522a692700e678..48408ff0b14ec8ee950df9ec396721f5d6929a60 100644 (file)
@@ -199,7 +199,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
             force_build_failures: Force a bulid if the previous result showed
                 failure
@@ -213,7 +213,10 @@ class BuilderThread(threading.Thread):
         # self.Make() below, in the event that we do a build.
         result = command.CommandResult()
         result.return_code = 0
-        out_dir = os.path.join(work_dir, 'build')
+        if self.builder.in_tree:
+            out_dir = work_dir
+        else:
+            out_dir = os.path.join(work_dir, 'build')
 
         # Check if the job was already completed last time
         done_file = self.builder.GetDoneFile(commit_upto, brd.target)
@@ -257,10 +260,13 @@ class BuilderThread(threading.Thread):
                 # Set up the environment and command line
                 env = self.toolchain.MakeEnvironment()
                 Mkdir(out_dir)
-                args = ['O=build', '-s']
+                args = []
+                if not self.builder.in_tree:
+                    args.append('O=build')
+                args.append('-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))
 
@@ -413,7 +419,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
@@ -431,7 +437,8 @@ class BuilderThread(threading.Thread):
                         result, request_config = self.RunCommit(commit_upto,
                             brd, work_dir, True, True, False)
                         did_config = True
-                do_config = request_config
+                if not self.builder.force_reconfig:
+                    do_config = request_config
 
                 # If we built that commit, then config is done. But if we got
                 # an warning, reconfig next time to force it to build the same
@@ -524,6 +531,15 @@ class Builder:
         toolchains: Toolchains object to use for building
         upto: Current commit number we are building (0.count-1)
         warned: Number of builds that produced at least one warning
+        force_reconfig: Reconfigure U-Boot on each comiit. This disables
+            incremental building, where buildman reconfigures on the first
+            commit for a baord, and then just does an incremental build for
+            the following commits. In fact buildman will reconfigure and
+            retry for any failing commits, so generally the only effect of
+            this option is to slow things down.
+        in_tree: Build U-Boot in-tree instead of specifying an output
+            directory separate from the source code. This option is really
+            only useful for testing in-tree builds.
 
     Private members:
         _base_board_dict: Last-summarised Dict of boards
@@ -560,7 +576,7 @@ class Builder:
             self.func_sizes = func_sizes
 
     def __init__(self, toolchains, base_dir, git_dir, num_threads, num_jobs,
-                 checkout=True, show_unknown=True, step=1):
+                 gnu_make='make', checkout=True, show_unknown=True, step=1):
         """Create a new Builder object
 
         Args:
@@ -569,6 +585,7 @@ class Builder:
             git_dir: Git directory containing source repository
             num_threads: Number of builder threads to run
             num_jobs: Number of jobs to run at once (passed to make as -j)
+            gnu_make: the command name of GNU Make.
             checkout: True to check out source, False to skip that step.
                 This is used for testing.
             show_unknown: Show unknown boards (those not built) in summary
@@ -580,6 +597,7 @@ class Builder:
         self.threads = []
         self.active = True
         self.do_make = self.Make
+        self.gnu_make = gnu_make
         self.checkout = checkout
         self.num_threads = num_threads
         self.num_jobs = num_jobs
@@ -593,7 +611,9 @@ class Builder:
         self._next_delay_update = datetime.now()
         self.force_config_on_failure = True
         self.force_build_failures = False
+        self.force_reconfig = False
         self._step = step
+        self.in_tree = False
 
         self.col = terminal.Color()
 
@@ -682,7 +702,7 @@ class Builder:
             args: Arguments to pass to make
             kwargs: Arguments to pass to command.RunPipe()
         """
-        cmd = ['make'] + list(args)
+        cmd = [self.gnu_make] + list(args)
         result = command.RunPipe([cmd], capture=True, capture_stderr=True,
                 cwd=cwd, raise_on_error=False, **kwargs)
         return result
index 0da6797e7f016a4c66ade07d60913f42446b17f3..42847acb3c56eded4ef10b9368f82fadc4a39f78 100755 (executable)
@@ -67,6 +67,9 @@ parser.add_option('-B', '--bloat', dest='show_bloat',
        help='Show changes in function code size for each board')
 parser.add_option('-c', '--count', dest='count', type='int',
        default=-1, help='Run build on the top n commits')
+parser.add_option('-C', '--force-reconfig', dest='force_reconfig',
+       action='store_true', default=False,
+       help='Reconfigure for every commit (disable incremental build)')
 parser.add_option('-e', '--show_errors', action='store_true',
        default=False, help='Show errors and warnings')
 parser.add_option('-f', '--force-build', dest='force_build',
@@ -82,6 +85,9 @@ parser.add_option('-g', '--git', type='string',
        help='Git repo containing branch to build', default='.')
 parser.add_option('-H', '--full-help', action='store_true', dest='full_help',
        default=False, help='Display the README file')
+parser.add_option('-i', '--in-tree', dest='in_tree',
+       action='store_true', default=False,
+       help='Build in the source tree instead of a separate directory')
 parser.add_option('-j', '--jobs', dest='jobs', type='int',
        default=None, help='Number of jobs to run at once (passed to make)')
 parser.add_option('-k', '--keep-outputs', action='store_true',
index cfad535fcb316eb36aec590d2df7a6950fcf2a04..75b6498e651e3cfb22a986028aaf3793df975a6f 100644 (file)
@@ -14,6 +14,8 @@ import gitutil
 import patchstream
 import terminal
 import toolchain
+import command
+import subprocess
 
 def GetPlural(count):
     """Returns a plural 's' if count is not 1"""
@@ -108,6 +110,15 @@ def DoBuildman(options, args):
         sys.exit(1)
 
     # Work out what subset of the boards we are building
+    board_file = os.path.join(options.git, 'boards.cfg')
+    if not os.path.exists(board_file):
+        print 'Could not find %s' % board_file
+        status = subprocess.call([os.path.join(options.git,
+                                               'tools/genboardscfg.py')])
+        if status != 0:
+            print >> sys.stderr, "Failed to generate boards.cfg"
+            sys.exit(1)
+
     boards = board.Boards()
     boards.ReadBoards(os.path.join(options.git, 'boards.cfg'))
     why_selected = boards.SelectBoards(args)
@@ -144,10 +155,16 @@ def DoBuildman(options, args):
     if not options.step:
         options.step = len(series.commits) - 1
 
+    gnu_make = command.Output(os.path.join(options.git,
+                                           'scripts/show-gnu-make')).rstrip()
+    if not gnu_make:
+        print >> sys.stderr, 'GNU Make not found'
+        sys.exit(1)
+
     # Create a new builder with the selected options
     output_dir = os.path.join(options.output_dir, options.branch)
     builder = Builder(toolchains, output_dir, options.git_dir,
-            options.threads, options.jobs, checkout=True,
+            options.threads, options.jobs, gnu_make=gnu_make, checkout=True,
             show_unknown=options.show_unknown, step=options.step)
     builder.force_config_on_failure = not options.quick
 
@@ -157,6 +174,8 @@ def DoBuildman(options, args):
     else:
         builder.force_build = options.force_build
         builder.force_build_failures = options.force_build_failures
+        builder.force_reconfig = options.force_reconfig
+        builder.in_tree = options.in_tree
 
         # Work out which boards to build
         board_selected = boards.GetSelectedDict()
index f5368bc4d0253286ae4ba08f501f50ea5605ceb0..4927489b161cf5483da0d2d5dc55e0801246ca16 100644 (file)
@@ -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)
diff --git a/tools/genboardscfg.py b/tools/genboardscfg.py
new file mode 100755 (executable)
index 0000000..734d90b
--- /dev/null
@@ -0,0 +1,504 @@
+#!/usr/bin/env python
+#
+# Author: Masahiro Yamada <yamada.m@jp.panasonic.com>
+#
+# SPDX-License-Identifier:     GPL-2.0+
+#
+
+"""
+Converter from Kconfig and MAINTAINERS to boards.cfg
+
+Run 'tools/genboardscfg.py' to create boards.cfg file.
+
+Run 'tools/genboardscfg.py -h' for available options.
+"""
+
+import errno
+import fnmatch
+import glob
+import optparse
+import os
+import re
+import shutil
+import subprocess
+import sys
+import tempfile
+import time
+
+BOARD_FILE = 'boards.cfg'
+CONFIG_DIR = 'configs'
+REFORMAT_CMD = [os.path.join('tools', 'reformat.py'),
+                '-i', '-d', '-', '-s', '8']
+SHOW_GNU_MAKE = 'scripts/show-gnu-make'
+SLEEP_TIME=0.03
+
+COMMENT_BLOCK = '''#
+# List of boards
+#   Automatically generated by %s: don't edit
+#
+# Status, Arch, CPU(:SPLCPU), SoC, Vendor, Board, Target, Options, Maintainers
+
+''' % __file__
+
+### helper functions ###
+def get_terminal_columns():
+    """Get the width of the terminal.
+
+    Returns:
+      The width of the terminal, or zero if the stdout is not
+      associated with tty.
+    """
+    try:
+        return shutil.get_terminal_size().columns # Python 3.3~
+    except AttributeError:
+        import fcntl
+        import termios
+        import struct
+        arg = struct.pack('hhhh', 0, 0, 0, 0)
+        try:
+            ret = fcntl.ioctl(sys.stdout.fileno(), termios.TIOCGWINSZ, arg)
+        except IOError as exception:
+            if exception.errno != errno.ENOTTY:
+                raise
+            # If 'Inappropriate ioctl for device' error occurs,
+            # stdout is probably redirected. Return 0.
+            return 0
+        return struct.unpack('hhhh', ret)[1]
+
+def get_devnull():
+    """Get the file object of '/dev/null' device."""
+    try:
+        devnull = subprocess.DEVNULL # py3k
+    except AttributeError:
+        devnull = open(os.devnull, 'wb')
+    return devnull
+
+def check_top_directory():
+    """Exit if we are not at the top of source directory."""
+    for f in ('README', 'Licenses'):
+        if not os.path.exists(f):
+            print >> sys.stderr, 'Please run at the top of source directory.'
+            sys.exit(1)
+
+def get_make_cmd():
+    """Get the command name of GNU Make."""
+    process = subprocess.Popen([SHOW_GNU_MAKE], stdout=subprocess.PIPE)
+    ret = process.communicate()
+    if process.returncode:
+        print >> sys.stderr, 'GNU Make not found'
+        sys.exit(1)
+    return ret[0].rstrip()
+
+### classes ###
+class MaintainersDatabase:
+
+    """The database of board status and maintainers."""
+
+    def __init__(self):
+        """Create an empty database."""
+        self.database = {}
+
+    def get_status(self, target):
+        """Return the status of the given board.
+
+        Returns:
+          Either 'Active' or 'Orphan'
+        """
+        tmp = self.database[target][0]
+        if tmp.startswith('Maintained'):
+            return 'Active'
+        elif tmp.startswith('Orphan'):
+            return 'Orphan'
+        else:
+            print >> sys.stderr, 'Error: %s: unknown status' % tmp
+
+    def get_maintainers(self, target):
+        """Return the maintainers of the given board.
+
+        If the board has two or more maintainers, they are separated
+        with colons.
+        """
+        return ':'.join(self.database[target][1])
+
+    def parse_file(self, file):
+        """Parse the given MAINTAINERS file.
+
+        This method parses MAINTAINERS and add board status and
+        maintainers information to the database.
+
+        Arguments:
+          file: MAINTAINERS file to be parsed
+        """
+        targets = []
+        maintainers = []
+        status = '-'
+        for line in open(file):
+            tag, rest = line[:2], line[2:].strip()
+            if tag == 'M:':
+                maintainers.append(rest)
+            elif tag == 'F:':
+                # expand wildcard and filter by 'configs/*_defconfig'
+                for f in glob.glob(rest):
+                    front, match, rear = f.partition('configs/')
+                    if not front and match:
+                        front, match, rear = rear.rpartition('_defconfig')
+                        if match and not rear:
+                            targets.append(front)
+            elif tag == 'S:':
+                status = rest
+            elif line == '\n' and targets:
+                for target in targets:
+                    self.database[target] = (status, maintainers)
+                targets = []
+                maintainers = []
+                status = '-'
+        if targets:
+            for target in targets:
+                self.database[target] = (status, maintainers)
+
+class DotConfigParser:
+
+    """A parser of .config file.
+
+    Each line of the output should have the form of:
+    Status, Arch, CPU, SoC, Vendor, Board, Target, Options, Maintainers
+    Most of them are extracted from .config file.
+    MAINTAINERS files are also consulted for Status and Maintainers fields.
+    """
+
+    re_arch = re.compile(r'CONFIG_SYS_ARCH="(.*)"')
+    re_cpu = re.compile(r'CONFIG_SYS_CPU="(.*)"')
+    re_soc = re.compile(r'CONFIG_SYS_SOC="(.*)"')
+    re_vendor = re.compile(r'CONFIG_SYS_VENDOR="(.*)"')
+    re_board = re.compile(r'CONFIG_SYS_BOARD="(.*)"')
+    re_config = re.compile(r'CONFIG_SYS_CONFIG_NAME="(.*)"')
+    re_options = re.compile(r'CONFIG_SYS_EXTRA_OPTIONS="(.*)"')
+    re_list = (('arch', re_arch), ('cpu', re_cpu), ('soc', re_soc),
+               ('vendor', re_vendor), ('board', re_board),
+               ('config', re_config), ('options', re_options))
+    must_fields = ('arch', 'config')
+
+    def __init__(self, build_dir, output, maintainers_database):
+        """Create a new .config perser.
+
+        Arguments:
+          build_dir: Build directory where .config is located
+          output: File object which the result is written to
+          maintainers_database: An instance of class MaintainersDatabase
+        """
+        self.dotconfig = os.path.join(build_dir, '.config')
+        self.output = output
+        self.database = maintainers_database
+
+    def parse(self, defconfig):
+        """Parse .config file and output one-line database for the given board.
+
+        Arguments:
+          defconfig: Board (defconfig) name
+        """
+        fields = {}
+        for line in open(self.dotconfig):
+            if not line.startswith('CONFIG_SYS_'):
+                continue
+            for (key, pattern) in self.re_list:
+                m = pattern.match(line)
+                if m and m.group(1):
+                    fields[key] = m.group(1)
+                    break
+
+        # sanity check of '.config' file
+        for field in self.must_fields:
+            if not field in fields:
+                print >> sys.stderr, 'Error: %s is not defined in %s' % \
+                                                            (field, defconfig)
+                sys.exit(1)
+
+        # fix-up for aarch64 and tegra
+        if fields['arch'] == 'arm' and 'cpu' in fields:
+            if fields['cpu'] == 'armv8':
+                fields['arch'] = 'aarch64'
+            if 'soc' in fields and re.match('tegra[0-9]*$', fields['soc']):
+                fields['cpu'] += ':arm720t'
+
+        target, match, rear = defconfig.partition('_defconfig')
+        assert match and not rear, \
+                                '%s : invalid defconfig file name' % defconfig
+
+        fields['status'] = self.database.get_status(target)
+        fields['maintainers'] = self.database.get_maintainers(target)
+
+        if 'options' in fields:
+            options = fields['config'] + ':' + \
+                      fields['options'].replace(r'\"', '"')
+        elif fields['config'] != target:
+            options = fields['config']
+        else:
+            options = '-'
+
+        self.output.write((' '.join(['%s'] * 9) + '\n')  %
+                          (fields['status'],
+                           fields['arch'],
+                           fields.get('cpu', '-'),
+                           fields.get('soc', '-'),
+                           fields.get('vendor', '-'),
+                           fields.get('board', '-'),
+                           target,
+                           options,
+                           fields['maintainers']))
+
+class Slot:
+
+    """A slot to store a subprocess.
+
+    Each instance of this class handles one subprocess.
+    This class is useful to control multiple processes
+    for faster processing.
+    """
+
+    def __init__(self, output, maintainers_database, devnull, make_cmd):
+        """Create a new slot.
+
+        Arguments:
+          output: File object which the result is written to
+          maintainers_database: An instance of class MaintainersDatabase
+        """
+        self.occupied = False
+        self.build_dir = tempfile.mkdtemp()
+        self.devnull = devnull
+        self.make_cmd = make_cmd
+        self.parser = DotConfigParser(self.build_dir, output,
+                                      maintainers_database)
+
+    def __del__(self):
+        """Delete the working directory"""
+        shutil.rmtree(self.build_dir)
+
+    def add(self, defconfig):
+        """Add a new subprocess to the slot.
+
+        Fails if the slot is occupied, that is, the current subprocess
+        is still running.
+
+        Arguments:
+          defconfig: Board (defconfig) name
+
+        Returns:
+          Return True on success or False on fail
+        """
+        if self.occupied:
+            return False
+        o = 'O=' + self.build_dir
+        self.ps = subprocess.Popen([self.make_cmd, o, defconfig],
+                                   stdout=self.devnull)
+        self.defconfig = defconfig
+        self.occupied = True
+        return True
+
+    def poll(self):
+        """Check if the subprocess is running and invoke the .config
+        parser if the subprocess is terminated.
+
+        Returns:
+          Return True if the subprocess is terminated, False otherwise
+        """
+        if not self.occupied:
+            return True
+        if self.ps.poll() == None:
+            return False
+        self.parser.parse(self.defconfig)
+        self.occupied = False
+        return True
+
+class Slots:
+
+    """Controller of the array of subprocess slots."""
+
+    def __init__(self, jobs, output, maintainers_database):
+        """Create a new slots controller.
+
+        Arguments:
+          jobs: A number of slots to instantiate
+          output: File object which the result is written to
+          maintainers_database: An instance of class MaintainersDatabase
+        """
+        self.slots = []
+        devnull = get_devnull()
+        make_cmd = get_make_cmd()
+        for i in range(jobs):
+            self.slots.append(Slot(output, maintainers_database,
+                                   devnull, make_cmd))
+
+    def add(self, defconfig):
+        """Add a new subprocess if a vacant slot is available.
+
+        Arguments:
+          defconfig: Board (defconfig) name
+
+        Returns:
+          Return True on success or False on fail
+        """
+        for slot in self.slots:
+            if slot.add(defconfig):
+                return True
+        return False
+
+    def available(self):
+        """Check if there is a vacant slot.
+
+        Returns:
+          Return True if a vacant slot is found, False if all slots are full
+        """
+        for slot in self.slots:
+            if slot.poll():
+                return True
+        return False
+
+    def empty(self):
+        """Check if all slots are vacant.
+
+        Returns:
+          Return True if all slots are vacant, False if at least one slot
+          is running
+        """
+        ret = True
+        for slot in self.slots:
+            if not slot.poll():
+                ret = False
+        return ret
+
+class Indicator:
+
+    """A class to control the progress indicator."""
+
+    MIN_WIDTH = 15
+    MAX_WIDTH = 70
+
+    def __init__(self, total):
+        """Create an instance.
+
+        Arguments:
+          total: A number of boards
+        """
+        self.total = total
+        self.cur = 0
+        width = get_terminal_columns()
+        width = min(width, self.MAX_WIDTH)
+        width -= self.MIN_WIDTH
+        if width > 0:
+            self.enabled = True
+        else:
+            self.enabled = False
+        self.width = width
+
+    def inc(self):
+        """Increment the counter and show the progress bar."""
+        if not self.enabled:
+            return
+        self.cur += 1
+        arrow_len = self.width * self.cur // self.total
+        msg = '%4d/%d [' % (self.cur, self.total)
+        msg += '=' * arrow_len + '>' + ' ' * (self.width - arrow_len) + ']'
+        sys.stdout.write('\r' + msg)
+        sys.stdout.flush()
+
+def __gen_boards_cfg(jobs):
+    """Generate boards.cfg file.
+
+    Arguments:
+      jobs: The number of jobs to run simultaneously
+
+    Note:
+      The incomplete boards.cfg is left over when an error (including 
+      the termination by the keyboard interrupt) occurs on the halfway.
+    """
+    check_top_directory()
+    print 'Generating %s ...  (jobs: %d)' % (BOARD_FILE, jobs)
+
+    # All the defconfig files to be processed
+    defconfigs = []
+    for (dirpath, dirnames, filenames) in os.walk(CONFIG_DIR):
+        dirpath = dirpath[len(CONFIG_DIR) + 1:]
+        for filename in fnmatch.filter(filenames, '*_defconfig'):
+            defconfigs.append(os.path.join(dirpath, filename))
+
+    # Parse all the MAINTAINERS files
+    maintainers_database = MaintainersDatabase()
+    for (dirpath, dirnames, filenames) in os.walk('.'):
+        if 'MAINTAINERS' in filenames:
+            maintainers_database.parse_file(os.path.join(dirpath,
+                                                         'MAINTAINERS'))
+
+    # Output lines should be piped into the reformat tool
+    reformat_process = subprocess.Popen(REFORMAT_CMD, stdin=subprocess.PIPE,
+                                        stdout=open(BOARD_FILE, 'w'))
+    pipe = reformat_process.stdin
+    pipe.write(COMMENT_BLOCK)
+
+    indicator = Indicator(len(defconfigs))
+    slots = Slots(jobs, pipe, maintainers_database)
+
+    # Main loop to process defconfig files:
+    #  Add a new subprocess into a vacant slot.
+    #  Sleep if there is no available slot.
+    for defconfig in defconfigs:
+        while not slots.add(defconfig):
+            while not slots.available():
+                # No available slot: sleep for a while
+                time.sleep(SLEEP_TIME)
+        indicator.inc()
+
+    # wait until all the subprocesses finish
+    while not slots.empty():
+        time.sleep(SLEEP_TIME)
+    print ''
+
+    # wait until the reformat tool finishes
+    reformat_process.communicate()
+    if reformat_process.returncode != 0:
+        print >> sys.stderr, '"%s" failed' % REFORMAT_CMD[0]
+        sys.exit(1)
+
+def gen_boards_cfg(jobs):
+    """Generate boards.cfg file.
+
+    The incomplete boards.cfg is deleted if an error (including
+    the termination by the keyboard interrupt) occurs on the halfway.
+
+    Arguments:
+      jobs: The number of jobs to run simultaneously
+    """
+    try:
+        __gen_boards_cfg(jobs)
+    except:
+        # We should remove incomplete boards.cfg
+        try:
+            os.remove(BOARD_FILE)
+        except OSError as exception:
+            # Ignore 'No such file or directory' error
+            if exception.errno != errno.ENOENT:
+                raise
+        raise
+
+def main():
+    parser = optparse.OptionParser()
+    # Add options here
+    parser.add_option('-j', '--jobs',
+                      help='the number of jobs to run simultaneously')
+    (options, args) = parser.parse_args()
+    if options.jobs:
+        try:
+            jobs = int(options.jobs)
+        except ValueError:
+            print >> sys.stderr, 'Option -j (--jobs) takes a number'
+            sys.exit(1)
+    else:
+        try:
+            jobs = int(subprocess.Popen(['getconf', '_NPROCESSORS_ONLN'],
+                                     stdout=subprocess.PIPE).communicate()[0])
+        except (OSError, ValueError):
+            print 'info: failed to get the number of CPUs. Set jobs to 1'
+            jobs = 1
+    gen_boards_cfg(jobs)
+
+if __name__ == '__main__':
+    main()
index 7b75c83a82c07c0d8e3f502c11f4f9b0f3b598d8..65754f5326dbc8d92317648e9a4e78ddcaf600a2 100644 (file)
@@ -377,9 +377,14 @@ def EmailPatches(series, cover_fname, args, dry_run, raise_on_error, cc_fname,
     """
     to = BuildEmailList(series.get('to'), '--to', alias, raise_on_error)
     if not to:
-        print ("No recipient, please add something like this to a commit\n"
-            "Series-to: Fred Bloggs <f.blogs@napier.co.nz>")
-        return
+        git_config_to = command.Output('git', 'config', 'sendemail.to')
+        if not git_config_to:
+            print ("No recipient.\n"
+                   "Please add something like this to a commit\n"
+                   "Series-to: Fred Bloggs <f.blogs@napier.co.nz>\n"
+                   "Or do something like this\n"
+                   "git config sendemail.to u-boot@lists.denx.de")
+            return
     cc = BuildEmailList(series.get('cc'), '--cc', alias, raise_on_error)
     if self_only:
         to = BuildEmailList([os.getenv('USER')], '--to', alias, raise_on_error)