]> git.kernelconcepts.de Git - karo-tx-uboot.git/commitdiff
Merge branch 'master' of git://git.denx.de/u-boot-mpc85xx
authorTom Rini <trini@ti.com>
Fri, 26 Sep 2014 13:51:18 +0000 (09:51 -0400)
committerTom Rini <trini@ti.com>
Fri, 26 Sep 2014 13:51:18 +0000 (09:51 -0400)
429 files changed:
Kconfig
Makefile
README
arch/Kconfig
arch/arm/Kconfig
arch/arm/cpu/arm1176/tnetv107x/clock.c
arch/arm/cpu/armv7/exynos/Kconfig
arch/arm/cpu/armv7/mx6/ddr.c
arch/arm/include/asm/arch-kirkwood/spi.h
arch/powerpc/cpu/mpc8xx/u-boot.lds [moved from board/ip860/u-boot.lds with 100% similarity]
arch/x86/lib/physmem.c
board/LaCie/net2big_v2/MAINTAINERS
board/LaCie/netspace_v2/MAINTAINERS
board/LaCie/wireless_space/MAINTAINERS
board/Marvell/db64360/MAINTAINERS
board/Marvell/db64460/MAINTAINERS
board/Marvell/openrd/MAINTAINERS
board/a3000/MAINTAINERS
board/amcc/bluestone/MAINTAINERS
board/amcc/bubinga/MAINTAINERS
board/amcc/yucca/MAINTAINERS
board/armltd/versatile/MAINTAINERS
board/armltd/vexpress/MAINTAINERS
board/atmel/atngw100/MAINTAINERS
board/atmel/atstk1000/MAINTAINERS
board/bc3450/MAINTAINERS
board/boundary/nitrogen6x/nitrogen6x.c
board/calao/sbc35_a9g20/MAINTAINERS
board/calao/tny_a9260/MAINTAINERS
board/canmb/MAINTAINERS
board/cm-bf527/MAINTAINERS
board/cm-bf533/MAINTAINERS
board/cm-bf537e/MAINTAINERS
board/cm-bf537u/MAINTAINERS
board/cm-bf548/MAINTAINERS
board/cm-bf561/MAINTAINERS
board/cm41xx/MAINTAINERS
board/cm5200/MAINTAINERS
board/cmi/MAINTAINERS
board/cobra5272/MAINTAINERS
board/congatec/cgtqmx6eval/MAINTAINERS
board/cpu87/MAINTAINERS
board/cray/L1/MAINTAINERS
board/dave/PPChameleonEVB/MAINTAINERS
board/davinci/dm355evm/MAINTAINERS
board/davinci/dm355leopard/MAINTAINERS
board/davinci/dm365evm/MAINTAINERS
board/davinci/dm6467evm/MAINTAINERS
board/davinci/dvevm/MAINTAINERS
board/davinci/schmoogie/MAINTAINERS
board/davinci/sffsdr/MAINTAINERS
board/davinci/sonata/MAINTAINERS
board/earthlcd/favr-32-ezkit/MAINTAINERS
board/eltec/elppc/MAINTAINERS
board/eltec/mhpc/u-boot.lds [deleted file]
board/embest/mx6boards/mx6boards.c
board/emk/top860/u-boot.lds [deleted file]
board/ep8260/MAINTAINERS
board/ep82xxm/MAINTAINERS
board/esg/ima3-mx53/MAINTAINERS
board/espt/MAINTAINERS
board/evb64260/MAINTAINERS
board/exmeritus/hww1u1a/MAINTAINERS
board/freescale/b4860qds/MAINTAINERS
board/freescale/common/ics307_clk.c
board/freescale/corenet_ds/MAINTAINERS
board/freescale/m5208evbe/MAINTAINERS
board/freescale/m5249evb/MAINTAINERS
board/freescale/m5253evbe/MAINTAINERS
board/freescale/m5272c3/MAINTAINERS
board/freescale/m5275evb/MAINTAINERS
board/freescale/m5282evb/MAINTAINERS
board/freescale/m54418twr/MAINTAINERS
board/freescale/m54451evb/MAINTAINERS
board/freescale/mpc5121ads/MAINTAINERS
board/freescale/mpc8313erdb/MAINTAINERS
board/freescale/mpc8349itx/MAINTAINERS
board/freescale/mpc8360erdk/MAINTAINERS
board/freescale/mpc837xerdb/MAINTAINERS
board/freescale/mpc8536ds/MAINTAINERS
board/freescale/mpc8540ads/MAINTAINERS
board/freescale/mpc8541cds/MAINTAINERS
board/freescale/mpc8544ds/MAINTAINERS
board/freescale/mpc8548cds/MAINTAINERS
board/freescale/mpc8555cds/MAINTAINERS
board/freescale/mpc8560ads/MAINTAINERS
board/freescale/mpc8568mds/MAINTAINERS
board/freescale/mpc8569mds/MAINTAINERS
board/freescale/mpc8610hpcd/MAINTAINERS
board/freescale/mpc8641hpcn/MAINTAINERS
board/freescale/mx31ads/MAINTAINERS
board/freescale/mx6qsabreauto/mx6qsabreauto.c
board/freescale/mx6sabresd/mx6sabresd.c
board/freescale/mx6slevk/mx6slevk.c
board/freescale/p1010rdb/MAINTAINERS
board/freescale/p1023rdb/MAINTAINERS
board/freescale/p1_p2_rdb/MAINTAINERS
board/freescale/p1_p2_rdb_pc/MAINTAINERS
board/freescale/p1_twr/MAINTAINERS
board/freescale/p2020ds/MAINTAINERS
board/freescale/p2041rdb/MAINTAINERS
board/freescale/t104xrdb/MAINTAINERS
board/freescale/t208xqds/MAINTAINERS
board/freescale/t208xrdb/MAINTAINERS
board/freescale/t4qds/MAINTAINERS
board/funkwerk/vovpn-gw/MAINTAINERS
board/gaisler/gr_cpci_ax2000/MAINTAINERS
board/gaisler/gr_ep2s60/MAINTAINERS
board/gaisler/gr_xc3s_1500/MAINTAINERS
board/gaisler/grsim/MAINTAINERS
board/gaisler/grsim_leon2/MAINTAINERS
board/galaxy5200/MAINTAINERS
board/gateworks/gw_ventana/gw_ventana.c
board/genesi/mx51_efikamx/MAINTAINERS
board/genesi/mx51_efikamx/efikamx.c
board/icecube/MAINTAINERS
board/imx31_phycore/MAINTAINERS
board/ip04/MAINTAINERS
board/isee/igep00x0/MAINTAINERS
board/ivm/u-boot.lds [deleted file]
board/karo/tk71/MAINTAINERS
board/kup/kup4k/u-boot.lds [deleted file]
board/logicpd/imx31_litekit/MAINTAINERS
board/lwmon/u-boot.lds [deleted file]
board/manroland/hmi1001/MAINTAINERS
board/manroland/uc100/u-boot.lds [deleted file]
board/matrix_vision/mergerbox/MAINTAINERS
board/matrix_vision/mvbc_p/MAINTAINERS
board/matrix_vision/mvblm7/MAINTAINERS
board/matrix_vision/mvsmr/MAINTAINERS
board/mcc200/MAINTAINERS
board/micronas/vct/MAINTAINERS
board/motionpro/MAINTAINERS
board/mpl/pati/MAINTAINERS
board/munices/MAINTAINERS
board/musenki/MAINTAINERS
board/mvblue/MAINTAINERS
board/netvia/u-boot.lds [deleted file]
board/palmtreo680/MAINTAINERS
board/pb1x00/MAINTAINERS
board/pm828/MAINTAINERS
board/ppmc7xx/MAINTAINERS
board/ppmc8260/MAINTAINERS
board/qemu-mips/MAINTAINERS
board/renesas/MigoR/MAINTAINERS
board/renesas/rsk7269/MAINTAINERS
board/renesas/sh7752evb/MAINTAINERS
board/renesas/sh7753evb/MAINTAINERS
board/renesas/sh7757lcr/MAINTAINERS
board/renesas/sh7785lcr/MAINTAINERS
board/sacsng/MAINTAINERS
board/sandburst/karef/MAINTAINERS
board/sandburst/metrobox/MAINTAINERS
board/sandpoint/MAINTAINERS
board/sbc405/MAINTAINERS
board/socrates/MAINTAINERS
board/spear/spear300/MAINTAINERS
board/spear/spear310/MAINTAINERS
board/spear/spear320/MAINTAINERS
board/spear/spear600/MAINTAINERS
board/st-ericsson/u8500/MAINTAINERS
board/stx/stxgp3/MAINTAINERS
board/stx/stxssa/MAINTAINERS
board/tcm-bf518/MAINTAINERS
board/tcm-bf537/MAINTAINERS
board/ti/evm/MAINTAINERS
board/ti/ti816x/MAINTAINERS
board/ti/tnetv107xevm/MAINTAINERS
board/total5200/MAINTAINERS
board/tqc/tqm5200/MAINTAINERS
board/tqc/tqm8272/MAINTAINERS
board/tqc/tqm834x/MAINTAINERS
board/tqc/tqm8xx/MAINTAINERS
board/ttcontrol/vision2/vision2.c
board/v38b/MAINTAINERS
board/woodburn/MAINTAINERS
board/xaeniax/MAINTAINERS
board/xes/xpedite517x/MAINTAINERS
board/xes/xpedite520x/MAINTAINERS
board/xes/xpedite537x/MAINTAINERS
board/xes/xpedite550x/MAINTAINERS
common/Kconfig [new file with mode: 0644]
common/Makefile
common/cmd_fastboot.c
common/cmd_nand.c
common/cmd_sf.c
common/console.c
common/fb_mmc.c [new file with mode: 0644]
config.mk
configs/am335x_boneblack_vboot_defconfig
configs/arndale_defconfig
configs/bct-brettl2_defconfig
configs/beaver_defconfig
configs/bf506f-ezkit_defconfig
configs/bf518f-ezbrd_defconfig
configs/bf526-ezbrd_defconfig
configs/bf527-ad7160-eval_defconfig
configs/bf527-ezkit-v2_defconfig
configs/bf527-ezkit_defconfig
configs/bf527-sdp_defconfig
configs/bf533-ezkit_defconfig
configs/bf533-stamp_defconfig
configs/bf537-stamp_defconfig
configs/bf538f-ezkit_defconfig
configs/bf548-ezkit_defconfig
configs/bf561-acvilon_defconfig
configs/bf561-ezkit_defconfig
configs/br4_defconfig
configs/cardhu_defconfig
configs/cm-bf527_defconfig
configs/cm-bf533_defconfig
configs/cm-bf537e_defconfig
configs/cm-bf537u_defconfig
configs/cm-bf548_defconfig
configs/cm-bf561_defconfig
configs/colibri_t20_iris_defconfig
configs/colibri_t30_defconfig
configs/controlcenterd_TRAILBLAZER_DEVELOP_defconfig
configs/controlcenterd_TRAILBLAZER_defconfig
configs/coreboot-x86_defconfig
configs/dalmore_defconfig
configs/harmony_defconfig
configs/ip04_defconfig
configs/jetson-tk1_defconfig
configs/kwb_defconfig
configs/medcom-wide_defconfig
configs/microblaze-generic_defconfig
configs/odroid_defconfig
configs/origen_defconfig
configs/paz00_defconfig
configs/peach-pit_defconfig
configs/plutux_defconfig
configs/pr1_defconfig
configs/s5pc210_universal_defconfig
configs/sandbox_defconfig
configs/seaboard_defconfig
configs/smdk5250_defconfig
configs/smdk5420_defconfig
configs/snow_defconfig
configs/tcm-bf518_defconfig
configs/tcm-bf537_defconfig
configs/tec-ng_defconfig
configs/tec_defconfig
configs/trats2_defconfig
configs/trats_defconfig
configs/trimslice_defconfig
configs/tseries_mmc_defconfig
configs/tseries_nand_defconfig
configs/tseries_spi_defconfig
configs/vct_platinum_onenand_small_defconfig
configs/vct_platinum_small_defconfig
configs/vct_platinumavc_onenand_small_defconfig
configs/vct_platinumavc_small_defconfig
configs/vct_premium_onenand_small_defconfig
configs/vct_premium_small_defconfig
configs/venice2_defconfig
configs/ventana_defconfig
configs/vexpress_aemv8a_defconfig
configs/vexpress_aemv8a_semi_defconfig
configs/whistler_defconfig
configs/zynq_microzed_defconfig
configs/zynq_zc70x_defconfig
configs/zynq_zc770_xm010_defconfig
configs/zynq_zc770_xm012_defconfig
configs/zynq_zc770_xm013_defconfig
configs/zynq_zed_defconfig
disk/part.c
doc/README.android-fastboot
doc/README.clang
doc/README.nand
drivers/Kconfig [new file with mode: 0644]
drivers/Makefile
drivers/block/Kconfig [new file with mode: 0644]
drivers/core/Kconfig [new file with mode: 0644]
drivers/core/Makefile
drivers/crypto/Kconfig [new file with mode: 0644]
drivers/demo/Makefile
drivers/dfu/Kconfig [new file with mode: 0644]
drivers/dma/Kconfig [new file with mode: 0644]
drivers/dma/fsl_dma.c
drivers/gpio/Kconfig [new file with mode: 0644]
drivers/hwmon/Kconfig [new file with mode: 0644]
drivers/i2c/Kconfig [new file with mode: 0644]
drivers/i2c/ihs_i2c.c
drivers/input/Kconfig [new file with mode: 0644]
drivers/misc/Kconfig [new file with mode: 0644]
drivers/mmc/Kconfig [new file with mode: 0644]
drivers/mmc/fsl_esdhc.c
drivers/mtd/Kconfig [new file with mode: 0644]
drivers/mtd/nand/Makefile
drivers/mtd/nand/am335x_spl_bch.c
drivers/mtd/nand/denali.c [new file with mode: 0644]
drivers/mtd/nand/denali.h [new file with mode: 0644]
drivers/mtd/nand/nand_base.c
drivers/mtd/spi/sf_params.c
drivers/mtd/spi/spi_spl_load.c
drivers/net/Kconfig [new file with mode: 0644]
drivers/net/e1000.c
drivers/pci/Kconfig [new file with mode: 0644]
drivers/pcmcia/Kconfig [new file with mode: 0644]
drivers/power/Kconfig [new file with mode: 0644]
drivers/rtc/Kconfig [new file with mode: 0644]
drivers/serial/Kconfig [new file with mode: 0644]
drivers/serial/usbtty.c
drivers/sound/Kconfig [new file with mode: 0644]
drivers/spi/Kconfig [new file with mode: 0644]
drivers/spi/kirkwood_spi.c
drivers/spi/mxc_spi.c
drivers/tpm/Kconfig [new file with mode: 0644]
drivers/usb/Kconfig [new file with mode: 0644]
drivers/usb/gadget/designware_udc.c
drivers/usb/gadget/ep0.c
drivers/usb/gadget/f_fastboot.c
drivers/usb/gadget/mpc8xx_udc.c
drivers/usb/gadget/pxa27x_udc.c
drivers/video/Kconfig [new file with mode: 0644]
drivers/watchdog/Kconfig [new file with mode: 0644]
dts/Kconfig [new file with mode: 0644]
fs/Kconfig [new file with mode: 0644]
fs/cramfs/Kconfig [new file with mode: 0644]
fs/ext4/Kconfig [new file with mode: 0644]
fs/fat/Kconfig [new file with mode: 0644]
fs/jffs2/Kconfig [new file with mode: 0644]
fs/reiserfs/Kconfig [new file with mode: 0644]
fs/ubifs/Kconfig [new file with mode: 0644]
fs/zfs/zfs.c
include/common.h
include/compiler.h
include/config_cmd_defaults.h [deleted file]
include/config_distro_bootcmd.h
include/configs/T104xRDB.h
include/configs/am335x_evm.h
include/configs/arndale.h
include/configs/bct-brettl2.h
include/configs/beaver.h
include/configs/bf506f-ezkit.h
include/configs/bf518f-ezbrd.h
include/configs/bf526-ezbrd.h
include/configs/bf527-ad7160-eval.h
include/configs/bf527-ezkit.h
include/configs/bf527-sdp.h
include/configs/bf533-ezkit.h
include/configs/bf533-stamp.h
include/configs/bf537-stamp.h
include/configs/bf538f-ezkit.h
include/configs/bf548-ezkit.h
include/configs/bf561-acvilon.h
include/configs/bf561-ezkit.h
include/configs/br4.h
include/configs/bur_am335x_common.h
include/configs/cardhu.h
include/configs/cm-bf527.h
include/configs/cm-bf533.h
include/configs/cm-bf537e.h
include/configs/cm-bf537u.h
include/configs/cm-bf548.h
include/configs/cm-bf561.h
include/configs/colibri_t20_iris.h
include/configs/colibri_t30.h
include/configs/controlcenterd.h
include/configs/coreboot.h
include/configs/da850evm.h
include/configs/dalmore.h
include/configs/dra7xx_evm.h
include/configs/embestmx6boards.h
include/configs/exynos4-dt.h
include/configs/exynos5-dt.h
include/configs/gw_ventana.h
include/configs/h2200.h
include/configs/harmony.h
include/configs/ip04.h
include/configs/jetson-tk1.h
include/configs/ks2_evm.h
include/configs/kwb.h
include/configs/medcom-wide.h
include/configs/microblaze-generic.h
include/configs/mx51_efikamx.h
include/configs/mx6sabre_common.h
include/configs/mx6slevk.h
include/configs/nitrogen6x.h
include/configs/odroid.h
include/configs/origen.h
include/configs/paz00.h
include/configs/pcm051.h
include/configs/peach-pit.h
include/configs/plutux.h
include/configs/pr1.h
include/configs/s5pc210_universal.h
include/configs/sama5d3xek.h
include/configs/sandbox.h
include/configs/seaboard.h
include/configs/siemens-am33x-common.h
include/configs/smdk5250.h
include/configs/smdk5420.h
include/configs/snow.h
include/configs/tcm-bf518.h
include/configs/tcm-bf537.h
include/configs/tec-ng.h
include/configs/tec.h
include/configs/tegra-common-post.h
include/configs/trats.h
include/configs/trats2.h
include/configs/trimslice.h
include/configs/tseries.h
include/configs/vct.h
include/configs/venice2.h
include/configs/ventana.h
include/configs/vexpress_aemv8a.h
include/configs/vision2.h
include/configs/whistler.h
include/configs/zynq-common.h
include/configs/zynq_microzed.h
include/configs/zynq_zc70x.h
include/configs/zynq_zc770.h
include/configs/zynq_zed.h
include/fb_mmc.h [new file with mode: 0644]
include/linker_lists.h
include/linux/compiler-gcc.h
include/spi_flash.h
lib/Kconfig [new file with mode: 0644]
net/Kconfig [new file with mode: 0644]
scripts/Makefile.autoconf
scripts/checkpatch.pl
test/cmd_repeat.sh [new file with mode: 0755]
test/common.sh [new file with mode: 0644]
test/trace/test-trace.sh
tools/env/Makefile
tools/genboardscfg.py
tools/reformat.py [deleted file]

diff --git a/Kconfig b/Kconfig
index cbb691e160868a16293229854cd13517c79bcde4..e0c899210e1445258fad6269e7f7b88dbb138a16 100644 (file)
--- a/Kconfig
+++ b/Kconfig
@@ -91,7 +91,7 @@ config SYS_EXTRA_OPTIONS
        depends on !SPL_BUILD
        help
          The old configuration infrastructure (= mkconfig + boards.cfg)
-         provided the extra options field. It you have something like
+         provided the extra options field. If you have something like
          "HAS_BAR,BAZ=64", the optional options
            #define CONFIG_HAS
            #define CONFIG_BAZ  64
@@ -103,3 +103,15 @@ config SYS_EXTRA_OPTIONS
 endmenu                # Boot images
 
 source "arch/Kconfig"
+
+source "common/Kconfig"
+
+source "dts/Kconfig"
+
+source "net/Kconfig"
+
+source "drivers/Kconfig"
+
+source "fs/Kconfig"
+
+source "lib/Kconfig"
index 1fccd0b7e209f50f6c82c3324490cd7261469dad..62211132b0c6eb4ecefa85679942ca4bda1f8609 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -613,11 +613,9 @@ libs-y += fs/
 libs-y += net/
 libs-y += disk/
 libs-y += drivers/
-libs-$(CONFIG_DM) += drivers/core/
 libs-y += drivers/dma/
 libs-y += drivers/gpio/
 libs-y += drivers/i2c/
-libs-y += drivers/input/
 libs-y += drivers/mmc/
 libs-y += drivers/mtd/
 libs-$(CONFIG_CMD_NAND) += drivers/mtd/nand/
@@ -649,7 +647,6 @@ libs-$(CONFIG_API) += api/
 libs-$(CONFIG_HAS_POST) += post/
 libs-y += test/
 libs-y += test/dm/
-libs-$(CONFIG_DM_DEMO) += drivers/demo/
 
 ifneq (,$(filter $(SOC), mx25 mx27 mx5 mx6 mx31 mx35 mxs vf610))
 libs-y += arch/$(ARCH)/imx-common/
diff --git a/README b/README
index 70dd97d64d8ef1bb253c5dac7525b2b892f6ada2..766e9e0ebd88f05741ea6cf34657ace277dd75d6 100644 (file)
--- a/README
+++ b/README
@@ -1629,6 +1629,16 @@ The following options need to be configured:
                downloads. This buffer should be as large as possible for a
                platform. Define this to the size available RAM for fastboot.
 
+               CONFIG_FASTBOOT_FLASH
+               The fastboot protocol includes a "flash" command for writing
+               the downloaded image to a non-volatile storage device. Define
+               this to enable the "fastboot flash" command.
+
+               CONFIG_FASTBOOT_FLASH_MMC_DEV
+               The fastboot "flash" command requires additional information
+               regarding the non-volatile storage device. Define this to
+               the eMMC device that fastboot should use to store the image.
+
 - Journaling Flash filesystem support:
                CONFIG_JFFS2_NAND, CONFIG_JFFS2_NAND_OFF, CONFIG_JFFS2_NAND_SIZE,
                CONFIG_JFFS2_NAND_DEV
index c9ccb7db1799cc21613aa979766574c5d348d948..bf2676469c7131dd924139cf42dd392b0902bbc3 100644 (file)
@@ -7,6 +7,7 @@ config ARC
 
 config ARM
        bool "ARM architecture"
+       select SUPPORT_OF_CONTROL
 
 config AVR32
        bool "AVR32 architecture"
@@ -19,6 +20,7 @@ config M68K
 
 config MICROBLAZE
        bool "MicroBlaze architecture"
+       select SUPPORT_OF_CONTROL
 
 config MIPS
        bool "MIPS architecture"
@@ -37,6 +39,7 @@ config PPC
 
 config SANDBOX
        bool "Sandbox"
+       select SUPPORT_OF_CONTROL
 
 config SH
        bool "SuperH architecture"
@@ -46,6 +49,7 @@ config SPARC
 
 config X86
        bool "x86 architecture"
+       select SUPPORT_OF_CONTROL
 
 endchoice
 
index 106aed985f80b90408c4ff567946a71413d8eb7d..3efede2c5574aa81c572e54201abe9f88d50fcc8 100644 (file)
@@ -462,6 +462,7 @@ config ZYNQ
 config TEGRA
        bool "NVIDIA Tegra"
        select SPL
+       select OF_CONTROL if !SPL_BUILD
 
 config TARGET_VEXPRESS_AEMV8A
        bool "Support vexpress_aemv8a"
index 3708b6f59f492d6b1a86b1fcaf0048b88531c02f..47c23bb2688f6f9cc5070998db1d7a795eb7c92a 100644 (file)
@@ -362,7 +362,7 @@ static void init_pll(const struct pll_init_data *data)
        pllctl_reg_write(data->pll, ctl, tmp);
 
        mult = data->pll_freq / fpll;
-       for (mult = MAX(mult, 1); mult <= MAX_MULT; mult++) {
+       for (mult = max(mult, 1); mult <= MAX_MULT; mult++) {
                div = (fpll * mult) / data->pll_freq;
                if (div < 1 || div > MAX_DIV)
                        continue;
index d132f035146fc52f6e92512e8707e47de2be772b..e7c93d8c1f94ea38477f43edbbf89380b1aee9dd 100644 (file)
@@ -23,18 +23,23 @@ config TARGET_ODROID
 
 config TARGET_ARNDALE
        bool "Exynos5250 Arndale board"
+       select OF_CONTROL if !SPL_BUILD
 
 config TARGET_SMDK5250
        bool "SMDK5250 board"
+       select OF_CONTROL if !SPL_BUILD
 
 config TARGET_SNOW
        bool "Snow board"
+       select OF_CONTROL if !SPL_BUILD
 
 config TARGET_SMDK5420
        bool "SMDK5420 board"
+       select OF_CONTROL if !SPL_BUILD
 
 config TARGET_PEACH_PIT
        bool "Peach Pi board"
+       select OF_CONTROL if !SPL_BUILD
 
 endchoice
 
index 7b5c1e4dd7f1feced87b49a8c1ae9a749fd4bea2..7a9b03a68f227a2a86a60c57d6f8ee42eabf0278 100644 (file)
@@ -247,47 +247,47 @@ void mx6_dram_cfg(const struct mx6_ddr_sysinfo *sysinfo,
 
        switch (ddr3_cfg->mem_speed) {
        case 800:
-               txp = DIV_ROUND_UP(MAX(3 * clkper, 7500), clkper) - 1;
-               tcke = DIV_ROUND_UP(MAX(3 * clkper, 7500), clkper) - 1;
+               txp = DIV_ROUND_UP(max(3 * clkper, 7500), clkper) - 1;
+               tcke = DIV_ROUND_UP(max(3 * clkper, 7500), clkper) - 1;
                if (ddr3_cfg->pagesz == 1) {
                        tfaw = DIV_ROUND_UP(40000, clkper) - 1;
-                       trrd = DIV_ROUND_UP(MAX(4 * clkper, 10000), clkper) - 1;
+                       trrd = DIV_ROUND_UP(max(4 * clkper, 10000), clkper) - 1;
                } else {
                        tfaw = DIV_ROUND_UP(50000, clkper) - 1;
-                       trrd = DIV_ROUND_UP(MAX(4 * clkper, 10000), clkper) - 1;
+                       trrd = DIV_ROUND_UP(max(4 * clkper, 10000), clkper) - 1;
                }
                break;
        case 1066:
-               txp = DIV_ROUND_UP(MAX(3 * clkper, 7500), clkper) - 1;
-               tcke = DIV_ROUND_UP(MAX(3 * clkper, 5625), clkper) - 1;
+               txp = DIV_ROUND_UP(max(3 * clkper, 7500), clkper) - 1;
+               tcke = DIV_ROUND_UP(max(3 * clkper, 5625), clkper) - 1;
                if (ddr3_cfg->pagesz == 1) {
                        tfaw = DIV_ROUND_UP(37500, clkper) - 1;
-                       trrd = DIV_ROUND_UP(MAX(4 * clkper, 7500), clkper) - 1;
+                       trrd = DIV_ROUND_UP(max(4 * clkper, 7500), clkper) - 1;
                } else {
                        tfaw = DIV_ROUND_UP(50000, clkper) - 1;
-                       trrd = DIV_ROUND_UP(MAX(4 * clkper, 10000), clkper) - 1;
+                       trrd = DIV_ROUND_UP(max(4 * clkper, 10000), clkper) - 1;
                }
                break;
        case 1333:
-               txp = DIV_ROUND_UP(MAX(3 * clkper, 6000), clkper) - 1;
-               tcke = DIV_ROUND_UP(MAX(3 * clkper, 5625), clkper) - 1;
+               txp = DIV_ROUND_UP(max(3 * clkper, 6000), clkper) - 1;
+               tcke = DIV_ROUND_UP(max(3 * clkper, 5625), clkper) - 1;
                if (ddr3_cfg->pagesz == 1) {
                        tfaw = DIV_ROUND_UP(30000, clkper) - 1;
-                       trrd = DIV_ROUND_UP(MAX(4 * clkper, 6000), clkper) - 1;
+                       trrd = DIV_ROUND_UP(max(4 * clkper, 6000), clkper) - 1;
                } else {
                        tfaw = DIV_ROUND_UP(45000, clkper) - 1;
-                       trrd = DIV_ROUND_UP(MAX(4 * clkper, 7500), clkper) - 1;
+                       trrd = DIV_ROUND_UP(max(4 * clkper, 7500), clkper) - 1;
                }
                break;
        case 1600:
-               txp = DIV_ROUND_UP(MAX(3 * clkper, 6000), clkper) - 1;
-               tcke = DIV_ROUND_UP(MAX(3 * clkper, 5000), clkper) - 1;
+               txp = DIV_ROUND_UP(max(3 * clkper, 6000), clkper) - 1;
+               tcke = DIV_ROUND_UP(max(3 * clkper, 5000), clkper) - 1;
                if (ddr3_cfg->pagesz == 1) {
                        tfaw = DIV_ROUND_UP(30000, clkper) - 1;
-                       trrd = DIV_ROUND_UP(MAX(4 * clkper, 6000), clkper) - 1;
+                       trrd = DIV_ROUND_UP(max(4 * clkper, 6000), clkper) - 1;
                } else {
                        tfaw = DIV_ROUND_UP(40000, clkper) - 1;
-                       trrd = DIV_ROUND_UP(MAX(4 * clkper, 7500), clkper) - 1;
+                       trrd = DIV_ROUND_UP(max(4 * clkper, 7500), clkper) - 1;
                }
                break;
        default:
@@ -295,18 +295,18 @@ void mx6_dram_cfg(const struct mx6_ddr_sysinfo *sysinfo,
                hang();
                break;
        }
-       txpdll = DIV_ROUND_UP(MAX(10 * clkper, 24000), clkper) - 1;
-       tcksre = DIV_ROUND_UP(MAX(5 * clkper, 10000), clkper);
+       txpdll = DIV_ROUND_UP(max(10 * clkper, 24000), clkper) - 1;
+       tcksre = DIV_ROUND_UP(max(5 * clkper, 10000), clkper);
        taonpd = DIV_ROUND_UP(2000, clkper) - 1;
        tcksrx = tcksre;
        taofpd = taonpd;
        twr  = DIV_ROUND_UP(15000, clkper) - 1;
-       tmrd = DIV_ROUND_UP(MAX(12 * clkper, 15000), clkper) - 1;
+       tmrd = DIV_ROUND_UP(max(12 * clkper, 15000), clkper) - 1;
        trc  = DIV_ROUND_UP(ddr3_cfg->trcmin, clkper / 10) - 1;
        tras = DIV_ROUND_UP(ddr3_cfg->trasmin, clkper / 10) - 1;
        tcl  = DIV_ROUND_UP(ddr3_cfg->trcd, clkper / 10) - 3;
        trp  = DIV_ROUND_UP(ddr3_cfg->trcd, clkper / 10) - 1;
-       twtr = ROUND(MAX(4 * clkper, 7500) / clkper, 1) - 1;
+       twtr = ROUND(max(4 * clkper, 7500) / clkper, 1) - 1;
        trcd = trp;
        trtp = twtr;
        cs0_end = 4 * sysinfo->cs_density - 1;
index b1cf614ca9556c8ee1192a88375612a745e9e3e9..e512dcec1621c8e5a3f336cc56521f2123f83097 100644 (file)
@@ -43,10 +43,10 @@ struct kwspi_registers {
 #define KWSPI_XFERLEN_2BYTE    (1 << 5)
 #define KWSPI_XFERLEN_MASK     (1 << 5)
 #define KWSPI_ADRLEN_1BYTE     0
-#define KWSPI_ADRLEN_2BYTE     1 << 8
-#define KWSPI_ADRLEN_3BYTE     2 << 8
-#define KWSPI_ADRLEN_4BYTE     3 << 8
-#define KWSPI_ADRLEN_MASK      3 << 8
+#define KWSPI_ADRLEN_2BYTE     (1 << 8)
+#define KWSPI_ADRLEN_3BYTE     (2 << 8)
+#define KWSPI_ADRLEN_4BYTE     (3 << 8)
+#define KWSPI_ADRLEN_MASK      (3 << 8)
 #define KWSPI_TIMEOUT          10000
 
 #endif /* __KW_SPI_H__ */
index 59b3fe977d81daf00b4f9cbdeccfb956050b8614..b57b2c30fe333ba6ac1cfc44a6689ff440b94294 100644 (file)
@@ -189,7 +189,7 @@ phys_addr_t arch_phys_memset(phys_addr_t start, int c, phys_size_t size)
 
        /* Handle memory below 4GB. */
        if (start <= max_addr) {
-               phys_size_t low_size = MIN(max_addr + 1 - start, size);
+               phys_size_t low_size = min(max_addr + 1 - start, size);
                void *start_ptr = (void *)(uintptr_t)start;
 
                assert(((phys_addr_t)(uintptr_t)start) == start);
@@ -208,7 +208,7 @@ phys_addr_t arch_phys_memset(phys_addr_t start, int c, phys_size_t size)
                /* Handle the first partial page. */
                if (offset) {
                        phys_addr_t end =
-                               MIN(map_addr + LARGE_PAGE_SIZE, start + size);
+                               min(map_addr + LARGE_PAGE_SIZE, start + size);
                        phys_size_t cur_size = end - start;
                        x86_phys_memset_page(map_addr, offset, c, cur_size);
                        size -= cur_size;
index 1afaa5ce5cbb7cddb0645b238e900ffeb6ebab61..205c75e4cbe4ddd48ba217a14e5b0263af2179b7 100644 (file)
@@ -1,5 +1,5 @@
 NET2BIG_V2 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/LaCie/net2big_v2/
 F:     include/configs/lacie_kw.h
index ad3dfa1565d938122fc9379ed5c56abcb50072f5..55fd50d4eb1bd3850d8425eaff30e7c0c537008c 100644 (file)
@@ -8,7 +8,7 @@ F:      configs/netspace_max_v2_defconfig
 F:     configs/netspace_v2_defconfig
 
 NETSPACE_LITE_V2 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     configs/netspace_lite_v2_defconfig
 F:     configs/netspace_mini_v2_defconfig
index 8b36bff32bcd40fc22d6ffb83870f309142a008e..8a27b9a234a46b506978528ab75ed57ae399de47 100644 (file)
@@ -1,5 +1,5 @@
 WIRELESS_SPACE BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/LaCie/wireless_space/
 F:     include/configs/wireless_space.h
index 7383207f7563d694f1c97a8e76782a3c8ca599e5..af3eb24a2b002378d2262ff43f41d9dc88f4c9ce 100644 (file)
@@ -1,5 +1,5 @@
 DB64360 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/Marvell/db64360/
 F:     include/configs/DB64360.h
index 751aac2be362ae520773c630ea290700a11a7632..a30c51c54be86d086798fe009c9a3e7909676b8e 100644 (file)
@@ -1,5 +1,5 @@
 DB64460 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/Marvell/db64460/
 F:     include/configs/DB64460.h
index 7a52a8eeeecc94e297da4fc688fd26311037970e..7a189ab6d52be9fdac5093772ea576756116cbda 100644 (file)
@@ -6,7 +6,7 @@ F:      include/configs/openrd.h
 F:     configs/openrd_base_defconfig
 
 OPENRD_CLIENT BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     configs/openrd_client_defconfig
 F:     configs/openrd_ultimate_defconfig
index 2d8560f628f30af9c1d486dd822b5b5025abe803..303e5fdacb7004d5e22ca66c71c869bb635abb9c 100644 (file)
@@ -1,5 +1,5 @@
 A3000 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/a3000/
 F:     include/configs/A3000.h
index 4a329e97384dda8522f48f986ce506ccd798c133..9eb9bbd01ba1d388923b26bae8ad5a609cd36adf 100644 (file)
@@ -1,5 +1,5 @@
 BLUESTONE BOARD
-M:     Tirumala Marri <tmarri@apm.com>
+#M:    Tirumala Marri <tmarri@apm.com>
 S:     Orphan (since 2014-03)
 F:     board/amcc/bluestone/
 F:     include/configs/bluestone.h
index 9d5ace2ae519b05b04ca6df6b1dc3670872aae54..3299cc34e367368c4956f3a2869ffedff24e8ca1 100644 (file)
@@ -1,5 +1,5 @@
 BUBINGA BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/amcc/bubinga/
 F:     include/configs/bubinga.h
index 066300398471091138ee4f6ba03a2c817e49434c..1cbdb0e70db2e759ce77af76b8d803966304e02d 100644 (file)
@@ -1,5 +1,5 @@
 YUCCA BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/amcc/yucca/
 F:     include/configs/yucca.h
index f390e53307a5145a4e4483b5d84e946fab9ff218..a56dd99bb33df68e7bc3c81b260800ca1a2e5a26 100644 (file)
@@ -1,5 +1,5 @@
 VERSATILE BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/armltd/versatile/
 F:     include/configs/versatile.h
index e730f4f170bd1435ef9b91347bdca5747411f8e6..a6943d742690707bf13a80fce48b69a2f5bdf172 100644 (file)
@@ -1,12 +1,12 @@
 VEXPRESS BOARD
-M:     -
+#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>
+#M:    Matt Waddel <matt.waddel@linaro.org>
 S:     Orphan (since 2014-08)
 F:     include/configs/vexpress_ca5x2.h
 F:     configs/vexpress_ca5x2_defconfig
index dd698eaac8884590d47388cd63f0cfb7de02ad8f..1c319f66b402f07cd5ab381e5102ad2469d6d362 100644 (file)
@@ -1,5 +1,5 @@
 ATNGW100 BOARD
-M:     Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
+#M:    Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
 S:     Orphan (since 2014-06)
 F:     board/atmel/atngw100/
 F:     include/configs/atngw100.h
index 76365b0c10f3a8e2cd045400f6393ded4f52297f..378e1b3dbc098f7a751ea3b579537731f646d63a 100644 (file)
@@ -1,5 +1,5 @@
 ATSTK1000 BOARD
-M:     Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
+#M:    Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
 S:     Orphan (since 2014-06)
 F:     board/atmel/atstk1000/
 F:     include/configs/atstk1002.h
index e2a8363d8fc023c0312b7ab52485006be96d5b6f..81a7076093109fbd90ca6d14aa4f4c398799f99c 100644 (file)
@@ -1,5 +1,5 @@
 BC3450 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/bc3450/
 F:     include/configs/BC3450.h
index 60a09f4bb3e85cb7833c2900ecc1f53aab79c7c7..7edfe19367521dcee2d3a56f9d953fa5790d33ed 100644 (file)
@@ -328,6 +328,11 @@ int board_mmc_init(bd_t *bis)
 #endif
 
 #ifdef CONFIG_MXC_SPI
+int board_spi_cs_gpio(unsigned bus, unsigned cs)
+{
+       return (bus == 0 && cs == 0) ? (IMX_GPIO_NR(3, 19)) : -1;
+}
+
 iomux_v3_cfg_t const ecspi1_pads[] = {
        /* SS1 */
        MX6_PAD_EIM_D19__GPIO3_IO19  | MUX_PAD_CTRL(NO_PAD_CTRL),
index d2752300951df105e611a9ff9c9b32eade0172fa..0ac8225d065e6841b94d43b3f9cd274b42e19549 100644 (file)
@@ -1,5 +1,5 @@
 SBC35_A9G20 BOARD
-M:     Albin Tonnerre <albin.tonnerre@free-electrons.com>
+#M:    Albin Tonnerre <albin.tonnerre@free-electrons.com>
 S:     Orphan (since 2014-06)
 F:     board/calao/sbc35_a9g20/
 F:     include/configs/sbc35_a9g20.h
index 5a71b8effce772f8ccb97efa938273138836631a..1f24e3948b1cbf17141722eaf6263d06284f1b11 100644 (file)
@@ -1,5 +1,5 @@
 TNY_A9260 BOARD
-M:     Albin Tonnerre <albin.tonnerre@free-electrons.com>
+#M:    Albin Tonnerre <albin.tonnerre@free-electrons.com>
 S:     Orphan (since 2014-06)
 F:     board/calao/tny_a9260/
 F:     include/configs/tny_a9260.h
index aa4eb301c0afbaf733017468254b0780148fb76f..71750ead4789dbf35913d70ab091bb6b4512f939 100644 (file)
@@ -1,5 +1,5 @@
 CANMB BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/canmb/
 F:     include/configs/canmb.h
index 789f5c4769881bcbb9865b1ec559c0239400fd51..fefcfcfb7db50354d1f7dda086789cae5a94622d 100644 (file)
@@ -1,5 +1,5 @@
 CM-BF527 BOARD
-M:     Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+#M:    Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
 S:     Orphan (since 2014-03)
 F:     board/cm-bf527/
 F:     include/configs/cm-bf527.h
index f643043d5641bbfa2fabd8e83c67e128bcab0597..0bf51fb1eaa1feffec07cbb101a1ca52edccf457 100644 (file)
@@ -1,5 +1,5 @@
 CM-BF533 BOARD
-M:     Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+#M:    Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
 S:     Orphan (since 2014-03)
 F:     board/cm-bf533/
 F:     include/configs/cm-bf533.h
index 44735fafdbf0271d886b3f206b642d233963229a..63d242893e3a3a71488fc7b7ca7595d214c73e47 100644 (file)
@@ -1,5 +1,5 @@
 CM-BF537E BOARD
-M:     Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+#M:    Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
 S:     Orphan (since 2014-03)
 F:     board/cm-bf537e/
 F:     include/configs/cm-bf537e.h
index da925f87d6fb5bc3f782166c845fbc95f9d90d79..a89cfcae747a8e09f0d9c3082014b03f9cfd4c91 100644 (file)
@@ -1,5 +1,5 @@
 CM-BF537U BOARD
-M:     Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+#M:    Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
 S:     Orphan (since 2014-03)
 F:     board/cm-bf537u/
 F:     include/configs/cm-bf537u.h
index 4cd83df8bc3a6fb159c44f9350d7b03525c0f300..b7f5779cef179d7635e86bf32c74114c8c65e1a2 100644 (file)
@@ -1,5 +1,5 @@
 CM-BF548 BOARD
-M:     Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+#M:    Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
 S:     Orphan (since 2014-03)
 F:     board/cm-bf548/
 F:     include/configs/cm-bf548.h
index a4606fff62b59913f2a89623dd772f42e86a99d3..9c86c8d39acf38aca2c969eeed857f9e358f8e1a 100644 (file)
@@ -1,5 +1,5 @@
 CM-BF561 BOARD
-M:     Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+#M:    Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
 S:     Orphan (since 2014-03)
 F:     board/cm-bf561/
 F:     include/configs/cm-bf561.h
index f308b0fb29fcc3d53ce042c49a20c4c2c1928c2f..f10eeb58f3699d9a77179ef9d911379f103b2da5 100644 (file)
@@ -1,5 +1,5 @@
 CM41XX BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/cm41xx/
 F:     include/configs/cm41xx.h
index 9fc5365148ca659e71914d99e02d859cba9e9d0e..1e1df3f6dcb334ecf29fdc2e2a79fe1ef5a4e5ee 100644 (file)
@@ -1,5 +1,5 @@
 CM5200 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/cm5200/
 F:     include/configs/cm5200.h
index ab33d5d02d632ca4cf6a5b537ec17f349c7d19c2..60701bfd9995ccf6378bb5d0a179faedeaf87b22 100644 (file)
@@ -1,5 +1,5 @@
 CMI BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/cmi/
 F:     include/configs/cmi_mpc5xx.h
index 00942fc2fc1895c53711438cf73610d7a408b5cf..a064da2f15c5886aaea7a1e6cca9507cdc0ae986 100644 (file)
@@ -1,5 +1,5 @@
 COBRA5272 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/cobra5272/
 F:     include/configs/cobra5272.h
index 53ad759c10dc33bff198e53adb1b0e85d7b14f58..35f4a2a21a981aca22f1d79e0934c1a62b4fd950 100644 (file)
@@ -1,5 +1,5 @@
 CGTQMX6EVAL BOARD
-M:     Leo Sartre <lsartre@adeneo-embedded.com>
+#M:    Leo Sartre <lsartre@adeneo-embedded.com>
 S:     Orphan (since 2014-06)
 F:     board/congatec/cgtqmx6eval/
 F:     include/configs/cgtqmx6eval.h
index 6e84f601f5ca7aa8fee43a0dfe73494d0eeb2390..32804ea53c8359c9f7c4ef49b807681b4540aba4 100644 (file)
@@ -1,5 +1,5 @@
 CPU87 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/cpu87/
 F:     include/configs/CPU87.h
index e93819ecfa88014713f0105b7c7da1dbf9cf8943..e43e91febe927c7edc0056dbf1e131ca397c9e94 100644 (file)
@@ -1,5 +1,5 @@
 L1 BOARD
-M:     David Updegraff <dave@cray.com>
+#M:    David Updegraff <dave@cray.com>
 S:     Orphan (since 2014-03)
 F:     board/cray/L1/
 F:     include/configs/CRAYL1.h
index 3af5b5704be466ec3f11c5077a35eaaaddc47303..d43c6d03f2b096c22c57d14a119abb306e3ae73b 100644 (file)
@@ -1,5 +1,5 @@
 PPCHAMELEONEVB BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/dave/PPChameleonEVB/
 F:     include/configs/CATcenter.h
index ef586b3884d7706749c989f50434412a3426bd01..c017e0971787ac2bd43b6da22bac0be15f334ce7 100644 (file)
@@ -1,5 +1,5 @@
 DM355EVM BOARD
-M:     Sandeep Paulraj <s-paulraj@ti.com>
+#M:    Sandeep Paulraj <s-paulraj@ti.com>
 S:     Orphan (since 2014-08)
 F:     board/davinci/dm355evm/
 F:     include/configs/davinci_dm355evm.h
index 2fc1e00d5a0f12e56e0191195c55ab92fed59179..ed04d4354bdc92aba557bd8a019cd8e68fba1239 100644 (file)
@@ -1,5 +1,5 @@
 DM355LEOPARD BOARD
-M:     Sandeep Paulraj <s-paulraj@ti.com>
+#M:    Sandeep Paulraj <s-paulraj@ti.com>
 S:     Orphan (since 2014-08)
 F:     board/davinci/dm355leopard/
 F:     include/configs/davinci_dm355leopard.h
index 0bfe02d0ea09225cd79688966282f640e27ef9a8..97c3ed3b69d18724adaf6ad920542c51b238494f 100644 (file)
@@ -1,5 +1,5 @@
 DM365EVM BOARD
-M:     Sandeep Paulraj <s-paulraj@ti.com>
+#M:    Sandeep Paulraj <s-paulraj@ti.com>
 S:     Orphan (since 2014-08)
 F:     board/davinci/dm365evm/
 F:     include/configs/davinci_dm365evm.h
index bb4053626d030b5780d055f840711ab8d9340f54..8ca53c43c80c013a6b6d4e508ddefa65dca49691 100644 (file)
@@ -1,5 +1,5 @@
 DM6467EVM BOARD
-M:     Sandeep Paulraj <s-paulraj@ti.com>
+#M:    Sandeep Paulraj <s-paulraj@ti.com>
 S:     Orphan (since 2014-08)
 F:     board/davinci/dm6467evm/
 F:     include/configs/davinci_dm6467evm.h
index 4b3ce45d4f3ca80fd4c134ffab794a83523154e2..a718b900508a4774d90da04916e637b4077aca5d 100644 (file)
@@ -1,5 +1,5 @@
 DVEVM BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/davinci/dvevm/
 F:     include/configs/davinci_dvevm.h
index b1fc29c019686ab6a885868ec3f3acf9c7b74ac8..808e7fc04680f7cb417e4b375aa3c3e9b4dea8d4 100644 (file)
@@ -1,5 +1,5 @@
 SCHMOOGIE BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/davinci/schmoogie/
 F:     include/configs/davinci_schmoogie.h
index 428d003abcf335a7a11cad18cfabc9dc5d682952..5c7e1324a9fa20885c9623f53d865a33628ec2f5 100644 (file)
@@ -1,5 +1,5 @@
 SFFSDR BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/davinci/sffsdr/
 F:     include/configs/davinci_sffsdr.h
index 625978ca626fe91e111d49ecaee74b12a1bbe390..40659e5210f2acf73a582190e1be95694dbd1981 100644 (file)
@@ -1,5 +1,5 @@
 SONATA BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/davinci/sonata/
 F:     include/configs/davinci_sonata.h
index 30453c6b164fa83e04df0d1dd4b1ad1e68e157c0..89ba862149f7546f88c64c2aa5dffed934983e1b 100644 (file)
@@ -1,5 +1,5 @@
 FAVR-32-EZKIT BOARD
-M:     Hans-Christian Egtvedt <hans-christian.egtvedt@atmel.com>
+#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
index 5258b3a7ca6e99b1e53c755d658d01d5537c5cc0..e3b35f110121c3901e8594d17614455b0dea9bda 100644 (file)
@@ -1,5 +1,5 @@
 ELPPC BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/eltec/elppc/
 F:     include/configs/ELPPC.h
diff --git a/board/eltec/mhpc/u-boot.lds b/board/eltec/mhpc/u-boot.lds
deleted file mode 100644 (file)
index 7ae91ff..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * (C) Copyright 2001-2010
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-OUTPUT_ARCH(powerpc)
-
-SECTIONS
-{
-  /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .text      :
-  {
-    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
-    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
-
-    *(.text*)
-  }
-  _etext = .;
-  PROVIDE (etext = .);
-  .rodata    :
-  {
-    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
-  }
-
-  /* Read-write section, merged into data segment: */
-  . = (. + 0x00FF) & 0xFFFFFF00;
-  _erotext = .;
-  PROVIDE (erotext = .);
-  .reloc   :
-  {
-    _GOT2_TABLE_ = .;
-    KEEP(*(.got2))
-    KEEP(*(.got))
-    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
-    _FIXUP_TABLE_ = .;
-    KEEP(*(.fixup))
-  }
-  __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
-  __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
-  .data    :
-  {
-    *(.data*)
-    *(.sdata*)
-  }
-  _edata  =  .;
-  PROVIDE (edata = .);
-
-  . = .;
-
-  . = ALIGN(4);
-  .u_boot_list : {
-       KEEP(*(SORT(.u_boot_list*)));
-  }
-
-
-  . = .;
-  __start___ex_table = .;
-  __ex_table : { *(__ex_table) }
-  __stop___ex_table = .;
-
-  . = ALIGN(256);
-  __init_begin = .;
-  .text.init : { *(.text.init) }
-  .data.init : { *(.data.init) }
-  . = ALIGN(256);
-  __init_end = .;
-
-  __bss_start = .;
-  .bss (NOLOAD)       :
-  {
-   *(.bss*)
-   *(.sbss*)
-   *(COMMON)
-   . = ALIGN(4);
-  }
-  __bss_end = . ;
-  PROVIDE (end = .);
-}
index 530ea4f3c48d6205916977856d5f7f95f1be77f6..a725f15a2eb8172b540aac191b4b38ca6d1626df 100644 (file)
@@ -285,6 +285,11 @@ iomux_v3_cfg_t const ecspi1_pads[] = {
        MX6_PAD_EIM_EB2__GPIO2_IO30 | MUX_PAD_CTRL(NO_PAD_CTRL),
 };
 
+int board_spi_cs_gpio(unsigned bus, unsigned cs)
+{
+       return (bus == 0 && cs == 0) ? (IMX_GPIO_NR(2, 30)) : -1;
+}
+
 static void setup_spi(void)
 {
        imx_iomux_v3_setup_multiple_pads(ecspi1_pads, ARRAY_SIZE(ecspi1_pads));
diff --git a/board/emk/top860/u-boot.lds b/board/emk/top860/u-boot.lds
deleted file mode 100644 (file)
index 79fcbf4..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * (C) Copyright 2000-2010
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-OUTPUT_ARCH(powerpc)
-
-SECTIONS
-{
-  /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .text      :
-  {
-    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
-    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
-
-    *(.text*)
-  }
-  _etext = .;
-  PROVIDE (etext = .);
-  .rodata    :
-  {
-    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
-  }
-
-  /* Read-write section, merged into data segment: */
-  . = (. + 0x00FF) & 0xFFFFFF00;
-  _erotext = .;
-  PROVIDE (erotext = .);
-  .reloc   :
-  {
-    _GOT2_TABLE_ = .;
-    KEEP(*(.got2))
-    KEEP(*(.got))
-    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
-    _FIXUP_TABLE_ = .;
-    KEEP(*(.fixup))
-  }
-  __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
-  __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
-  .data    :
-  {
-    *(.data*)
-    *(.sdata*)
-  }
-  _edata  =  .;
-  PROVIDE (edata = .);
-
-
-  . = .;
-
-  . = ALIGN(4);
-  .u_boot_list : {
-       KEEP(*(SORT(.u_boot_list*)));
-  }
-
-
-  . = .;
-  __start___ex_table = .;
-  __ex_table : { *(__ex_table) }
-  __stop___ex_table = .;
-
-  . = ALIGN(256);
-  __init_begin = .;
-  .text.init : { *(.text.init) }
-  .data.init : { *(.data.init) }
-  . = ALIGN(256);
-  __init_end = .;
-
-  __bss_start = .;
-  .bss (NOLOAD)       :
-  {
-   *(.bss*)
-   *(.sbss*)
-   *(COMMON)
-   . = ALIGN(4);
-  }
-  __bss_end = . ;
-  PROVIDE (end = .);
-}
index bb273df6d4dc519ac3f2befb8184af421b470664..bfa923caf6dc75541eff6420d676e912bcac9370 100644 (file)
@@ -1,5 +1,5 @@
 EP8260 BOARD
-M:     Frank Panno <fpanno@delphintech.com>
+#M:    Frank Panno <fpanno@delphintech.com>
 S:     Orphan (since 2014-06)
 F:     board/ep8260/
 F:     include/configs/ep8260.h
index 822261be78296044c4d7e33ef2d04976bedc6dbd..c053df9160f36af2d3b9b594de2bd88a3e19ef07 100644 (file)
@@ -1,5 +1,5 @@
 EP82XXM BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/ep82xxm/
 F:     include/configs/ep82xxm.h
index c434eb93a30538de986c3214195f10a6a3cdcd2e..96de0815c7ea0eca02ed2a8b8baf9870245220a3 100644 (file)
@@ -1,5 +1,5 @@
 IMA3-MX53 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/esg/ima3-mx53/
 F:     include/configs/ima3-mx53.h
index ff6e20c067983e77eb68b82ef046e38a01036153..fdbbc3eb454ab84ba3a1e2d4d52a0f29e4c41d5e 100644 (file)
@@ -1,5 +1,5 @@
 ESPT BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/espt/
 F:     include/configs/espt.h
index f8307ccf5142ad0e4b242e666998c1247bd9f129..d50dda523e2c9ddd2175c1fce9544cd10fe1231d 100644 (file)
@@ -6,7 +6,7 @@ F:      include/configs/P3G4.h
 F:     configs/P3G4_defconfig
 
 ZUMA BOARD
-M:     Nye Liu <nyet@zumanetworks.com>
+#M:    Nye Liu <nyet@zumanetworks.com>
 S:     Orphan (since 2014-04)
 F:     include/configs/ZUMA.h
 F:     configs/ZUMA_defconfig
index e2fe2a6b669696ef65507f5b2c0619554f80cc0f..b37f10b17ae4ac3ba18b2b95bb2ae3b0656fa133 100644 (file)
@@ -1,5 +1,5 @@
 HWW1U1A BOARD
-M:     Kyle Moffett <Kyle.D.Moffett@boeing.com>
+#M:    Kyle Moffett <Kyle.D.Moffett@boeing.com>
 S:     Orphan (since 2014-06)
 F:     board/exmeritus/hww1u1a/
 F:     include/configs/HWW1U1A.h
index 9f9a612a61eef7709a4a96975355046a86e57c54..ac02bb7e48185662ad4c39db5e2e65a68333b398 100644 (file)
@@ -1,5 +1,5 @@
 B4860QDS BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/b4860qds/
 F:     include/configs/B4860QDS.h
index 6789efb9c391de50939d1c258aa236b80081f287..e683be324a95a679228ab03bc0a936582234cec0 100644 (file)
@@ -67,7 +67,7 @@ unsigned long ics307_sysclk_calculator(unsigned long out_freq)
                                continue;
                        /* Calculate the temp out frequency */
                        tmp_out = input_freq * 2 * vdw / (rdw * od * 1000);
-                       diff = MAX(out_freq, tmp_out) - MIN(out_freq, tmp_out);
+                       diff = max(out_freq, tmp_out) - min(out_freq, tmp_out);
                        /*
                         * calculate the percent, the precision is 1/1000
                         * If greater than 1/1000, continue
index 841d82fdd8af676a772864f91f0ce2891d11ccf5..c8ca6746f19164a27caabbf72c007b5ae4f99e91 100644 (file)
@@ -1,5 +1,5 @@
 CORENET_DS BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/corenet_ds/
 F:     include/configs/P3041DS.h
index 65d04df2502807f71ddc7c0621824a16d4f2e517..c9c3c882e60b980f254e440cfe08f287fb2efdf8 100644 (file)
@@ -1,5 +1,5 @@
 M5208EVBE BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/m5208evbe/
 F:     include/configs/M5208EVBE.h
index 22301b770e95164ece846d58c746b5ccfc07f93e..c2273c35e1de8a5f0b7ed2848bec372717bb52ae 100644 (file)
@@ -1,5 +1,5 @@
 M5249EVB BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/m5249evb/
 F:     include/configs/M5249EVB.h
index 1c21b03c380dc0de899d9faed4d4f45062848c41..74acd1eee504508f7fa92b9b697206aeb08af0da 100644 (file)
@@ -1,5 +1,5 @@
 M5253EVBE BOARD
-M:     Hayden Fraser <Hayden.Fraser@freescale.com>
+#M:    Hayden Fraser <Hayden.Fraser@freescale.com>
 S:     Orphan (since 2014-06)
 F:     board/freescale/m5253evbe/
 F:     include/configs/M5253EVBE.h
index aa4739f744c64011fe45ca766e616adeffdf527b..e58663096d43c4dda9a79b4c3dacd5591ad2a374 100644 (file)
@@ -1,5 +1,5 @@
 M5272C3 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/m5272c3/
 F:     include/configs/M5272C3.h
index b87d52c64fbf85d6c25634da2be9020f989a8987..4e6dbb12d99d0e0124bf7feac9b2acd60db8506a 100644 (file)
@@ -1,5 +1,5 @@
 M5275EVB BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/m5275evb/
 F:     include/configs/M5275EVB.h
index f945ab446b1053f4e5b03ed97b85ce8a54402c18..305e748e7402f337bc44e58bbe072cfa958e207f 100644 (file)
@@ -1,5 +1,5 @@
 M5282EVB BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/m5282evb/
 F:     include/configs/M5282EVB.h
index 37b24c7be8c75862287ba4ee007e335b770a9ba2..f88aed99d657987f4405f0232fbdd4aaf470a226 100644 (file)
@@ -1,5 +1,5 @@
 M54418TWR BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/m54418twr/
 F:     include/configs/M54418TWR.h
index be145494cbdc4cd517cc358d6f2bd08b2f734559..52a2681080946080dedf742cc3c1dc0df22e12be 100644 (file)
@@ -1,5 +1,5 @@
 M54451EVB BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/m54451evb/
 F:     include/configs/M54451EVB.h
index 0c7f682f95a0e75f8d3fd71ac54e157e70986554..d4aab8fb51fdcce57dc8bba0fc5cd9855825e127 100644 (file)
@@ -1,5 +1,5 @@
 MPC5121ADS BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/mpc5121ads/
 F:     include/configs/mpc5121ads.h
index 923ba95404cf6c1f25c35645facd52ca2b47d5e4..807fb0b6e9ebb0773ba2837e2f7989154ea99751 100644 (file)
@@ -1,5 +1,5 @@
 MPC8313ERDB BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/mpc8313erdb/
 F:     include/configs/MPC8313ERDB.h
index ed6e4e54dd4bb8e94cad6cfd21af34e835a25dc6..d0388ad6e55cbe4c855abb7cdb3dca21968ea7fd 100644 (file)
@@ -1,5 +1,5 @@
 MPC8349ITX BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/mpc8349itx/
 F:     include/configs/MPC8349ITX.h
index cb075d62a9a7d78292f98b5fa773c617ca43d37a..e5b5995f78d164a0058229bade8885b9a218301f 100644 (file)
@@ -1,5 +1,5 @@
 MPC8360ERDK BOARD
-M:     Anton Vorontsov <avorontsov@ru.mvista.com>
+#M:    Anton Vorontsov <avorontsov@ru.mvista.com>
 S:     Orphan (since 2014-03)
 F:     board/freescale/mpc8360erdk/
 F:     include/configs/MPC8360ERDK.h
index c216d8da0623bce84c3338863c3868e3cf94900e..8592a2c3c1852d2ce551fde351d18e2085083fca 100644 (file)
@@ -1,5 +1,5 @@
 MPC837XERDB BOARD
-M:     Joe D'Abbraccio <ljd015@freescale.com>
+#M:    Joe D'Abbraccio <ljd015@freescale.com>
 S:     Orphan (since 2014-06)
 F:     board/freescale/mpc837xerdb/
 F:     include/configs/MPC837XERDB.h
index 51d7cd7bac1b322116c8621a4dddef087eb3521c..953072cdd0f381ca816dd9f70e71a55782aea632 100644 (file)
@@ -1,5 +1,5 @@
 MPC8536DS BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/mpc8536ds/
 F:     include/configs/MPC8536DS.h
index 41a219157758c46d1d7bc02a35ccd854223f6453..acc48218d469482a88679306a11d503a4a75a171 100644 (file)
@@ -1,5 +1,5 @@
 MPC8540ADS BOARD
-M:     Kumar Gala <kumar.gala@freescale.com>
+#M:    Kumar Gala <kumar.gala@freescale.com>
 S:     Orphan (since 2014-06)
 F:     board/freescale/mpc8540ads/
 F:     include/configs/MPC8540ADS.h
index 073210d9ad2546eaef5bf1401ccdbfbb414fe552..d421b1281b8b0885d3e4f03d978767736acb4bb0 100644 (file)
@@ -1,5 +1,5 @@
 MPC8541CDS BOARD
-M:     Kumar Gala <kumar.gala@freescale.com>
+#M:    Kumar Gala <kumar.gala@freescale.com>
 S:     Orphan (since 2014-06)
 F:     board/freescale/mpc8541cds/
 F:     include/configs/MPC8541CDS.h
index 81b664c7323264dc2c437b2d1e4c5dd20e6c9ea8..328be7fecce68887fb0e809200909a7229aa34f3 100644 (file)
@@ -1,5 +1,5 @@
 MPC8544DS BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/mpc8544ds/
 F:     include/configs/MPC8544DS.h
index 89b2425d0baac7a4909f7730b19588b59a83d0f5..6f229227c03fca1febe010fc63d751e2da7815c7 100644 (file)
@@ -1,5 +1,5 @@
 MPC8548CDS BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/mpc8548cds/
 F:     include/configs/MPC8548CDS.h
index 14470d72ee4a4cfaaad1a62355d2ec49e40e0592..1ef669000fa90e9e1372f18089b0f70e2198cdb8 100644 (file)
@@ -1,5 +1,5 @@
 MPC8555CDS BOARD
-M:     Kumar Gala <kumar.gala@freescale.com>
+#M:    Kumar Gala <kumar.gala@freescale.com>
 S:     Orphan (since 2014-06)
 F:     board/freescale/mpc8555cds/
 F:     include/configs/MPC8555CDS.h
index 836def2a276eed41caf4818daf79a666640c56e9..96e6da2aada46c2977e485f83627d5db7d5de000 100644 (file)
@@ -1,5 +1,5 @@
 MPC8560ADS BOARD
-M:     Kumar Gala <kumar.gala@freescale.com>
+#M:    Kumar Gala <kumar.gala@freescale.com>
 S:     Orphan (since 2014-06)
 F:     board/freescale/mpc8560ads/
 F:     include/configs/MPC8560ADS.h
index 72c25f5f8ea8afd13c01de5066be03321afbd080..379d8cc1d5f3cae28d8507105689caeb926c0379 100644 (file)
@@ -1,5 +1,5 @@
 MPC8568MDS BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/mpc8568mds/
 F:     include/configs/MPC8568MDS.h
index b5478dbc175fbb9e0d4c095c180948faabd62c92..c181407f25861d73da9c0bf37af23ecb4d3ca75f 100644 (file)
@@ -1,5 +1,5 @@
 MPC8569MDS BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/mpc8569mds/
 F:     include/configs/MPC8569MDS.h
index 993c02a15e446717701d320f1821d3de7710b0f0..de6ab89299773723c3b17eaabd8d0893fb8395f3 100644 (file)
@@ -1,5 +1,5 @@
 MPC8610HPCD BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/mpc8610hpcd/
 F:     include/configs/MPC8610HPCD.h
index 34bcc6cd0b6972e952210440f0bca4b29e1d9e3b..97902475ba8960608597c653c601d67338e29a6e 100644 (file)
@@ -1,5 +1,5 @@
 MPC8641HPCN BOARD
-M:     Kumar Gala <kumar.gala@freescale.com>
+#M:    Kumar Gala <kumar.gala@freescale.com>
 S:     Orphan (since 2014-06)
 F:     board/freescale/mpc8641hpcn/
 F:     include/configs/MPC8641HPCN.h
index e9c8fe78e0df003c8cc822258ff89c5cd8efb312..5f6ec268c7e17e113238ea072e44949007e4a968 100644 (file)
@@ -1,5 +1,5 @@
 MX31ADS BOARD
-M:     (resigned) Guennadi Liakhovetski <g.liakhovetski@gmx.de>
+#M:    (resigned) Guennadi Liakhovetski <g.liakhovetski@gmx.de>
 S:     Orphan (since 2013-09)
 F:     board/freescale/mx31ads/
 F:     include/configs/mx31ads.h
index 928dadf80936b7fa179e7b99bd536bdf836eeb9b..836d7221b09c7388764dd57f9ced8efd97632d0d 100644 (file)
@@ -259,6 +259,13 @@ int board_init(void)
        return 0;
 }
 
+#ifdef CONFIG_MXC_SPI
+int board_spi_cs_gpio(unsigned bus, unsigned cs)
+{
+       return (bus == 0 && cs == 0) ? (IMX_GPIO_NR(4, 9)) : -1;
+}
+#endif
+
 #ifdef CONFIG_CMD_BMODE
 static const struct boot_mode board_boot_modes[] = {
        /* 4 bit bus width */
index 80c8ebdafcc39da661abaf0833ad11e70ce04ee9..81dcd6e5ddb879ae3aa4ed9e8a0e800b63929459 100644 (file)
@@ -513,6 +513,13 @@ static int pfuze_init(void)
        return 0;
 }
 
+#ifdef CONFIG_MXC_SPI
+int board_spi_cs_gpio(unsigned bus, unsigned cs)
+{
+       return (bus == 0 && cs == 0) ? (IMX_GPIO_NR(4, 9)) : -1;
+}
+#endif
+
 #ifdef CONFIG_CMD_BMODE
 static const struct boot_mode board_boot_modes[] = {
        /* 4 bit bus width */
index a990b4cea8ee744abafa7cade88bfb1725402472..a0832f4a201e63ce6e8ec99b4d87b99667b2e1dd 100644 (file)
@@ -82,6 +82,11 @@ static iomux_v3_cfg_t ecspi1_pads[] = {
        MX6_PAD_ECSPI1_SS0__GPIO4_IO11  | MUX_PAD_CTRL(NO_PAD_CTRL),
 };
 
+int board_spi_cs_gpio(unsigned bus, unsigned cs)
+{
+       return (bus == 0 && cs == 0) ? (IMX_GPIO_NR(4, 11)) : -1;
+}
+
 static void setup_spi(void)
 {
        imx_iomux_v3_setup_multiple_pads(ecspi1_pads, ARRAY_SIZE(ecspi1_pads));
index 579e775972e017622104fef9c8688c1fd99b6b9b..db001437b1697b1609dc26bb193e81a3a3a0809e 100644 (file)
@@ -1,5 +1,5 @@
 P1010RDB BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/p1010rdb/
 F:     include/configs/P1010RDB.h
index 81501aa5fc5048fe45d1fa388004a64dae23816b..c06bac6d0d8761a6df1dcd70cca559ebae9fce5f 100644 (file)
@@ -1,5 +1,5 @@
 P1023RDB BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/p1023rdb/
 F:     include/configs/P1023RDB.h
index ad0a8589f47c2dac656507823f5acdee48e2a2c6..aabf587dd68539dc9a8b286bf0740752f85668bf 100644 (file)
@@ -1,5 +1,5 @@
 P1_P2_RDB BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/p1_p2_rdb/
 F:     include/configs/P1_P2_RDB.h
index 4d429fe9cf3aaeff148ed942d6ff4ac68932ee84..c2e924798e321f914d8c8a6063cec8f0bb45a088 100644 (file)
@@ -1,5 +1,5 @@
 P1_P2_RDB_PC BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/p1_p2_rdb_pc/
 F:     include/configs/p1_p2_rdb_pc.h
index 2d7d7e10c5886b53e19fc4eb7e0d204de6142a8d..c19d43616b1bdffcbbd50741b80dd01fa8304c48 100644 (file)
@@ -1,5 +1,5 @@
 P1_TWR BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/p1_twr/
 F:     include/configs/p1_twr.h
index 42cb18dc8b2f6e4fc9e5ac406f90a3a8badad0c3..cb61fc51fbdfcb0eca2d4c852d8d15c8639b6ba7 100644 (file)
@@ -1,5 +1,5 @@
 P2020DS BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/p2020ds/
 F:     include/configs/P2020DS.h
index bb5bb83f3060a77fe65c464db59fbc146d6f1533..d93cb0bebb67cf698e2d3dbe5eec473517a8ba31 100644 (file)
@@ -1,5 +1,5 @@
 P2041RDB BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/p2041rdb/
 F:     include/configs/P2041RDB.h
index 62aae2f91ee8e6d78ac6ee70716d3af62b5589ef..b61e1c025404d673f9c6e0056055868225b66635 100644 (file)
@@ -12,7 +12,7 @@ F:    configs/T1042RDB_PI_NAND_defconfig
 F:     configs/T1042RDB_PI_SPIFLASH_defconfig
 
 T1040RDB_SDCARD BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     configs/T1040RDB_SDCARD_defconfig
 F:     configs/T1042RDB_PI_SDCARD_defconfig
index 643926f4b047611cd7cb3d2e64c20f2d4be6a8fe..deda092a6a01cc8a3a912b3d3a1bebaf8fb4998e 100644 (file)
@@ -1,5 +1,5 @@
 T208XQDS BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/t208xqds/
 F:     include/configs/T208xQDS.h
index 598714356c416e4ca70e6523440765c12232e448..16428798cd6ddfda330a0f08bbc89adecf83d2bd 100644 (file)
@@ -1,5 +1,5 @@
 T208XRDB BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/t208xrdb/
 F:     include/configs/T208xRDB.h
index da796bd5b6a395efa5390351aa5026f13ac1fccc..f88ee7df9e685d7d90ea5061b4352d869fea874f 100644 (file)
@@ -1,5 +1,5 @@
 T4QDS BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/freescale/t4qds/
 F:     include/configs/T4240QDS.h
index 9af5f7871b995f6e99e05545ded13bd1f9c0eda2..34d1cc12ff214eb7c5360c913c97dbf0382a0742 100644 (file)
@@ -1,5 +1,5 @@
 VOVPN-GW BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/funkwerk/vovpn-gw/
 F:     include/configs/VoVPN-GW.h
index 493c31ecabc88a9d145be6b24b31095ac08f4ed5..df55a4cc416843c64a17f621ccd4801a63bb61d6 100644 (file)
@@ -1,5 +1,5 @@
 GR_CPCI_AX2000 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/gaisler/gr_cpci_ax2000/
 F:     include/configs/gr_cpci_ax2000.h
index 151bef13293e4d29550ed9b116562db7e63ce8e6..7acd5f44c6fc279bb85305c63f048c54cd61535d 100644 (file)
@@ -1,5 +1,5 @@
 GR_EP2S60 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/gaisler/gr_ep2s60/
 F:     include/configs/gr_ep2s60.h
index 187f32334d49d1fd51a914da03ff46881e1c8dde..c4179d29c0ab7a9671d8d2aac40ea403f41c5a92 100644 (file)
@@ -1,5 +1,5 @@
 GR_XC3S_1500 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/gaisler/gr_xc3s_1500/
 F:     include/configs/gr_xc3s_1500.h
index acb863c2f7001d350e2929a4da20e6c7d4db7223..4b3312ef72851b8cef3d6166b33cf3846d920477 100644 (file)
@@ -1,5 +1,5 @@
 GRSIM BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/gaisler/grsim/
 F:     include/configs/grsim.h
index 6da9b784cf17510ee89d0336b28c14efa6b631da..bf4a95001b801d21af050d912b5f0748b5fc40df 100644 (file)
@@ -1,5 +1,5 @@
 GRSIM_LEON2 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/gaisler/grsim_leon2/
 F:     include/configs/grsim_leon2.h
index f070132f3742606015e0e1d71d1cc17a5279693a..614625d33f4ba98b700ce8355dc463e59d5cef8a 100644 (file)
@@ -1,5 +1,5 @@
 GALAXY5200 BOARD
-M:     Eric Millbrandt <emillbrandt@dekaresearch.com>
+#M:    Eric Millbrandt <emillbrandt@dekaresearch.com>
 S:     Orphan (since 2014-06)
 F:     board/galaxy5200/
 F:     include/configs/galaxy5200.h
index 8d086f84abea5381b185d70558de0cc633b3d82f..1038d9d975a4347e8e48a575fc06f96f2919d800 100644 (file)
@@ -356,9 +356,14 @@ iomux_v3_cfg_t const ecspi1_pads[] = {
        IOMUX_PADS(PAD_EIM_D16__ECSPI1_SCLK | MUX_PAD_CTRL(SPI_PAD_CTRL)),
 };
 
+int board_spi_cs_gpio(unsigned bus, unsigned cs)
+{
+       return (bus == 0 && cs == 0) ? (IMX_GPIO_NR(3, 19)) : -1;
+}
+
 static void setup_spi(void)
 {
-       gpio_direction_output(CONFIG_SF_DEFAULT_CS, 1);
+       gpio_direction_output(IMX_GPIO_NR(3, 19), 1);
        SETUP_IOMUX_PADS(ecspi1_pads);
 }
 #endif
index a85df77982ce7eadb08700b4e450a49dfa4a008e..f1398c49269cc71c38b9975ba5c3890a17a10dfe 100644 (file)
@@ -1,5 +1,5 @@
 MX51_EFIKAMX BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/genesi/mx51_efikamx/
 F:     include/configs/mx51_efikamx.h
index 16769e53327edf187cfced3c397d8a9b9e7243d0..137e4ed661030b9ede7f194f2f7f865429ebce1d 100644 (file)
@@ -152,6 +152,11 @@ static iomux_v3_cfg_t const efikamx_spi_pads[] = {
  * PMIC configuration
  */
 #ifdef CONFIG_MXC_SPI
+int board_spi_cs_gpio(unsigned bus, unsigned cs)
+{
+       return (bus == 0 && cs == 1) ? 121 : -1;
+}
+
 static void power_init(void)
 {
        unsigned int val;
index 02e6c049d42951316db672de0e5f2781ef95f29f..8a24eb46995ad5c577b722376fd396397a94a1da 100644 (file)
@@ -6,7 +6,7 @@ F:      include/configs/IceCube.h
 F:     configs/icecube_5200_defconfig
 
 ICECUBE_5200_DDR BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     configs/icecube_5200_DDR_defconfig
 F:     configs/icecube_5200_DDR_LOWBOOT_defconfig
index efd5e77c812a5484e370ce3f279b7f060ba8fe66..41f6cae81b5d7f7cb4bb2aae971d7dfccb5a3cbf 100644 (file)
@@ -1,11 +1,11 @@
 IMX31_PHYCORE BOARD
-M:     -
+#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>
+#M:    (resigned) Guennadi Liakhovetski <g.liakhovetski@gmx.de>
 S:     Orphan (since 2013-09)
 F:     configs/imx31_phycore_eet_defconfig
index 278072bcd9dacc6816bf63338aa3294cd37ca167..c37b0110f22cec30663a68078af073b30e5ae91c 100644 (file)
@@ -1,5 +1,5 @@
 IP04 BOARD
-M:     Brent Kandetzki <brentk@teleco.com>
+#M:    Brent Kandetzki <brentk@teleco.com>
 S:     Orphan (since 2014-06)
 F:     board/ip04/
 F:     include/configs/ip04.h
index fe4a8cd445d63a49d35127b26419fe4d3f56e429..3fc2c6cb9a017df54174067476b464230f06506e 100644 (file)
@@ -8,7 +8,7 @@ F:      configs/igep0030_defconfig
 F:     configs/igep0032_defconfig
 
 IGEP0020_NAND BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     configs/igep0020_nand_defconfig
 F:     configs/igep0030_nand_defconfig
diff --git a/board/ivm/u-boot.lds b/board/ivm/u-boot.lds
deleted file mode 100644 (file)
index 3d4fc8a..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * (C) Copyright 2000-2010
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-OUTPUT_ARCH(powerpc)
-
-SECTIONS
-{
-  /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .text      :
-  {
-    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
-    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
-
-    *(.text*)
-  }
-  _etext = .;
-  PROVIDE (etext = .);
-  .rodata    :
-  {
-    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
-  }
-
-  /* Read-write section, merged into data segment: */
-  . = (. + 0x0FF) & 0xFFFFFF00;
-  _erotext = .;
-  PROVIDE (erotext = .);
-  .reloc   :
-  {
-    _GOT2_TABLE_ = .;
-    KEEP(*(.got2))
-    KEEP(*(.got))
-    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
-    _FIXUP_TABLE_ = .;
-    KEEP(*(.fixup))
-  }
-  __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
-  __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
-  .data    :
-  {
-    *(.data*)
-    *(.sdata*)
-  }
-  _edata  =  .;
-  PROVIDE (edata = .);
-
-  . = .;
-
-  . = ALIGN(4);
-  .u_boot_list : {
-       KEEP(*(SORT(.u_boot_list*)));
-  }
-
-
-  . = .;
-  __start___ex_table = .;
-  __ex_table : { *(__ex_table) }
-  __stop___ex_table = .;
-
-  . = ALIGN(256);
-  __init_begin = .;
-  .text.init : { *(.text.init) }
-  .data.init : { *(.data.init) }
-  . = ALIGN(256);
-  __init_end = .;
-
-  __bss_start = .;
-  .bss (NOLOAD)       :
-  {
-   *(.bss*)
-   *(.sbss*)
-   *(COMMON)
-   . = ALIGN(4);
-  }
-  __bss_end = . ;
-  PROVIDE (end = .);
-}
index 39b2b1db35d80164584d452b65e5a9a8e5800248..ac85d6b44c51d260972a3ad36ed37a978679420c 100644 (file)
@@ -1,5 +1,5 @@
 TK71 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/karo/tk71/
 F:     include/configs/tk71.h
diff --git a/board/kup/kup4k/u-boot.lds b/board/kup/kup4k/u-boot.lds
deleted file mode 100644 (file)
index 0eb2fba..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * (C) Copyright 2000-2010
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-OUTPUT_ARCH(powerpc)
-
-SECTIONS
-{
-  /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .text      :
-  {
-    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
-    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
-
-    *(.text*)
-  }
-  _etext = .;
-  PROVIDE (etext = .);
-  .rodata    :
-  {
-    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
-  }
-
-  /* Read-write section, merged into data segment: */
-  . = (. + 0x00FF) & 0xFFFFFF00;
-  _erotext = .;
-  PROVIDE (erotext = .);
-  .reloc   :
-  {
-    _GOT2_TABLE_ = .;
-    KEEP(*(.got2))
-    KEEP(*(.got))
-    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
-    _FIXUP_TABLE_ = .;
-    KEEP(*(.fixup))
-  }
-  __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
-  __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
-  .data    :
-  {
-    *(.data*)
-    *(.sdata*)
-  }
-  _edata  =  .;
-  PROVIDE (edata = .);
-
-  . = .;
-
-  . = ALIGN(4);
-  .u_boot_list : {
-       KEEP(*(SORT(.u_boot_list*)));
-  }
-
-
-  . = .;
-  __start___ex_table = .;
-  __ex_table : { *(__ex_table) }
-  __stop___ex_table = .;
-
-  . = ALIGN(256);
-  __init_begin = .;
-  .text.init : { *(.text.init) }
-  .data.init : { *(.data.init) }
-  . = ALIGN(256);
-  __init_end = .;
-
-  __bss_start = .;
-  .bss (NOLOAD)       :
-  {
-   *(.bss*)
-   *(.sbss*)
-   *(COMMON)
-   . = ALIGN(4);
-  }
-  __bss_end = . ;
-  PROVIDE (end = .);
-}
index 98cc7bd15c3004955e59406af6aace21358dce73..8e3608e0af9b61c7483a6267a2a0e528cd46df62 100644 (file)
@@ -1,5 +1,5 @@
 IMX31_LITEKIT BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/logicpd/imx31_litekit/
 F:     include/configs/imx31_litekit.h
diff --git a/board/lwmon/u-boot.lds b/board/lwmon/u-boot.lds
deleted file mode 100644 (file)
index 90e2e2e..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * (C) Copyright 2001-2010
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-OUTPUT_ARCH(powerpc)
-
-SECTIONS
-{
-  /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .text      :
-  {
-    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
-    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
-
-    *(.text*)
-  }
-  _etext = .;
-  PROVIDE (etext = .);
-  .rodata    :
-  {
-    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
-  }
-
-  /* Read-write section, merged into data segment: */
-  . = (. + 0x0FF) & 0xFFFFFF00;
-  _erotext = .;
-  PROVIDE (erotext = .);
-  .reloc   :
-  {
-    _GOT2_TABLE_ = .;
-    KEEP(*(.got2))
-    KEEP(*(.got))
-    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
-    _FIXUP_TABLE_ = .;
-    KEEP(*(.fixup))
-  }
-  __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
-  __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
-  .data    :
-  {
-    *(.data*)
-    *(.sdata*)
-  }
-  _edata  =  .;
-  PROVIDE (edata = .);
-
-  . = .;
-
-  . = ALIGN(4);
-  .u_boot_list : {
-       KEEP(*(SORT(.u_boot_list*)));
-  }
-
-
-  . = .;
-  __start___ex_table = .;
-  __ex_table : { *(__ex_table) }
-  __stop___ex_table = .;
-
-  . = ALIGN(256);
-  __init_begin = .;
-  .text.init : { *(.text.init) }
-  .data.init : { *(.data.init) }
-  . = ALIGN(256);
-  __init_end = .;
-
-  __bss_start = .;
-  .bss (NOLOAD)       :
-  {
-   *(.bss*)
-   *(.sbss*)
-   *(COMMON)
-   . = ALIGN(4);
-  }
-  __bss_end = . ;
-  PROVIDE (end = .);
-}
index bdfdc01861b2789538b78fdfe237144fb442dd6d..a66a98178c074029a69c80810b1cbd466c31aef5 100644 (file)
@@ -1,5 +1,5 @@
 HMI1001 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/manroland/hmi1001/
 F:     include/configs/hmi1001.h
diff --git a/board/manroland/uc100/u-boot.lds b/board/manroland/uc100/u-boot.lds
deleted file mode 100644 (file)
index 47f2de8..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * (C) Copyright 2000
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-OUTPUT_ARCH(powerpc)
-
-SECTIONS
-{
-  /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .text      :
-  {
-    /* WARNING - the following is hand-optimized to fit within */
-    /* the sector layout of our flash chips!   XXX FIXME XXX   */
-
-    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
-    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
-
-    *(.text*)
-  }
-  _etext = .;
-  PROVIDE (etext = .);
-  .rodata    :
-  {
-    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
-  }
-
-  /* Read-write section, merged into data segment: */
-  . = (. + 0x00FF) & 0xFFFFFF00;
-  _erotext = .;
-  PROVIDE (erotext = .);
-  .reloc   :
-  {
-    _GOT2_TABLE_ = .;
-    KEEP(*(.got2))
-    KEEP(*(.got))
-    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
-    _FIXUP_TABLE_ = .;
-    KEEP(*(.fixup))
-  }
-  __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
-  __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
-  .data    :
-  {
-    *(.data*)
-    *(.sdata*)
-  }
-  _edata  =  .;
-  PROVIDE (edata = .);
-
-  . = .;
-
-  . = ALIGN(4);
-  .u_boot_list : {
-       KEEP(*(SORT(.u_boot_list*)));
-  }
-
-
-  . = .;
-  __start___ex_table = .;
-  __ex_table : { *(__ex_table) }
-  __stop___ex_table = .;
-
-  . = ALIGN(256);
-  __init_begin = .;
-  .text.init : { *(.text.init) }
-  .data.init : { *(.data.init) }
-  . = ALIGN(256);
-  __init_end = .;
-
-  __bss_start = .;
-  .bss (NOLOAD)       :
-  {
-   *(.bss*)
-   *(.sbss*)
-   *(COMMON)
-   . = ALIGN(4);
-  }
-  __bss_end = . ;
-  PROVIDE (end = .);
-}
index 22be98186b5faa4a1cbbfe80bc5c71bfc0a516cf..20bd073b90a7da2793420bd4803f5859815365f4 100644 (file)
@@ -1,5 +1,5 @@
 MERGERBOX BOARD
-M:     Andre Schwarz <andre.schwarz@matrix-vision.de>
+#M:    Andre Schwarz <andre.schwarz@matrix-vision.de>
 S:     Orphan (since 2014-03)
 F:     board/matrix_vision/mergerbox/
 F:     include/configs/MERGERBOX.h
index 9e76b579fc81dc57e2f49bfba91567baca7b4bed..aad14ed0790e88c04bc9822b55687b3846b0d58a 100644 (file)
@@ -1,5 +1,5 @@
 MVBC_P BOARD
-M:     Andre Schwarz <andre.schwarz@matrix-vision.de>
+#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
index 4f7ca503fc48d040107e520dc493902ab1ea0d64..947a14ed5070bba22e132cf3222c3dd558e7213c 100644 (file)
@@ -1,5 +1,5 @@
 MVBLM7 BOARD
-M:     Andre Schwarz <andre.schwarz@matrix-vision.de>
+#M:    Andre Schwarz <andre.schwarz@matrix-vision.de>
 S:     Orphan (since 2014-03)
 F:     board/matrix_vision/mvblm7/
 F:     include/configs/MVBLM7.h
index 9659730fb4b77973eb28cb2dcc7f9701087effbb..ae3cf9c0b2c9ddc96c1a331bdfea3d99b8df9631 100644 (file)
@@ -1,5 +1,5 @@
 MVSMR BOARD
-M:     Andre Schwarz <andre.schwarz@matrix-vision.de>
+#M:    Andre Schwarz <andre.schwarz@matrix-vision.de>
 S:     Orphan (since 2014-03)
 F:     board/matrix_vision/mvsmr/
 F:     include/configs/MVSMR.h
index 3d02bc64bf5681ad8a1940baf8763adea94c7550..a59a4987957a136516178c6ae053a1c560371f0a 100644 (file)
@@ -1,5 +1,5 @@
 MCC200 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/mcc200/
 F:     include/configs/mcc200.h
index 4b825d32856c7dff7a817fca0405522a754b50dc..cbaa585134a8760732e8685c9b60332c5c79d766 100644 (file)
@@ -1,5 +1,5 @@
 VCT BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/micronas/vct/
 F:     include/configs/vct.h
index 10a97cc4ebc5130f833843342153aab24d8a7c6b..2f8b5cb580b4647f276d14c98466d73de6cbbaa7 100644 (file)
@@ -1,5 +1,5 @@
 MOTIONPRO BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/motionpro/
 F:     include/configs/motionpro.h
index f7c1bd800bd76378507d5d236de05f517642cce6..19ad05d2740671734af2cdce9df46d273f65b822 100644 (file)
@@ -1,5 +1,5 @@
 PATI BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/mpl/pati/
 F:     include/configs/PATI.h
index b8f57614bb9db80f6a534d922b27d784d0ca8ec4..50d3e7ebdaa28a534b6a05b3ea825133835a11b4 100644 (file)
@@ -1,5 +1,5 @@
 MUNICES BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/munices/
 F:     include/configs/munices.h
index 03a1fe7f040ddc9d1574b0298dcaebd26f203017..4196c805cb74093bfa1ffd1ee92ddaf7315bd940 100644 (file)
@@ -1,5 +1,5 @@
 MUSENKI BOARD
-M:     Jim Thompson <jim@musenki.com>
+#M:    Jim Thompson <jim@musenki.com>
 S:     Orphan (since 2014-04)
 F:     board/musenki/
 F:     include/configs/MUSENKI.h
index a809ba5a5c0cac1358f336525bef6b9e1058bacc..5955f1a387e09382e473127c3c58845e8d6b1eb0 100644 (file)
@@ -1,5 +1,5 @@
 MVBLUE BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/mvblue/
 F:     include/configs/MVBLUE.h
diff --git a/board/netvia/u-boot.lds b/board/netvia/u-boot.lds
deleted file mode 100644 (file)
index 0dff5a4..0000000
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * (C) Copyright 2000-2010
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * SPDX-License-Identifier:    GPL-2.0+
- */
-
-OUTPUT_ARCH(powerpc)
-
-SECTIONS
-{
-  /* Read-only sections, merged into text segment: */
-  . = + SIZEOF_HEADERS;
-  .text        :
-  {
-    arch/powerpc/cpu/mpc8xx/start.o    (.text*)
-    arch/powerpc/cpu/mpc8xx/traps.o    (.text*)
-
-    *(.text*)
-  }
-  _etext = .;
-  PROVIDE (etext = .);
-  .rodata    :
-  {
-    *(SORT_BY_ALIGNMENT(SORT_BY_NAME(.rodata*)))
-  }
-
-  /* Read-write section, merged into data segment: */
-  . = (. + 0x00FF) & 0xFFFFFF00;
-  _erotext = .;
-  PROVIDE (erotext = .);
-  .reloc   :
-  {
-    _GOT2_TABLE_ = .;
-    KEEP(*(.got2))
-    KEEP(*(.got))
-    PROVIDE(_GLOBAL_OFFSET_TABLE_ = . + 4);
-    _FIXUP_TABLE_ = .;
-    KEEP(*(.fixup))
-  }
-  __got2_entries = ((_GLOBAL_OFFSET_TABLE_ - _GOT2_TABLE_) >> 2) - 1;
-  __fixup_entries = (. - _FIXUP_TABLE_)>>2;
-
-  .data    :
-  {
-    *(.data*)
-    *(.sdata*)
-  }
-  _edata  =  .;
-  PROVIDE (edata = .);
-
-  . = .;
-
-  . = ALIGN(4);
-  .u_boot_list : {
-       KEEP(*(SORT(.u_boot_list*)));
-  }
-
-
-  . = .;
-  __start___ex_table = .;
-  __ex_table : { *(__ex_table) }
-  __stop___ex_table = .;
-
-  . = ALIGN(256);
-  __init_begin = .;
-  .text.init : { *(.text.init) }
-  .data.init : { *(.data.init) }
-  . = ALIGN(256);
-  __init_end = .;
-
-  __bss_start = .;
-  .bss (NOLOAD)       :
-  {
-   *(.bss*)
-   *(.sbss*)
-   *(COMMON)
-   . = ALIGN(4);
-  }
-  __bss_end = . ;
-  PROVIDE (end = .);
-}
index bdc034ed7911e26f387be48cae7f61502215f10e..b0ff9d0283621fcec503f300f4d3581362e3b792 100644 (file)
@@ -1,5 +1,5 @@
 PALMTREO680 BOARD
-M:     Mike Dunn <mikedunn@newsguy.com>
+#M:    Mike Dunn <mikedunn@newsguy.com>
 S:     Orphan (since 2014-06)
 F:     board/palmtreo680/
 F:     include/configs/palmtreo680.h
index 6c5c2bb3646541ac2b97d506f6a2ea574858a057..8326cc78ccfa677262af05111aafbbb06eca6036 100644 (file)
@@ -1,5 +1,5 @@
 PB1X00 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/pb1x00/
 F:     include/configs/pb1x00.h
index 767a84da7a9631546a1750cae3435757409a0858..97c1ccc595b7bc908ee4ad7f79b8e16b8ae8bdcf 100644 (file)
@@ -1,5 +1,5 @@
 PM828 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/pm828/
 F:     include/configs/PM828.h
index 5b21aa70420490ef5d6db221cc01c0f2a2524534..a0c1f44e00ea62ff2d33bf6c49c0971c3f89db59 100644 (file)
@@ -1,5 +1,5 @@
 PPMC7XX BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/ppmc7xx/
 F:     include/configs/ppmc7xx.h
index 768d0921a76c53affc0ae35dc3fd228fa422a582..8b896af2c46c82ff8ecad24534a58665057dfa9c 100644 (file)
@@ -1,5 +1,5 @@
 PPMC8260 BOARD
-M:     Brad Kemp <Brad.Kemp@seranoa.com>
+#M:    Brad Kemp <Brad.Kemp@seranoa.com>
 S:     Orphan (since 2014-04)
 F:     board/ppmc8260/
 F:     include/configs/ppmc8260.h
index 079949a92af026e9bc22f3cd96f359d73a987840..334f9d8ee95ae52a6dedb1460ab786d00eceaada 100644 (file)
@@ -6,7 +6,7 @@ F:      include/configs/qemu-mips.h
 F:     configs/qemu_mips_defconfig
 
 QEMU_MIPSEL BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     configs/qemu_mipsel_defconfig
 F:     include/configs/qemu-mips64.h
index 9368b0525ecb0efdd712f14a96016842fc05038e..21ee5e2754839d9a49a8dbb635ca7d4d295d4114 100644 (file)
@@ -1,5 +1,5 @@
 MIGOR BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/renesas/MigoR/
 F:     include/configs/MigoR.h
index d3c77c3c14083f05c58dd68dd978ef52d7dc17a4..698fbdb1df6cfb12515e2834ef030a88d8f1199e 100644 (file)
@@ -1,5 +1,5 @@
 RSK7269 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/renesas/rsk7269/
 F:     include/configs/rsk7269.h
index 89106690020f6c7190de99bd3f9e0a98956e6a8c..9840477d7dd2a7ee06eaa017cc7aee69d9b9af9a 100644 (file)
@@ -1,5 +1,5 @@
 SH7752EVB BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/renesas/sh7752evb/
 F:     include/configs/sh7752evb.h
index 03e6c8cdc4e563757164b1d92b8b39359896613a..b6c85eedab75f2c449501f72a21bee66d61be4ac 100644 (file)
@@ -1,5 +1,5 @@
 SH7753EVB BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/renesas/sh7753evb/
 F:     include/configs/sh7753evb.h
index bbdd6d081281869be0721ae3c28945885d0af898..20aca678a672adb91c664b769b01c3e4036ad140 100644 (file)
@@ -1,5 +1,5 @@
 SH7757LCR BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/renesas/sh7757lcr/
 F:     include/configs/sh7757lcr.h
index 0d99de68d7508d0c4fc95f17addd9948663acfb0..17578e036a51d192d4eadc6a566ce1cece36b214 100644 (file)
@@ -1,5 +1,5 @@
 SH7785LCR BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/renesas/sh7785lcr/
 F:     include/configs/sh7785lcr.h
index c2c8ee30e75ceaf0c93de0c256400ce86c051b75..b76e462fd4e98536a403c3d4e8f7e0966bae030d 100644 (file)
@@ -1,5 +1,5 @@
 SACSNG BOARD
-M:     Jerry Van Baren <gerald.vanbaren@smiths-aerospace.com>
+#M:    Jerry Van Baren <gerald.vanbaren@smiths-aerospace.com>
 S:     Orphan (since 2014-06)
 F:     board/sacsng/
 F:     include/configs/sacsng.h
index 4c29ae7b5943440564dcc44dc48ffc384bedcac8..21510e85c08978422e22e2f781eda927ae3e6a8a 100644 (file)
@@ -1,5 +1,5 @@
 KAREF BOARD
-M:     Travis Sawyer <travis.sawyer@sandburst.com>
+#M:    Travis Sawyer <travis.sawyer@sandburst.com>
 S:     Orphan (since 2014-03)
 F:     board/sandburst/karef/
 F:     include/configs/KAREF.h
index f5734ba2188685a4f1d7bd5d6e4751a7506d70cb..71d18f9186bca738fa8659fb10f03028fe413e75 100644 (file)
@@ -1,5 +1,5 @@
 METROBOX BOARD
-M:     Travis Sawyer <travis.sawyer@sandburst.com>
+#M:    Travis Sawyer <travis.sawyer@sandburst.com>
 S:     Orphan (since 2014-03)
 F:     board/sandburst/metrobox/
 F:     include/configs/METROBOX.h
index f28c309e0dbcfb5066afb7321bf4149f449e8c0e..569cf42e10c2cc7764b5ec54afbc8d2a6fb2d94b 100644 (file)
@@ -6,7 +6,7 @@ F:      include/configs/Sandpoint8240.h
 F:     configs/Sandpoint8240_defconfig
 
 SANDPOINT8245 BOARD
-M:     Jim Thompson <jim@musenki.com>
+#M:    Jim Thompson <jim@musenki.com>
 S:     Orphan (since 2014-04)
 F:     include/configs/Sandpoint8245.h
 F:     configs/Sandpoint8245_defconfig
index dbb4451cebfdaa1f684a2a2b43eb12d3f3c80a8f..2abad25997c0aaebdf1c59145f3f5a1286e95af3 100644 (file)
@@ -1,5 +1,5 @@
 SBC405 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/sbc405/
 F:     include/configs/sbc405.h
index fc3e11dff0c5da15bb16c2071acc2327dd92d4de..293b8e6d018b0866ecc510c9d19829935353c2e3 100644 (file)
@@ -1,5 +1,5 @@
 SOCRATES BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/socrates/
 F:     include/configs/socrates.h
index 15164fe3a3d318ab34a104ca837868ee67f16448..07152aefbab09347f206eafa578f52269ba984ad 100644 (file)
@@ -6,7 +6,7 @@ F:      include/configs/spear3xx_evb.h
 F:     configs/spear300_defconfig
 
 SPEAR300_NAND BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     configs/spear300_nand_defconfig
 F:     configs/spear300_usbtty_defconfig
index 3a7e610cb580fecdee6e7f95da88bcfc13bd33f6..4f9aa15b83b8f4719af7cbdc80a0d961ed934d9a 100644 (file)
@@ -6,7 +6,7 @@ F:      include/configs/spear3xx_evb.h
 F:     configs/spear310_defconfig
 
 SPEAR310_NAND BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     configs/spear310_nand_defconfig
 F:     configs/spear310_pnor_defconfig
index 414becacc1844f58e53fe7cf3e7b4e10f7ff8057..bf7809230f78109460427e02e83247bcf4e512f8 100644 (file)
@@ -6,7 +6,7 @@ F:      include/configs/spear3xx_evb.h
 F:     configs/spear320_defconfig
 
 SPEAR320_NAND BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     configs/spear320_nand_defconfig
 F:     configs/spear320_pnor_defconfig
index a978fdd9f742793439cbd963f482948174381326..ddcd11a873cdec51ebe6de642ce40d6d53fb629b 100644 (file)
@@ -6,7 +6,7 @@ F:      include/configs/spear6xx_evb.h
 F:     configs/spear600_defconfig
 
 SPEAR600_NAND BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     configs/spear600_nand_defconfig
 F:     configs/spear600_usbtty_defconfig
index 54e7921ae19d457e416b3ee09b6a839c50194529..e2581eb2e4b1f6b20c40e7086fb314731804c04a 100644 (file)
@@ -1,5 +1,5 @@
 U8500 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/st-ericsson/u8500/
 F:     include/configs/u8500_href.h
index 6f485d465de57d4c0f9fec97b37a0eb54e18c4cd..bd5743c7de1d6950f86ebb336dd4ff934e002a9c 100644 (file)
@@ -1,5 +1,5 @@
 STXGP3 BOARD
-M:     Dan Malek <dan@embeddedalley.com>
+#M:    Dan Malek <dan@embeddedalley.com>
 S:     Orphan (since 2014-06)
 F:     board/stx/stxgp3/
 F:     include/configs/stxgp3.h
index f56adf0cf5bdd66e8dae17ff326675bb8bebc39f..b7cc89bf73414ea35594c40bdcb4303bde24b177 100644 (file)
@@ -1,5 +1,5 @@
 STXSSA BOARD
-M:     Dan Malek <dan@embeddedalley.com>
+#M:    Dan Malek <dan@embeddedalley.com>
 S:     Orphan (since 2014-06)
 F:     board/stx/stxssa/
 F:     include/configs/stxssa.h
index f649b061552294aa48593ec00a5bb10663989a92..169012269f7d2d054a5827661c7562df3e0975a7 100644 (file)
@@ -1,5 +1,5 @@
 TCM-BF518 BOARD
-M:     Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+#M:    Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
 S:     Orphan (since 2014-03)
 F:     board/tcm-bf518/
 F:     include/configs/tcm-bf518.h
index 9ee557da456f27362613900d1bfd4309d32d174f..1cd48451df17a96477717ce4262ffe1e078b7a43 100644 (file)
@@ -1,5 +1,5 @@
 TCM-BF537 BOARD
-M:     Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
+#M:    Bluetechnix Tinyboards <bluetechnix@blackfin.uclinux.org>
 S:     Orphan (since 2014-03)
 F:     board/tcm-bf537/
 F:     include/configs/tcm-bf537.h
index b2ebadcb40591a7c5a63a7d36e19663add17ffe5..d0b27882bc2197c4b0539a867287d68ca8b88a8f 100644 (file)
@@ -6,7 +6,7 @@ F:      include/configs/omap3_evm.h
 F:     configs/omap3_evm_defconfig
 
 OMAP3_EVM_QUICK_MMC BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     include/configs/omap3_evm_quick_mmc.h
 F:     configs/omap3_evm_quick_mmc_defconfig
index 8bf612290820b6499f0b2b0d5be8060a6ce371a5..d3de144bc2152d57afdc5a53f81f77d603cfcb4d 100644 (file)
@@ -1,5 +1,5 @@
 TI816X BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/ti/ti816x/
 F:     include/configs/ti816x_evm.h
index 76ccfdc1e1b74c3911ec7b7ddafe03aa2f71ab55..8a92c6bf87462f875a8e7c6db60714290ed0c9ed 100644 (file)
@@ -1,5 +1,5 @@
 TNETV107XEVM BOARD
-M:     Chan-Taek Park <c-park@ti.com>
+#M:    Chan-Taek Park <c-park@ti.com>
 S:     Orphan (since 2014-06)
 F:     board/ti/tnetv107xevm/
 F:     include/configs/tnetv107x_evm.h
index 983b96d12c3485ddb4d3d51f898a3782c4a2ffe1..afb0058d087b16d04895d4bd3a8441cba22508dd 100644 (file)
@@ -1,5 +1,5 @@
 TOTAL5200 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/total5200/
 F:     include/configs/Total5200.h
index 581ef954532ea9a4721a84feeb754cef5067ea12..d3eb543140a9347e5c624c4273034988e2b2223a 100644 (file)
@@ -1,5 +1,5 @@
 TQM5200 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/tqc/tqm5200/
 F:     include/configs/aev.h
index a660de19bc5d2c1252a6bfae39a5a09fddc955d0..988d2b189bc15031654ee87123ca08b88cadfa4e 100644 (file)
@@ -1,5 +1,5 @@
 TQM8272 BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/tqc/tqm8272/
 F:     include/configs/TQM8272.h
index 10c14f3e0b699fb393f54fd170ddb4573e6f4873..543ab1b5528359d2b98c32aae0d72ad0e126fcac 100644 (file)
@@ -1,5 +1,5 @@
 TQM834X BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/tqc/tqm834x/
 F:     include/configs/TQM834x.h
index 161fa68e5b62e0badd939c3e4b8859555045f803..fe4a21202925c422311fa45c0c6e9e7f3e87fed3 100644 (file)
@@ -39,7 +39,7 @@ F:    configs/virtlab2_defconfig
 F:     configs/wtk_defconfig
 
 NSCU BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     include/configs/NSCU.h
 F:     configs/NSCU_defconfig
index b4d3994158da0d6417e211273ad62ce3cea1c5b9..b5249e74a779a3a1b1f16a9be3a5c9a9c5c32521 100644 (file)
@@ -144,6 +144,11 @@ static void setup_uart(void)
 }
 
 #ifdef CONFIG_MXC_SPI
+int board_spi_cs_gpio(unsigned bus, unsigned cs)
+{
+       return (bus == 0 && cs == 1) ? 121 : -1;
+}
+
 void spi_io_init(void)
 {
        static const iomux_v3_cfg_t spi_pads[] = {
index 1b12d0bdad85a6c2f1864cecbca78815660cf66a..d1a6ae6b2f72b51b13ad27cabf863319234f1f3a 100644 (file)
@@ -1,5 +1,5 @@
 V38B BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/v38b/
 F:     include/configs/v38b.h
index 715f2caa116c30e32a04842bdacd58a584db57a1..4fbf6bb88b0d80fc1fb2026966b183fcbc38c7c5 100644 (file)
@@ -6,7 +6,7 @@ F:      include/configs/woodburn.h
 F:     configs/woodburn_defconfig
 
 WOODBURN_SD BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     include/configs/woodburn_sd.h
 F:     configs/woodburn_sd_defconfig
index f2fa4bf905092b2619d6c826dbdc6674a718ce8b..44bb5883f20a40e2e22867d36a85250632da4acd 100644 (file)
@@ -1,5 +1,5 @@
 XAENIAX BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/xaeniax/
 F:     include/configs/xaeniax.h
index c74fdf48740158545601e01bcb3263dcf64b875b..035cb1499add040467435ce63e4ffaeb777f56d4 100644 (file)
@@ -1,5 +1,5 @@
 XPEDITE517X BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/xes/xpedite517x/
 F:     include/configs/xpedite517x.h
index 7f9bf9ae76cf34338bf0958a598e5d2ae9f21c8f..2fd4ac072d54ae50aab55814f0941979da452c3d 100644 (file)
@@ -1,5 +1,5 @@
 XPEDITE520X BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/xes/xpedite520x/
 F:     include/configs/xpedite520x.h
index a13dcf196cf5c14198c2dbd4b1d07e3a99d0030a..45a420d11ab6da5bf6952cb76526c367fe0899e4 100644 (file)
@@ -1,5 +1,5 @@
 XPEDITE537X BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/xes/xpedite537x/
 F:     include/configs/xpedite537x.h
index 12d321eddd8624a5d954841c891a00a8a89423f3..b22f0e61738cb0dbc3528f8a3ca87efc9670e2bb 100644 (file)
@@ -1,5 +1,5 @@
 XPEDITE550X BOARD
-M:     -
+#M:    -
 S:     Maintained
 F:     board/xes/xpedite550x/
 F:     include/configs/xpedite550x.h
diff --git a/common/Kconfig b/common/Kconfig
new file mode 100644 (file)
index 0000000..216a8de
--- /dev/null
@@ -0,0 +1,34 @@
+menu "Command line interface"
+       depends on !SPL_BUILD
+
+config CMD_BOOTM
+       bool "Enable bootm command"
+       default y
+       help
+         Boot an application image from the memory.
+
+config CMD_CRC32
+       bool "Enable crc32 command"
+       default y
+       help
+         Compute CRC32.
+
+config CMD_EXPORTENV
+       bool "Enable env export command"
+       default y
+       help
+         Export environments.
+
+config CMD_IMPORTENV
+       bool "Enable env import command"
+       default y
+       help
+         Import environments.
+
+config CMD_GO
+       bool "Enable go command"
+       default y
+       help
+         Start an application at a given address.
+
+endmenu
index aca0f7faf9ab49814e1c56cffba7707f12e9c84c..b19d3793b467b0e8d88ffb6ae287a1ebf1b9a833 100644 (file)
@@ -243,13 +243,8 @@ obj-y += cmd_nvedit.o
 #environment
 obj-y += env_common.o
 #others
-ifdef CONFIG_DDR_SPD
-SPD := y
-endif
-ifdef CONFIG_SPD_EEPROM
-SPD := y
-endif
-obj-$(SPD) += ddr_spd.o
+obj-$(CONFIG_DDR_SPD) += ddr_spd.o
+obj-$(CONFIG_SPD_EEPROM) += ddr_spd.o
 obj-$(CONFIG_HWCONFIG) += hwconfig.o
 obj-$(CONFIG_BOUNCE_BUFFER) += bouncebuf.o
 obj-y += console.o
@@ -264,4 +259,10 @@ obj-$(CONFIG_IO_TRACE) += iotrace.o
 obj-y += memsize.o
 obj-y += stdio.o
 
+# This option is not just y/n - it can have a numeric value
+ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
+obj-y += aboot.o
+obj-y += fb_mmc.o
+endif
+
 CFLAGS_env_embedded.o := -Wa,--no-warn -DENV_CRC=$(shell tools/envcrc 2>/dev/null)
index 83fa7bdded5986a8488c588e883ba2b6a07f2ac9..909616dcb7f3744f6fb5106f519b39b9564bfb04 100644 (file)
@@ -30,7 +30,8 @@ static int do_fastboot(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
 }
 
 U_BOOT_CMD(
-       fastboot,       1,      1,      do_fastboot,
-       "fastboot - enter USB Fastboot protocol",
-       ""
+       fastboot,       1,      0,      do_fastboot,
+       "use USB Fastboot protocol",
+       "\n"
+       "    - run as a fastboot usb device"
 );
index f9ced9d74cb0a5ff207c25d470eb6a45655688b2..7f962dcb25a080f892fde9d6b79934d9f428f6fd 100644 (file)
@@ -647,8 +647,6 @@ static int do_nand(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
                read = strncmp(cmd, "read", 4) == 0; /* 1 = read, 0 = write */
                printf("\nNAND %s: ", read ? "read" : "write");
 
-               nand = &nand_info[dev];
-
                s = strchr(cmd, '.');
 
                if (s && !strcmp(s, ".raw")) {
@@ -657,6 +655,8 @@ static int do_nand(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
                        if (arg_off(argv[3], &dev, &off, &size, &maxsize))
                                return 1;
 
+                       nand = &nand_info[dev];
+
                        if (argc > 4 && !str2long(argv[4], &pagecount)) {
                                printf("'%s' is not a number\n", argv[4]);
                                return 1;
@@ -679,6 +679,8 @@ static int do_nand(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
                        rwsize = size;
                }
 
+               nand = &nand_info[dev];
+
                if (!s || !strcmp(s, ".jffs2") ||
                    !strcmp(s, ".e") || !strcmp(s, ".i")) {
                        if (read)
index b4ceb71466389ab76120774170cfa7f1ac2ca10f..c60e8d10df6e1ad244a154a795bff79a4d51c8df 100644 (file)
 
 #include <asm/io.h>
 
-#ifndef CONFIG_SF_DEFAULT_SPEED
-# define CONFIG_SF_DEFAULT_SPEED       1000000
-#endif
-#ifndef CONFIG_SF_DEFAULT_MODE
-# define CONFIG_SF_DEFAULT_MODE                SPI_MODE_3
-#endif
-#ifndef CONFIG_SF_DEFAULT_CS
-# define CONFIG_SF_DEFAULT_CS          0
-#endif
-#ifndef CONFIG_SF_DEFAULT_BUS
-# define CONFIG_SF_DEFAULT_BUS         0
-#endif
-
 static struct spi_flash *flash;
 
 
index 898da3935ef21c101b674174f80fb21c622942d0..5a2f411600280acd5ba435762083f8394da61377 100644 (file)
@@ -524,6 +524,7 @@ static int ctrlc_disabled = 0;      /* see disable_ctrl() */
 static int ctrlc_was_pressed = 0;
 int ctrlc(void)
 {
+#ifndef CONFIG_SANDBOX
        if (!ctrlc_disabled && gd->have_console) {
                if (tstc()) {
                        switch (getc()) {
@@ -535,6 +536,8 @@ int ctrlc(void)
                        }
                }
        }
+#endif
+
        return 0;
 }
 /* Reads user's confirmation.
diff --git a/common/fb_mmc.c b/common/fb_mmc.c
new file mode 100644 (file)
index 0000000..fb06d8a
--- /dev/null
@@ -0,0 +1,92 @@
+/*
+ * Copyright 2014 Broadcom Corporation.
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <common.h>
+#include <fb_mmc.h>
+#include <part.h>
+#include <aboot.h>
+#include <sparse_format.h>
+
+/* The 64 defined bytes plus the '\0' */
+#define RESPONSE_LEN   (64 + 1)
+
+static char *response_str;
+
+void fastboot_fail(const char *s)
+{
+       strncpy(response_str, "FAIL", 4);
+       strncat(response_str, s, RESPONSE_LEN - 4 - 1);
+}
+
+void fastboot_okay(const char *s)
+{
+       strncpy(response_str, "OKAY", 4);
+       strncat(response_str, s, RESPONSE_LEN - 4 - 1);
+}
+
+static void write_raw_image(block_dev_desc_t *dev_desc, disk_partition_t *info,
+               const char *part_name, void *buffer,
+               unsigned int download_bytes)
+{
+       lbaint_t blkcnt;
+       lbaint_t blks;
+
+       /* determine number of blocks to write */
+       blkcnt = ((download_bytes + (info->blksz - 1)) & ~(info->blksz - 1));
+       blkcnt = blkcnt / info->blksz;
+
+       if (blkcnt > info->size) {
+               error("too large for partition: '%s'\n", part_name);
+               fastboot_fail("too large for partition");
+               return;
+       }
+
+       puts("Flashing Raw Image\n");
+
+       blks = dev_desc->block_write(dev_desc->dev, info->start, blkcnt,
+                                    buffer);
+       if (blks != blkcnt) {
+               error("failed writing to device %d\n", dev_desc->dev);
+               fastboot_fail("failed writing to device");
+               return;
+       }
+
+       printf("........ wrote " LBAFU " bytes to '%s'\n", blkcnt * info->blksz,
+              part_name);
+       fastboot_okay("");
+}
+
+void fb_mmc_flash_write(const char *cmd, void *download_buffer,
+                       unsigned int download_bytes, char *response)
+{
+       int ret;
+       block_dev_desc_t *dev_desc;
+       disk_partition_t info;
+
+       /* initialize the response buffer */
+       response_str = response;
+
+       dev_desc = get_dev("mmc", CONFIG_FASTBOOT_FLASH_MMC_DEV);
+       if (!dev_desc || dev_desc->type == DEV_TYPE_UNKNOWN) {
+               error("invalid mmc device\n");
+               fastboot_fail("invalid mmc device");
+               return;
+       }
+
+       ret = get_partition_info_efi_by_name(dev_desc, cmd, &info);
+       if (ret) {
+               error("cannot find partition: '%s'\n", cmd);
+               fastboot_fail("cannot find partition");
+               return;
+       }
+
+       if (is_sparse_image(download_buffer))
+               write_sparse_image(dev_desc, &info, cmd, download_buffer,
+                                  download_bytes);
+       else
+               write_raw_image(dev_desc, &info, cmd, download_buffer,
+                               download_bytes);
+}
index b4bf6f95d33735b9caeaabccbe479638731a5b09..2157537c823056729fef0aae65cffabfe1588b15 100644 (file)
--- a/config.mk
+++ b/config.mk
@@ -53,6 +53,10 @@ ifdef        BOARD
 sinclude $(srctree)/board/$(BOARDDIR)/config.mk        # include board specific rules
 endif
 
+ifdef FTRACE
+PLATFORM_CPPFLAGS += -finstrument-functions -DFTRACE
+endif
+
 #########################################################################
 
 RELFLAGS := $(PLATFORM_RELFLAGS)
index 00317c44dcec961b58fdb16ea1f6e4cda414ca04..e25714366be5a5b2a7186a97ef640a05e047c0f8 100644 (file)
@@ -2,3 +2,5 @@ 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
+CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="am335x-boneblack"
index 7ea5c0da2cc01ac1959550ed258aeb7912207a02..fc305081700cd8ad0d1b7b9739cc7a904db04bd7 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_ARCH_EXYNOS=y
 +S:CONFIG_TARGET_ARNDALE=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos5250-arndale"
index 367630647e7b5b18219b417f6302287fba5438d4..26b145d30a1247153c2432685ae8ae27d1014c4c 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_BCT_BRETTL2=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index 7c9d94bbccf1768bd707757f4eed7eab9fe82b8a..ab615a83d76f51b4e2644f615fc133e7a6ea1457 100644 (file)
@@ -2,3 +2,4 @@
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA30=y
 +S:CONFIG_TARGET_BEAVER=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra30-beaver"
index f81f412f565f39abf4a06723b73218748381cdb7..f164e06b54dd6abba955eef9c0c148894ab84da2 100644 (file)
@@ -1,2 +1,5 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF506F_EZKIT=y
+# CONFIG_CMD_BOOTM is not set
+# CONFIG_CMD_EXPORTENV is not set
+# CONFIG_CMD_IMPORTENV is not set
index a93eed0882285538542b90167893f0ad5f5a4f93..fb35ad023dbba91dbd1ccbf8bb3c4ff5248313fe 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF518F_EZBRD=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index 4a452235ac3827f5a0cfebf19dcdad8a663cedeb..da06d3ad6eea05f0a07955036ca858886290f65b 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF526_EZBRD=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index d9db715f146efc2b3f24faf5c1c34384b3a0fef5..47f53c9d8169cca82a020dee58f75b7c6dad59e9 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF527_AD7160_EVAL=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index aedbb9649a68e1d205f6d428f856dab508d6117c..e250e10354b6ee3977dfbdb48e4f742f7e64eaea 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_SYS_EXTRA_OPTIONS="BF527_EZKIT_REV_2_1"
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF527_EZKIT=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index 3ed77a66b0736ecdbb7c3eb6b5c952515561281a..69f6ef781b9cbabe6ffeaeba8193caa6285eb050 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF527_EZKIT=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index 0f8c28c339ea2b555141febf58ea031b99b53d8b..57f47e9fc8ec342b12d6e7713df7d8a1d649b01e 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF527_SDP=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index 217d4c30a01a3f700fc8b2369aca5583ca1bd5f2..57f8da14758caa40e47779cea8d276cfc54cafc0 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF533_EZKIT=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index a99b3c75ff46745c87a019a5efc3aec8de4f5596..1bcf3d319aedda099bf0a213f0e472697ff412b2 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF533_STAMP=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index d9daf7e309ef5f44e02f6d2d51d67da98632be7c..9b9a92f13fa79591f6f14e8a489ae8969900d8cf 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF537_STAMP=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index 0507cb2b912702d91e52b9eb0151e3d53b5cd008..1892151db0c2b37a65a4fcb6fe0df37755dea1a9 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF538F_EZKIT=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index 7bb4064ad7ead5b718c7059256b39b00dd5b0db1..52369849aad0ea4ae3a41d0e3101b64020a78158 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF548_EZKIT=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index ba8a418928d16d8093de91e7b9c23982af041ecd..098f31fb55982b4d78c485e348fd4a272c169e3d 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF561_ACVILON=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index 7ceb1d9f4a8529b7323623f8fb7e4ee383ad0131..5665288316259495008f3d54d447ad18b0dd6650 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_BF561_EZKIT=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index 9d91933218088a24ed22ab91a0c8e8941e51fc10..5655d54b0419b3f391c35189ef398dce4d44c8c2 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_BR4=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index bb042b4648602a778f12930112eec95d4a4e298c..4466e98ac83c590b15fc5d273d831e880f7d9315 100644 (file)
@@ -2,3 +2,4 @@
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA30=y
 +S:CONFIG_TARGET_CARDHU=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra30-cardhu"
index cb5110c7b1fd4a8381ebf3d152d8ea2a1230a9f9..a6830b54fd396b019dd884bdb200d147d379caea 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_CM_BF527=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index aa38d0ed69185f3905dd5b7361b9116df59211bb..b9508ae2975747a8ee7b090f4dd20cd82cb17fff 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_CM_BF533=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index b9deaae3bfdef402b9caad21726f97fe642a2188..a44eab7f0da6b1e82b53b2e7f7e2d08a0b61a841 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_CM_BF537E=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index 16f7ae17a2a2afa580cb3064e1a8332823701e23..29c33b95144aa403569afd40a50075478e13559a 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_CM_BF537U=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index e60306a1eaa3a03236fe8135c2ccfce59406cf6d..525f2e7f373d2305b8e3dd491cc4bafc53ce7412 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_CM_BF548=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index 1b9301cb9ecfcf7b1997910a7709b3f93036c647..062bfeb6dc6844e1fe8b3673c9f76e993c5daebf 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_CM_BF561=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index b2a21e186ad57cba4813f15f5cec3838398cd038..b76f78bba5843c591a0d5b604c9740af97b38215 100644 (file)
@@ -2,3 +2,4 @@
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_COLIBRI_T20_IRIS=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-colibri_t20_iris"
index abb41f3f2286478c77aafbdff1d5afbd7b529c22..b955303070c74b9710925b629cd34caa1ea08e39 100644 (file)
@@ -2,3 +2,4 @@
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA30=y
 +S:CONFIG_TARGET_COLIBRI_T30=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra30-colibri"
index be1a3711442f4aef9ac007483d5728f237766560..c8695abfecaa55cb697e57e708e08c35ad3f672a 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_SYS_EXTRA_OPTIONS="TRAILBLAZER,SPIFLASH,DEVELOP"
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_CONTROLCENTERD=y
+# CONFIG_CMD_BOOTM is not set
index ab548a6fec1f38593c96fd41a2ce5eaee958b69f..730b96e55104b9ccaaad5705fdfe9ebfaee1bc9f 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_SYS_EXTRA_OPTIONS="TRAILBLAZER,SPIFLASH"
 CONFIG_PPC=y
 CONFIG_MPC85xx=y
 CONFIG_TARGET_CONTROLCENTERD=y
+# CONFIG_CMD_BOOTM is not set
index a06c527c8bd9eafb31f2d478010fc4648d91540d..6249db7cb0cb0909cfd3129b8592719d8f392473 100644 (file)
@@ -1,3 +1,5 @@
 CONFIG_SYS_EXTRA_OPTIONS="SYS_TEXT_BASE=0x01110000"
 CONFIG_X86=y
 CONFIG_TARGET_COREBOOT=y
+CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="link"
index 70677aac4129c001def988cbbadebc134b38b239..f704c75afae3c7070c3a2325b90eed7e89c1beff 100644 (file)
@@ -2,3 +2,4 @@
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA114=y
 +S:CONFIG_TARGET_DALMORE=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra114-dalmore"
index a52231b6557554dd8076e1ce5e977b5db293515b..d99b42955ade4b267dc3d383cf27f77cd0e364ad 100644 (file)
@@ -2,3 +2,4 @@
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_HARMONY=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-harmony"
index 4f9895aa770f8e8ce2699a148b0c190ce07fb981..ba737aedfbe46cd0e2d4db912de04858699cc1ff 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_IP04=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index 00eac92319e0c20ac6df65f1dbd1b2e3ce77517e..ef1d41c20ba73f4f6807fedd0682d208a7425e0c 100644 (file)
@@ -2,3 +2,4 @@
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA124=y
 +S:CONFIG_TARGET_JETSON_TK1=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra124-jetson-tk1"
index 5082ff750b339e353ce2d6123ca8d5b1236b80c9..106a24f199bfc4202f3c477e1e8361abb8632077 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1"
 +S:CONFIG_ARM=y
 +S:CONFIG_TARGET_KWB=y
+# CONFIG_CMD_CRC32 is not set
index e9a39309104d5533bee6f70ee1550ace4fcb9c33..35963e9302fd545c5d44de7ec5a0179e20d64a7c 100644 (file)
@@ -2,3 +2,4 @@
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_MEDCOM_WIDE=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-medcom-wide"
index 7f2378678139b645efe81e8c98009680d4b48ce5..5cfd596761b556289ba31850c38cb2b8d3f8f85d 100644 (file)
@@ -1,3 +1,6 @@
 CONFIG_SPL=y
 +S:CONFIG_MICROBLAZE=y
 +S:CONFIG_TARGET_MICROBLAZE_GENERIC=y
+CONFIG_OF_CONTROL=y
+CONFIG_OF_EMBED=y
+CONFIG_DEFAULT_DEVICE_TREE="microblaze-generic"
index a1c7ac58b6c7123f261733bec0652115049fa34c..a8428373acfe8b000d528f982ccb252836b22ed2 100644 (file)
@@ -1,3 +1,5 @@
 CONFIG_ARM=y
 CONFIG_ARCH_EXYNOS=y
 CONFIG_TARGET_ODROID=y
+CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos4412-odroid"
index aa9238142a08b2712f00129a2329a0f945f17b32..2a7f83bf89d916c5a08540020757b8a1ded6d658 100644 (file)
@@ -2,3 +2,5 @@ CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_ARCH_EXYNOS=y
 +S:CONFIG_TARGET_ORIGEN=y
+CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos4210-origen"
index 05974eb10c8805601b4f1cfc84423dfc3b429a55..d2d36a5848cda5f7ba361ac804487eb1c05267ff 100644 (file)
@@ -2,3 +2,4 @@
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_PAZ00=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-paz00"
index 797d5e079005ece17c11cc54ddcee28a87655cf7..b944b3bb502701066c412639ec163c47d8f677f1 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_ARCH_EXYNOS=y
 +S:CONFIG_TARGET_PEACH_PIT=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos5420-peach-pit"
index 60e80ffa610b455f4259717145ec78906bbb7d86..d2743b8ef6771d385b1213b853feb82f56340ebb 100644 (file)
@@ -2,3 +2,4 @@
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_PLUTUX=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-plutux"
index a8784c11df30e80eef2c23f69404d2fa16c0d163..793a4e83768d5aa02bef07946613f5d5c9a8c5b0 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_PR1=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index a9a3446fe5496264073ab23a0280565c65279437..cdce39f89250610bb932b67abe23e956c805114c 100644 (file)
@@ -1,3 +1,5 @@
 CONFIG_ARM=y
 CONFIG_ARCH_EXYNOS=y
 CONFIG_TARGET_S5PC210_UNIVERSAL=y
+CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos4210-universal_c210"
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..47d8400acece08586f535fad3b51e3872b3ed161 100644 (file)
@@ -0,0 +1,3 @@
+CONFIG_OF_CONTROL=y
+CONFIG_OF_HOSTFILE=y
+CONFIG_DEFAULT_DEVICE_TREE="sandbox"
index 516e760dfaae1ab0b7853a08824645bcca8af48b..ddf2cd699538c3f825ccd9dc0dc8666c84ad8484 100644 (file)
@@ -2,3 +2,4 @@
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_SEABOARD=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-seaboard"
index 465a75a6e33f91cd964b8fbdf7302924bc63ae73..9b76d0d124fcf2df2627601db0716320939bcd5a 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_ARCH_EXYNOS=y
 +S:CONFIG_TARGET_SMDK5250=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos5250-smdk5250"
index 9dc43f27a63e1c2b2d05afc117946a43e838e792..8cf673d0934946a91f6d28356ae4b817d3e63518 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_ARCH_EXYNOS=y
 +S:CONFIG_TARGET_SMDK5420=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos5420-smdk5420"
index 2d59046f34906d939a33c9108776a5bf52e84ab5..14ed793f6d75f36e55fb882b10f4ea1b2d8782cc 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_ARCH_EXYNOS=y
 +S:CONFIG_TARGET_SNOW=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos5250-snow"
index a9d5da01fa731261f9c7ea2f17e7c660ffc33fad..0c9ae4d57e7917a55869dc997ff421804e8fcbf2 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_TCM_BF518=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index fe9de13f367cb5296ba2f49df6a5bdecf6068e22..6d604b6c9e4af2cec8f25ae9b61a2f2560afd089 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_BLACKFIN=y
 CONFIG_TARGET_TCM_BF537=y
+CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED=y
index e4a31cc05423a69570814a9442bb1e2d344962a1..fabd34a3f3ca34168ad675140b4350dfab133d19 100644 (file)
@@ -2,3 +2,4 @@
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA30=y
 +S:CONFIG_TARGET_TEC_NG=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra30-tec-ng"
index 62a9542d94c584d5e1711d918a781b1fef1dce93..d3cafa7e4b0ce1450f166bea2b5fc0eb1795f150 100644 (file)
@@ -2,3 +2,4 @@
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_TEC=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-tec"
index fa827241029a1983e939129867c143f9f7a85f6e..1b98b739daf08dc71ee2184da2b22dc4c3ce9320 100644 (file)
@@ -1,3 +1,5 @@
 CONFIG_ARM=y
 CONFIG_ARCH_EXYNOS=y
 CONFIG_TARGET_TRATS2=y
+CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos4412-trats2"
index f888a514c19c036f150c63c7067373a1b19c830a..901a01473480c97dfb0b3bfaec83d0d57cb213df 100644 (file)
@@ -1,3 +1,5 @@
 CONFIG_ARM=y
 CONFIG_ARCH_EXYNOS=y
 CONFIG_TARGET_TRATS=y
+CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="exynos4210-trats"
index 94f23e3ea4d98ad0142f6610b716744c7baeb3c8..0b2a6d029203e5a523803a1652e58ee5405b3779 100644 (file)
@@ -2,3 +2,4 @@
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_TRIMSLICE=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-trimslice"
index ea70705a539d9b03b983d8f00bc773c30d946b9b..6eda869fbeb8051241dcaecec09ecf2302f96bb3 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,EMMC_BOOT"
 +S:CONFIG_ARM=y
 +S:CONFIG_TARGET_TSERIES=y
+# CONFIG_CMD_CRC32 is not set
index 599d52c2ecb5bf4e27982c2c4477b64ad9725e8b..bd06d83efda47e89552b24677da22521e9653174 100644 (file)
@@ -2,3 +2,4 @@ CONFIG_SPL=y
 CONFIG_SYS_EXTRA_OPTIONS="SERIAL1,CONS_INDEX=1,NAND"
 +S:CONFIG_ARM=y
 +S:CONFIG_TARGET_TSERIES=y
+# CONFIG_CMD_CRC32 is not set
index 7e5702080ee352101c73006eeb940c23700b6368..32ccc4e0071eea676d14a2d1637ff4c2dc0b82b8 100644 (file)
@@ -2,3 +2,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
+# CONFIG_CMD_CRC32 is not set
index f7b3a916e60cee38b803c7cbf2176aec82f800a2..58c79955abf9d6de359e681a2c5b08d57fb9368e 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUM,VCT_ONENAND,VCT_SMALL_IMAGE"
 CONFIG_MIPS=y
 CONFIG_TARGET_VCT=y
+# CONFIG_CMD_CRC32 is not set
index 15eef483deb4b33a2859fe76df9cbb7088f84e36..f4f56c4f4cb03ce9352d9a902e11d513cce498a8 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUM,VCT_SMALL_IMAGE"
 CONFIG_MIPS=y
 CONFIG_TARGET_VCT=y
+# CONFIG_CMD_CRC32 is not set
index e0e8e445a3d4d1f6f27a0a53394470411f371724..31b4c9a8d616fa80a30c64b8b156b3fc7d5b5674 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUMAVC,VCT_ONENAND,VCT_SMALL_IMAGE"
 CONFIG_MIPS=y
 CONFIG_TARGET_VCT=y
+# CONFIG_CMD_CRC32 is not set
index d8209d1e1a985b2a287568196c0eccab57864018..23f6561b34ea846b18a9bf4a713075ae23804006 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_SYS_EXTRA_OPTIONS="VCT_PLATINUMAVC,VCT_SMALL_IMAGE"
 CONFIG_MIPS=y
 CONFIG_TARGET_VCT=y
+# CONFIG_CMD_CRC32 is not set
index 220f87586c816dca3f8b9baf5fc775c8c535487c..354793edc858e089721cb27bf24818e99fbd95f6 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_SYS_EXTRA_OPTIONS="VCT_PREMIUM,VCT_ONENAND,VCT_SMALL_IMAGE"
 CONFIG_MIPS=y
 CONFIG_TARGET_VCT=y
+# CONFIG_CMD_CRC32 is not set
index 5335472e5e134f2e128b33e4cbb04aadf0096a0c..a23ddb7e21351b5f718d2501679fa9a753e9ce1a 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_SYS_EXTRA_OPTIONS="VCT_PREMIUM,VCT_SMALL_IMAGE"
 CONFIG_MIPS=y
 CONFIG_TARGET_VCT=y
+# CONFIG_CMD_CRC32 is not set
index dfc54078ed29af0ffee62786d19dcb3d54df3531..c12dae933fd97422f939dc48e21f42cda3fee715 100644 (file)
@@ -2,3 +2,4 @@
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA124=y
 +S:CONFIG_TARGET_VENICE2=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra124-venice2"
index 845e24173c0c53e1f82641d375cd33c4df326d79..f62ab6b17ac116be9ca19dc1631486919a974dda 100644 (file)
@@ -2,3 +2,4 @@
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_VENTANA=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-ventana"
index 9e0a1755a0cb9bc30c106ee483313990a3f1b495..b463a333bc6bb10cd84c040fad6ae38c98732a0f 100644 (file)
@@ -1,2 +1,3 @@
 CONFIG_ARM=y
 CONFIG_TARGET_VEXPRESS_AEMV8A=y
+CONFIG_DEFAULT_DEVICE_TREE="vexpress64"
index 8fdf4e0fabcb3ecdeb3da1509530cd22ca2c7082..0035ccdaecd4596e557c1d38b9deaf254053577f 100644 (file)
@@ -1,3 +1,4 @@
 CONFIG_SYS_EXTRA_OPTIONS="SEMIHOSTING,BASE_FVP"
 CONFIG_ARM=y
 CONFIG_TARGET_VEXPRESS_AEMV8A=y
+CONFIG_DEFAULT_DEVICE_TREE="vexpress64"
index 8c07c184a9cd84bd2f48d311ff8d58b14e8c381c..9553eb8664dd1c5249f2f990e91b97b42e0cd941 100644 (file)
@@ -2,3 +2,4 @@
 +S:CONFIG_TEGRA=y
 +S:CONFIG_TEGRA20=y
 +S:CONFIG_TARGET_WHISTLER=y
+CONFIG_DEFAULT_DEVICE_TREE="tegra20-whistler"
index 3aedb350f6b9fe4e960afdf87e44807fe2dc8394..9588849bb5c0f7c78694fc90a52fb46daed1286f 100644 (file)
@@ -2,3 +2,5 @@ CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_ZYNQ=y
 +S:CONFIG_TARGET_ZYNQ_MICROZED=y
+CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="zynq-microzed"
index 04c8defaef23203f2758b57fc480d8efddf154ab..cf507308e95d209540ad5442df87abdb01632549 100644 (file)
@@ -2,3 +2,5 @@ CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_ZYNQ=y
 +S:CONFIG_TARGET_ZYNQ_ZC70X=y
+CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="zynq-zc702"
index 1178b40bad426433d2ecc01911ab9c326f207246..8bb405d1808907756610f7ebd8ade97227615ec9 100644 (file)
@@ -3,3 +3,5 @@ CONFIG_SYS_EXTRA_OPTIONS="ZC770_XM010"
 +S:CONFIG_ARM=y
 +S:CONFIG_ZYNQ=y
 +S:CONFIG_TARGET_ZYNQ_ZC770=y
+CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="zynq-zc770-xm010"
index 52c21219d9c5f07cd9d6cbb5a2b37da97c62606f..0ba5da589e95db553b682393db5348fdcdf00ceb 100644 (file)
@@ -3,3 +3,5 @@ CONFIG_SYS_EXTRA_OPTIONS="ZC770_XM012"
 +S:CONFIG_ARM=y
 +S:CONFIG_ZYNQ=y
 +S:CONFIG_TARGET_ZYNQ_ZC770=y
+CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="zynq-zc770-xm012"
index 836809a17c07da19356997732eb72cfa70e2fd79..13f8112a1b627139c8fc980370759c8cd0d0f36a 100644 (file)
@@ -3,3 +3,5 @@ CONFIG_SYS_EXTRA_OPTIONS="ZC770_XM013"
 +S:CONFIG_ARM=y
 +S:CONFIG_ZYNQ=y
 +S:CONFIG_TARGET_ZYNQ_ZC770=y
+CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="zynq-zc770-xm013"
index 233790664ef9bef8f6ea5a35475bf3872a09f179..eb057fae35c738332163e8693997c8667376124a 100644 (file)
@@ -2,3 +2,5 @@ CONFIG_SPL=y
 +S:CONFIG_ARM=y
 +S:CONFIG_ZYNQ=y
 +S:CONFIG_TARGET_ZYNQ_ZED=y
+CONFIG_OF_CONTROL=y
+CONFIG_DEFAULT_DEVICE_TREE="zynq-zed"
index ecc5e7e0bfa0c9292cc83bc6d205f9374f47448b..cfd77b0ff567cbacd4f5a3e6223e2edeb28fbd69 100644 (file)
@@ -133,7 +133,7 @@ typedef lbaint_t lba512_t;
  * Overflowless variant of (block_count * mul_by / div_by)
  * when div_by > mul_by
  */
-static lba512_t lba512_muldiv (lba512_t block_count, lba512_t mul_by, lba512_t div_by)
+static lba512_t lba512_muldiv(lba512_t block_count, lba512_t mul_by, lba512_t div_by)
 {
        lba512_t bc_quot, bc_rem;
 
@@ -215,7 +215,8 @@ void dev_print (block_dev_desc_t *dev_desc)
 
                lba512 = (lba * (dev_desc->blksz/512));
                /* round to 1 digit */
-               mb = lba512_muldiv(lba512, 10, 2048);   /* 2048 = (1024 * 1024) / 512 MB */
+               /* 2048 = (1024 * 1024) / 512 MB */
+               mb = lba512_muldiv(lba512, 10, 2048);
 
                mb_quot = mb / 10;
                mb_rem  = mb - (10 * mb_quot);
@@ -248,7 +249,7 @@ void dev_print (block_dev_desc_t *dev_desc)
 
 #ifdef HAVE_BLOCK_DEVICE
 
-void init_part (block_dev_desc_t * dev_desc)
+void init_part(block_dev_desc_t *dev_desc)
 {
 #ifdef CONFIG_ISO_PARTITION
        if (test_part_iso(dev_desc) == 0) {
@@ -295,7 +296,7 @@ void init_part (block_dev_desc_t * dev_desc)
        defined(CONFIG_AMIGA_PARTITION) || \
        defined(CONFIG_EFI_PARTITION)
 
-static void print_part_header (const char *type, block_dev_desc_t * dev_desc)
+static void print_part_header(const char *type, block_dev_desc_t *dev_desc)
 {
        puts ("\nPartition Map for ");
        switch (dev_desc->if_type) {
index 404572729a722346795b65f62627a168c4e3f0aa..167760968ff56e5ede39c7395cc4cffbc9f01d7e 100644 (file)
@@ -6,8 +6,9 @@ Overview
 The protocol that is used over USB is described in
 README.android-fastboot-protocol in same directory.
 
-The current implementation does not yet support the flash and erase
-commands.
+The current implementation does not yet support the erase command or the
+"oem format" command, and there is minimal support for the flash command;
+it only supports eMMC devices.
 
 Client installation
 ===================
index 9ad689f071b2a992e7a16f059dc1bb2f4d1fe78c..52495d311677f79e5961acfa42aa8e7cd30f6a39 100644 (file)
@@ -34,21 +34,21 @@ make HOSTCC=clang CC="clang -target $TRIPLET -mllvm -arm-use-movt=0 -no-integrat
 FreeBSD 11 (Current):
 --------------------
 Since llvm 3.4 is currently in the base system, the integrated as is
-incapable of building U-Boot. Therefore gas from devel/arm-eabi-binutils
+incapable of building U-Boot. Therefore gas from devel/arm-gnueabi-binutils
 is used instead. It needs a symlinks to be picked up correctly though:
 
-ln -s /usr/local/bin/arm-eabi-as /usr/bin/arm-freebsd-eabi-as
+ln -s /usr/local/bin/arm-gnueabi-freebsd-as /usr/bin/arm-freebsd-eabi-as
 
 # The following commands compile U-Boot using the clang xdev toolchain.
 # NOTE: CROSS_COMPILE and target differ on purpose!
-export CROSS_COMPILE=arm-eabi-
+export CROSS_COMPILE=arm-gnueabi-freebsd-
 gmake CC="clang -target arm-freebsd-eabi --sysroot /usr/arm-freebsd -no-integrated-as -mllvm -arm-use-movt=0" rpi_b_defconfig
 gmake CC="clang -target arm-freebsd-eabi --sysroot /usr/arm-freebsd -no-integrated-as -mllvm -arm-use-movt=0" -j8
 
 Given that u-boot will default to gcc, above commands can be
 simplified with a simple wrapper script, listed below.
 
-/usr/local/bin/arm-eabi-gcc
+/usr/local/bin/arm-gnueabi-freebsd-gcc
 ---
 #!/bin/sh
 
index e29188f1ec0cd4dd97a38ddb4bb7ed85645f83fe..320d752952971a936e36b2cc654f630fa628aa07 100644 (file)
@@ -215,6 +215,12 @@ Configuration Options:
 
 Platform specific options
 =========================
+   CONFIG_NAND_DENALI
+       Enables the denali.c driver.
+
+   CONFIG_SYS_NAND_DENALI_64BIT
+       Indicates that the Denali NAND controller is the 64-bit variant.
+
    CONFIG_NAND_OMAP_GPMC
        Enables omap_gpmc.c driver for OMAPx and AMxxxx platforms.
        GPMC controller is used for parallel NAND flash devices, and can
diff --git a/drivers/Kconfig b/drivers/Kconfig
new file mode 100644 (file)
index 0000000..128736d
--- /dev/null
@@ -0,0 +1,51 @@
+menu "Device Drivers"
+
+source "drivers/core/Kconfig"
+
+source "drivers/pci/Kconfig"
+
+source "drivers/pcmcia/Kconfig"
+
+source "drivers/mtd/Kconfig"
+
+source "drivers/block/Kconfig"
+
+source "drivers/misc/Kconfig"
+
+source "drivers/net/Kconfig"
+
+source "drivers/input/Kconfig"
+
+source "drivers/serial/Kconfig"
+
+source "drivers/tpm/Kconfig"
+
+source "drivers/i2c/Kconfig"
+
+source "drivers/spi/Kconfig"
+
+source "drivers/gpio/Kconfig"
+
+source "drivers/power/Kconfig"
+
+source "drivers/hwmon/Kconfig"
+
+source "drivers/watchdog/Kconfig"
+
+source "drivers/video/Kconfig"
+
+source "drivers/sound/Kconfig"
+
+source "drivers/usb/Kconfig"
+
+source "drivers/dfu/Kconfig"
+
+source "drivers/mmc/Kconfig"
+
+source "drivers/rtc/Kconfig"
+
+source "drivers/dma/Kconfig"
+
+source "drivers/crypto/Kconfig"
+
+endmenu
index b22b109404ebef8506e8b8b8f064e8bd487768ad..d8361d95fd15ea8dab26b6e408cb8d4fb17d0eeb 100644 (file)
@@ -1,3 +1,5 @@
+obj-$(CONFIG_DM) += core/
+obj-$(CONFIG_DM_DEMO) += demo/
 obj-$(CONFIG_BIOSEMU) += bios_emulator/
 obj-y += block/
 obj-$(CONFIG_BOOTCOUNT_LIMIT) += bootcount/
@@ -16,3 +18,4 @@ obj-y += watchdog/
 obj-$(CONFIG_QE) += qe/
 obj-y += memory/
 obj-y += pwm/
+obj-y += input/
diff --git a/drivers/block/Kconfig b/drivers/block/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/drivers/core/Kconfig b/drivers/core/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
index 90b2a7f0684b7700ae7baf2f92c13622ba95edac..c7905b14409fcf4fe56653655960de8407c5348b 100644 (file)
@@ -4,4 +4,4 @@
 # SPDX-License-Identifier:     GPL-2.0+
 #
 
-obj-$(CONFIG_DM)       := device.o lists.o root.o uclass.o util.o
+obj-y := device.o lists.o root.o uclass.o util.o
diff --git a/drivers/crypto/Kconfig b/drivers/crypto/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
index baaa2baa4e663ab37091a4d27a26dd5c59d2928d..171ddf3678852fd8f5eb67c40ab9211dd2f55ab0 100644 (file)
@@ -4,6 +4,6 @@
 # SPDX-License-Identifier:     GPL-2.0+
 #
 
-obj-$(CONFIG_DM_DEMO) += demo-uclass.o demo-pdata.o
+obj-y += demo-uclass.o demo-pdata.o
 obj-$(CONFIG_DM_DEMO_SIMPLE) += demo-simple.o
 obj-$(CONFIG_DM_DEMO_SHAPE) += demo-shape.o
diff --git a/drivers/dfu/Kconfig b/drivers/dfu/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/drivers/dma/Kconfig b/drivers/dma/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
index 45e49c7faf50fdad2fe06e3d63e06b444d3ed333..7ef7f12b0aa606738bda48a8d937022d16539560 100644 (file)
@@ -96,7 +96,7 @@ int dmacpy(phys_addr_t dest, phys_addr_t src, phys_size_t count) {
        uint xfer_size;
 
        while (count) {
-               xfer_size = MIN(FSL_DMA_MAX_SIZE, count);
+               xfer_size = min(FSL_DMA_MAX_SIZE, count);
 
                out_dma32(&dma->dar, (u32) (dest & 0xFFFFFFFF));
                out_dma32(&dma->sar, (u32) (src & 0xFFFFFFFF));
diff --git a/drivers/gpio/Kconfig b/drivers/gpio/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/drivers/hwmon/Kconfig b/drivers/hwmon/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/drivers/i2c/Kconfig b/drivers/i2c/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
index fe66ce2a4ac510c53e469bbcb8e42686108d5027..19fbe596f4bdced2cb1f5aba65d68ba285704490 100644 (file)
@@ -84,7 +84,7 @@ static int ihs_i2c_address(uchar chip, uint addr, int alen, bool hold_bus)
        int shift = (alen-1) * 8;
 
        while (alen) {
-               int transfer = MIN(alen, 2);
+               int transfer = min(alen, 2);
                uchar buf[2];
                bool is_last = alen <= transfer;
 
@@ -113,7 +113,7 @@ static int ihs_i2c_access(struct i2c_adapter *adap, uchar chip, uint addr,
                return 1;
 
        while (len) {
-               int transfer = MIN(len, 2);
+               int transfer = min(len, 2);
 
                if (ihs_i2c_transfer(chip, buffer, transfer, read,
                                     len <= transfer))
diff --git a/drivers/input/Kconfig b/drivers/input/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/drivers/misc/Kconfig b/drivers/misc/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/drivers/mmc/Kconfig b/drivers/mmc/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
index 97d0389d9d6f8edbd18c8ea0bef6ce88bf362bcb..26406072482f202a8ca6e2fa6cd8a54c87fbea4c 100644 (file)
@@ -610,7 +610,7 @@ int fsl_esdhc_initialize(bd_t *bis, struct fsl_esdhc_cfg *cfg)
 #endif
 
        cfg->cfg.f_min = 400000;
-       cfg->cfg.f_max = MIN(gd->arch.sdhc_clk, 52000000);
+       cfg->cfg.f_max = min(gd->arch.sdhc_clk, 52000000);
 
        cfg->cfg.b_max = CONFIG_SYS_MMC_MAX_BLK_COUNT;
 
diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
index bf1312a373a7a559362081cbe63c719c297065fd..f298f8434a4d53acbbc59baae25012b1dcc9c7cc 100644 (file)
@@ -42,6 +42,7 @@ obj-$(CONFIG_NAND_ECC_BCH) += nand_bch.o
 obj-$(CONFIG_NAND_ATMEL) += atmel_nand.o
 obj-$(CONFIG_DRIVER_NAND_BFIN) += bfin_nand.o
 obj-$(CONFIG_NAND_DAVINCI) += davinci_nand.o
+obj-$(CONFIG_NAND_DENALI) += denali.o
 obj-$(CONFIG_NAND_FSL_ELBC) += fsl_elbc_nand.o
 obj-$(CONFIG_NAND_FSL_IFC) += fsl_ifc_nand.o
 obj-$(CONFIG_NAND_FSL_UPM) += fsl_upm.o
index ce65d8e12b12075714a18581570d4c86d0a4fcb6..bf8b2ee16a390afed94d0f19bba2f0edaaaca398 100644 (file)
@@ -64,14 +64,18 @@ static int nand_command(int block, int page, uint32_t offs,
                       NAND_CTRL_ALE | NAND_CTRL_CHANGE); /* A[7:0] */
        hwctrl(&nand_info[0], (offs >> 8) & 0xff, NAND_CTRL_ALE); /* A[11:9] */
        /* Row address */
-       hwctrl(&nand_info[0], (page_addr & 0xff), NAND_CTRL_ALE); /* A[19:12] */
-       hwctrl(&nand_info[0], ((page_addr >> 8) & 0xff),
+       if (cmd != NAND_CMD_RNDOUT) {
+               hwctrl(&nand_info[0], (page_addr & 0xff),
+                      NAND_CTRL_ALE); /* A[19:12] */
+               hwctrl(&nand_info[0], ((page_addr >> 8) & 0xff),
                       NAND_CTRL_ALE); /* A[27:20] */
 #ifdef CONFIG_SYS_NAND_5_ADDR_CYCLE
-       /* One more address cycle for devices > 128MiB */
-       hwctrl(&nand_info[0], (page_addr >> 16) & 0x0f,
+               /* One more address cycle for devices > 128MiB */
+               hwctrl(&nand_info[0], (page_addr >> 16) & 0x0f,
                       NAND_CTRL_ALE); /* A[31:28] */
 #endif
+       }
+
        hwctrl(&nand_info[0], NAND_CMD_NONE, NAND_NCE | NAND_CTRL_CHANGE);
 
        if (cmd == NAND_CMD_READ0) {
diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
new file mode 100644 (file)
index 0000000..ba3de1a
--- /dev/null
@@ -0,0 +1,1205 @@
+/*
+ * Copyright (C) 2014       Panasonic Corporation
+ * Copyright (C) 2013-2014, Altera Corporation <www.altera.com>
+ * Copyright (C) 2009-2010, Intel Corporation and its suppliers.
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <common.h>
+#include <malloc.h>
+#include <nand.h>
+#include <asm/errno.h>
+#include <asm/io.h>
+
+#include "denali.h"
+
+#define NAND_DEFAULT_TIMINGS   -1
+
+static int onfi_timing_mode = NAND_DEFAULT_TIMINGS;
+
+/* We define a macro here that combines all interrupts this driver uses into
+ * a single constant value, for convenience. */
+#define DENALI_IRQ_ALL (INTR_STATUS__DMA_CMD_COMP | \
+                       INTR_STATUS__ECC_TRANSACTION_DONE | \
+                       INTR_STATUS__ECC_ERR | \
+                       INTR_STATUS__PROGRAM_FAIL | \
+                       INTR_STATUS__LOAD_COMP | \
+                       INTR_STATUS__PROGRAM_COMP | \
+                       INTR_STATUS__TIME_OUT | \
+                       INTR_STATUS__ERASE_FAIL | \
+                       INTR_STATUS__RST_COMP | \
+                       INTR_STATUS__ERASE_COMP | \
+                       INTR_STATUS__ECC_UNCOR_ERR | \
+                       INTR_STATUS__INT_ACT | \
+                       INTR_STATUS__LOCKED_BLK)
+
+/* indicates whether or not the internal value for the flash bank is
+ * valid or not */
+#define CHIP_SELECT_INVALID    -1
+
+#define SUPPORT_8BITECC                1
+
+/*
+ * this macro allows us to convert from an MTD structure to our own
+ * device context (denali) structure.
+ */
+#define mtd_to_denali(m) (((struct nand_chip *)mtd->priv)->priv)
+
+/* These constants are defined by the driver to enable common driver
+ * configuration options. */
+#define SPARE_ACCESS           0x41
+#define MAIN_ACCESS            0x42
+#define MAIN_SPARE_ACCESS      0x43
+
+#define DENALI_UNLOCK_START    0x10
+#define DENALI_UNLOCK_END      0x11
+#define DENALI_LOCK            0x21
+#define DENALI_LOCK_TIGHT      0x31
+#define DENALI_BUFFER_LOAD     0x60
+#define DENALI_BUFFER_WRITE    0x62
+
+#define DENALI_READ    0
+#define DENALI_WRITE   0x100
+
+/* types of device accesses. We can issue commands and get status */
+#define COMMAND_CYCLE  0
+#define ADDR_CYCLE     1
+#define STATUS_CYCLE   2
+
+/* this is a helper macro that allows us to
+ * format the bank into the proper bits for the controller */
+#define BANK(x) ((x) << 24)
+
+/* Interrupts are cleared by writing a 1 to the appropriate status bit */
+static inline void clear_interrupt(struct denali_nand_info *denali,
+                                                       uint32_t irq_mask)
+{
+       uint32_t intr_status_reg;
+
+       intr_status_reg = INTR_STATUS(denali->flash_bank);
+
+       writel(irq_mask, denali->flash_reg + intr_status_reg);
+}
+
+static uint32_t read_interrupt_status(struct denali_nand_info *denali)
+{
+       uint32_t intr_status_reg;
+
+       intr_status_reg = INTR_STATUS(denali->flash_bank);
+
+       return readl(denali->flash_reg + intr_status_reg);
+}
+
+static void clear_interrupts(struct denali_nand_info *denali)
+{
+       uint32_t status;
+
+       status = read_interrupt_status(denali);
+       clear_interrupt(denali, status);
+
+       denali->irq_status = 0;
+}
+
+static void denali_irq_enable(struct denali_nand_info *denali,
+                                                       uint32_t int_mask)
+{
+       int i;
+
+       for (i = 0; i < denali->max_banks; ++i)
+               writel(int_mask, denali->flash_reg + INTR_EN(i));
+}
+
+static uint32_t wait_for_irq(struct denali_nand_info *denali, uint32_t irq_mask)
+{
+       unsigned long timeout = 1000000;
+       uint32_t intr_status;
+
+       do {
+               intr_status = read_interrupt_status(denali) & DENALI_IRQ_ALL;
+               if (intr_status & irq_mask) {
+                       denali->irq_status &= ~irq_mask;
+                       /* our interrupt was detected */
+                       break;
+               }
+               udelay(1);
+               timeout--;
+       } while (timeout != 0);
+
+       if (timeout == 0) {
+               /* timeout */
+               printf("Denali timeout with interrupt status %08x\n",
+                      read_interrupt_status(denali));
+               intr_status = 0;
+       }
+       return intr_status;
+}
+
+/*
+ * Certain operations for the denali NAND controller use an indexed mode to
+ * read/write data. The operation is performed by writing the address value
+ * of the command to the device memory followed by the data. This function
+ * abstracts this common operation.
+*/
+static void index_addr(struct denali_nand_info *denali,
+                               uint32_t address, uint32_t data)
+{
+       writel(address, denali->flash_mem + INDEX_CTRL_REG);
+       writel(data, denali->flash_mem + INDEX_DATA_REG);
+}
+
+/* Perform an indexed read of the device */
+static void index_addr_read_data(struct denali_nand_info *denali,
+                                uint32_t address, uint32_t *pdata)
+{
+       writel(address, denali->flash_mem + INDEX_CTRL_REG);
+       *pdata = readl(denali->flash_mem + INDEX_DATA_REG);
+}
+
+/* We need to buffer some data for some of the NAND core routines.
+ * The operations manage buffering that data. */
+static void reset_buf(struct denali_nand_info *denali)
+{
+       denali->buf.head = 0;
+       denali->buf.tail = 0;
+}
+
+static void write_byte_to_buf(struct denali_nand_info *denali, uint8_t byte)
+{
+       denali->buf.buf[denali->buf.tail++] = byte;
+}
+
+/* resets a specific device connected to the core */
+static void reset_bank(struct denali_nand_info *denali)
+{
+       uint32_t irq_status;
+       uint32_t irq_mask = INTR_STATUS__RST_COMP |
+                           INTR_STATUS__TIME_OUT;
+
+       clear_interrupts(denali);
+
+       writel(1 << denali->flash_bank, denali->flash_reg + DEVICE_RESET);
+
+       irq_status = wait_for_irq(denali, irq_mask);
+       if (irq_status & INTR_STATUS__TIME_OUT)
+               debug("reset bank failed.\n");
+}
+
+/* Reset the flash controller */
+static uint32_t denali_nand_reset(struct denali_nand_info *denali)
+{
+       uint32_t i;
+
+       for (i = 0; i < denali->max_banks; i++)
+               writel(INTR_STATUS__RST_COMP | INTR_STATUS__TIME_OUT,
+                      denali->flash_reg + INTR_STATUS(i));
+
+       for (i = 0; i < denali->max_banks; i++) {
+               writel(1 << i, denali->flash_reg + DEVICE_RESET);
+               while (!(readl(denali->flash_reg + INTR_STATUS(i)) &
+                       (INTR_STATUS__RST_COMP | INTR_STATUS__TIME_OUT)))
+                       if (readl(denali->flash_reg + INTR_STATUS(i)) &
+                               INTR_STATUS__TIME_OUT)
+                               debug("NAND Reset operation timed out on bank"
+                                     " %d\n", i);
+       }
+
+       for (i = 0; i < denali->max_banks; i++)
+               writel(INTR_STATUS__RST_COMP | INTR_STATUS__TIME_OUT,
+                      denali->flash_reg + INTR_STATUS(i));
+
+       return 0;
+}
+
+/*
+ * this routine calculates the ONFI timing values for a given mode and
+ * programs the clocking register accordingly. The mode is determined by
+ * the get_onfi_nand_para routine.
+ */
+static void nand_onfi_timing_set(struct denali_nand_info *denali,
+                                                               uint16_t mode)
+{
+       uint32_t trea[6] = {40, 30, 25, 20, 20, 16};
+       uint32_t trp[6] = {50, 25, 17, 15, 12, 10};
+       uint32_t treh[6] = {30, 15, 15, 10, 10, 7};
+       uint32_t trc[6] = {100, 50, 35, 30, 25, 20};
+       uint32_t trhoh[6] = {0, 15, 15, 15, 15, 15};
+       uint32_t trloh[6] = {0, 0, 0, 0, 5, 5};
+       uint32_t tcea[6] = {100, 45, 30, 25, 25, 25};
+       uint32_t tadl[6] = {200, 100, 100, 100, 70, 70};
+       uint32_t trhw[6] = {200, 100, 100, 100, 100, 100};
+       uint32_t trhz[6] = {200, 100, 100, 100, 100, 100};
+       uint32_t twhr[6] = {120, 80, 80, 60, 60, 60};
+       uint32_t tcs[6] = {70, 35, 25, 25, 20, 15};
+
+       uint32_t tclsrising = 1;
+       uint32_t data_invalid_rhoh, data_invalid_rloh, data_invalid;
+       uint32_t dv_window = 0;
+       uint32_t en_lo, en_hi;
+       uint32_t acc_clks;
+       uint32_t addr_2_data, re_2_we, re_2_re, we_2_re, cs_cnt;
+
+       en_lo = DIV_ROUND_UP(trp[mode], CLK_X);
+       en_hi = DIV_ROUND_UP(treh[mode], CLK_X);
+       if ((en_hi * CLK_X) < (treh[mode] + 2))
+               en_hi++;
+
+       if ((en_lo + en_hi) * CLK_X < trc[mode])
+               en_lo += DIV_ROUND_UP((trc[mode] - (en_lo + en_hi) * CLK_X),
+                                     CLK_X);
+
+       if ((en_lo + en_hi) < CLK_MULTI)
+               en_lo += CLK_MULTI - en_lo - en_hi;
+
+       while (dv_window < 8) {
+               data_invalid_rhoh = en_lo * CLK_X + trhoh[mode];
+
+               data_invalid_rloh = (en_lo + en_hi) * CLK_X + trloh[mode];
+
+               data_invalid =
+                   data_invalid_rhoh <
+                   data_invalid_rloh ? data_invalid_rhoh : data_invalid_rloh;
+
+               dv_window = data_invalid - trea[mode];
+
+               if (dv_window < 8)
+                       en_lo++;
+       }
+
+       acc_clks = DIV_ROUND_UP(trea[mode], CLK_X);
+
+       while (((acc_clks * CLK_X) - trea[mode]) < 3)
+               acc_clks++;
+
+       if ((data_invalid - acc_clks * CLK_X) < 2)
+               debug("%s, Line %d: Warning!\n", __FILE__, __LINE__);
+
+       addr_2_data = DIV_ROUND_UP(tadl[mode], CLK_X);
+       re_2_we = DIV_ROUND_UP(trhw[mode], CLK_X);
+       re_2_re = DIV_ROUND_UP(trhz[mode], CLK_X);
+       we_2_re = DIV_ROUND_UP(twhr[mode], CLK_X);
+       cs_cnt = DIV_ROUND_UP((tcs[mode] - trp[mode]), CLK_X);
+       if (!tclsrising)
+               cs_cnt = DIV_ROUND_UP(tcs[mode], CLK_X);
+       if (cs_cnt == 0)
+               cs_cnt = 1;
+
+       if (tcea[mode]) {
+               while (((cs_cnt * CLK_X) + trea[mode]) < tcea[mode])
+                       cs_cnt++;
+       }
+
+       /* Sighting 3462430: Temporary hack for MT29F128G08CJABAWP:B */
+       if ((readl(denali->flash_reg + MANUFACTURER_ID) == 0) &&
+           (readl(denali->flash_reg + DEVICE_ID) == 0x88))
+               acc_clks = 6;
+
+       writel(acc_clks, denali->flash_reg + ACC_CLKS);
+       writel(re_2_we, denali->flash_reg + RE_2_WE);
+       writel(re_2_re, denali->flash_reg + RE_2_RE);
+       writel(we_2_re, denali->flash_reg + WE_2_RE);
+       writel(addr_2_data, denali->flash_reg + ADDR_2_DATA);
+       writel(en_lo, denali->flash_reg + RDWR_EN_LO_CNT);
+       writel(en_hi, denali->flash_reg + RDWR_EN_HI_CNT);
+       writel(cs_cnt, denali->flash_reg + CS_SETUP_CNT);
+}
+
+/* queries the NAND device to see what ONFI modes it supports. */
+static uint32_t get_onfi_nand_para(struct denali_nand_info *denali)
+{
+       int i;
+       /*
+        * we needn't to do a reset here because driver has already
+        * reset all the banks before
+        */
+       if (!(readl(denali->flash_reg + ONFI_TIMING_MODE) &
+           ONFI_TIMING_MODE__VALUE))
+               return -EIO;
+
+       for (i = 5; i > 0; i--) {
+               if (readl(denali->flash_reg + ONFI_TIMING_MODE) &
+                       (0x01 << i))
+                       break;
+       }
+
+       nand_onfi_timing_set(denali, i);
+
+       /* By now, all the ONFI devices we know support the page cache */
+       /* rw feature. So here we enable the pipeline_rw_ahead feature */
+       return 0;
+}
+
+static void get_samsung_nand_para(struct denali_nand_info *denali,
+                                                       uint8_t device_id)
+{
+       if (device_id == 0xd3) { /* Samsung K9WAG08U1A */
+               /* Set timing register values according to datasheet */
+               writel(5, denali->flash_reg + ACC_CLKS);
+               writel(20, denali->flash_reg + RE_2_WE);
+               writel(12, denali->flash_reg + WE_2_RE);
+               writel(14, denali->flash_reg + ADDR_2_DATA);
+               writel(3, denali->flash_reg + RDWR_EN_LO_CNT);
+               writel(2, denali->flash_reg + RDWR_EN_HI_CNT);
+               writel(2, denali->flash_reg + CS_SETUP_CNT);
+       }
+}
+
+static void get_toshiba_nand_para(struct denali_nand_info *denali)
+{
+       uint32_t tmp;
+
+       /* Workaround to fix a controller bug which reports a wrong */
+       /* spare area size for some kind of Toshiba NAND device */
+       if ((readl(denali->flash_reg + DEVICE_MAIN_AREA_SIZE) == 4096) &&
+           (readl(denali->flash_reg + DEVICE_SPARE_AREA_SIZE) == 64)) {
+               writel(216, denali->flash_reg + DEVICE_SPARE_AREA_SIZE);
+               tmp = readl(denali->flash_reg + DEVICES_CONNECTED) *
+                       readl(denali->flash_reg + DEVICE_SPARE_AREA_SIZE);
+               writel(tmp, denali->flash_reg + LOGICAL_PAGE_SPARE_SIZE);
+       }
+}
+
+static void get_hynix_nand_para(struct denali_nand_info *denali,
+                                                       uint8_t device_id)
+{
+       uint32_t main_size, spare_size;
+
+       switch (device_id) {
+       case 0xD5: /* Hynix H27UAG8T2A, H27UBG8U5A or H27UCG8VFA */
+       case 0xD7: /* Hynix H27UDG8VEM, H27UCG8UDM or H27UCG8V5A */
+               writel(128, denali->flash_reg + PAGES_PER_BLOCK);
+               writel(4096, denali->flash_reg + DEVICE_MAIN_AREA_SIZE);
+               writel(224, denali->flash_reg + DEVICE_SPARE_AREA_SIZE);
+               main_size = 4096 *
+                       readl(denali->flash_reg + DEVICES_CONNECTED);
+               spare_size = 224 *
+                       readl(denali->flash_reg + DEVICES_CONNECTED);
+               writel(main_size, denali->flash_reg + LOGICAL_PAGE_DATA_SIZE);
+               writel(spare_size, denali->flash_reg + LOGICAL_PAGE_SPARE_SIZE);
+               writel(0, denali->flash_reg + DEVICE_WIDTH);
+               break;
+       default:
+               debug("Spectra: Unknown Hynix NAND (Device ID: 0x%x)."
+                     "Will use default parameter values instead.\n",
+                     device_id);
+       }
+}
+
+/*
+ * determines how many NAND chips are connected to the controller. Note for
+ * Intel CE4100 devices we don't support more than one device.
+ */
+static void find_valid_banks(struct denali_nand_info *denali)
+{
+       uint32_t id[denali->max_banks];
+       int i;
+
+       denali->total_used_banks = 1;
+       for (i = 0; i < denali->max_banks; i++) {
+               index_addr(denali, (uint32_t)(MODE_11 | (i << 24) | 0), 0x90);
+               index_addr(denali, (uint32_t)(MODE_11 | (i << 24) | 1), 0);
+               index_addr_read_data(denali,
+                                    (uint32_t)(MODE_11 | (i << 24) | 2),
+                                    &id[i]);
+
+               if (i == 0) {
+                       if (!(id[i] & 0x0ff))
+                               break;
+               } else {
+                       if ((id[i] & 0x0ff) == (id[0] & 0x0ff))
+                               denali->total_used_banks++;
+                       else
+                               break;
+               }
+       }
+}
+
+/*
+ * Use the configuration feature register to determine the maximum number of
+ * banks that the hardware supports.
+ */
+static void detect_max_banks(struct denali_nand_info *denali)
+{
+       uint32_t features = readl(denali->flash_reg + FEATURES);
+       denali->max_banks = 2 << (features & FEATURES__N_BANKS);
+}
+
+static void detect_partition_feature(struct denali_nand_info *denali)
+{
+       /*
+        * For MRST platform, denali->fwblks represent the
+        * number of blocks firmware is taken,
+        * FW is in protect partition and MTD driver has no
+        * permission to access it. So let driver know how many
+        * blocks it can't touch.
+        */
+       if (readl(denali->flash_reg + FEATURES) & FEATURES__PARTITION) {
+               if ((readl(denali->flash_reg + PERM_SRC_ID(1)) &
+                       PERM_SRC_ID__SRCID) == SPECTRA_PARTITION_ID) {
+                       denali->fwblks =
+                           ((readl(denali->flash_reg + MIN_MAX_BANK(1)) &
+                             MIN_MAX_BANK__MIN_VALUE) *
+                            denali->blksperchip)
+                           +
+                           (readl(denali->flash_reg + MIN_BLK_ADDR(1)) &
+                           MIN_BLK_ADDR__VALUE);
+               } else {
+                       denali->fwblks = SPECTRA_START_BLOCK;
+               }
+       } else {
+               denali->fwblks = SPECTRA_START_BLOCK;
+       }
+}
+
+static uint32_t denali_nand_timing_set(struct denali_nand_info *denali)
+{
+       uint32_t id_bytes[5], addr;
+       uint8_t i, maf_id, device_id;
+
+       /* Use read id method to get device ID and other
+        * params. For some NAND chips, controller can't
+        * report the correct device ID by reading from
+        * DEVICE_ID register
+        * */
+       addr = (uint32_t)MODE_11 | BANK(denali->flash_bank);
+       index_addr(denali, (uint32_t)addr | 0, 0x90);
+       index_addr(denali, (uint32_t)addr | 1, 0);
+       for (i = 0; i < 5; i++)
+               index_addr_read_data(denali, addr | 2, &id_bytes[i]);
+       maf_id = id_bytes[0];
+       device_id = id_bytes[1];
+
+       if (readl(denali->flash_reg + ONFI_DEVICE_NO_OF_LUNS) &
+               ONFI_DEVICE_NO_OF_LUNS__ONFI_DEVICE) { /* ONFI 1.0 NAND */
+               if (get_onfi_nand_para(denali))
+                       return -EIO;
+       } else if (maf_id == 0xEC) { /* Samsung NAND */
+               get_samsung_nand_para(denali, device_id);
+       } else if (maf_id == 0x98) { /* Toshiba NAND */
+               get_toshiba_nand_para(denali);
+       } else if (maf_id == 0xAD) { /* Hynix NAND */
+               get_hynix_nand_para(denali, device_id);
+       }
+
+       find_valid_banks(denali);
+
+       detect_partition_feature(denali);
+
+       /* If the user specified to override the default timings
+        * with a specific ONFI mode, we apply those changes here.
+        */
+       if (onfi_timing_mode != NAND_DEFAULT_TIMINGS)
+               nand_onfi_timing_set(denali, onfi_timing_mode);
+
+       return 0;
+}
+
+/* validation function to verify that the controlling software is making
+ * a valid request
+ */
+static inline bool is_flash_bank_valid(int flash_bank)
+{
+       return flash_bank >= 0 && flash_bank < 4;
+}
+
+static void denali_irq_init(struct denali_nand_info *denali)
+{
+       uint32_t int_mask = 0;
+       int i;
+
+       /* Disable global interrupts */
+       writel(0, denali->flash_reg + GLOBAL_INT_ENABLE);
+
+       int_mask = DENALI_IRQ_ALL;
+
+       /* Clear all status bits */
+       for (i = 0; i < denali->max_banks; ++i)
+               writel(0xFFFF, denali->flash_reg + INTR_STATUS(i));
+
+       denali_irq_enable(denali, int_mask);
+}
+
+/* This helper function setups the registers for ECC and whether or not
+ * the spare area will be transferred. */
+static void setup_ecc_for_xfer(struct denali_nand_info *denali, bool ecc_en,
+                               bool transfer_spare)
+{
+       int ecc_en_flag = 0, transfer_spare_flag = 0;
+
+       /* set ECC, transfer spare bits if needed */
+       ecc_en_flag = ecc_en ? ECC_ENABLE__FLAG : 0;
+       transfer_spare_flag = transfer_spare ? TRANSFER_SPARE_REG__FLAG : 0;
+
+       /* Enable spare area/ECC per user's request. */
+       writel(ecc_en_flag, denali->flash_reg + ECC_ENABLE);
+       /* applicable for MAP01 only */
+       writel(transfer_spare_flag, denali->flash_reg + TRANSFER_SPARE_REG);
+}
+
+/* sends a pipeline command operation to the controller. See the Denali NAND
+ * controller's user guide for more information (section 4.2.3.6).
+ */
+static int denali_send_pipeline_cmd(struct denali_nand_info *denali,
+                                       bool ecc_en, bool transfer_spare,
+                                       int access_type, int op)
+{
+       uint32_t addr, cmd, irq_status;
+       static uint32_t page_count = 1;
+
+       setup_ecc_for_xfer(denali, ecc_en, transfer_spare);
+
+       /* clear interrupts */
+       clear_interrupts(denali);
+
+       addr = BANK(denali->flash_bank) | denali->page;
+
+       /* setup the acccess type */
+       cmd = MODE_10 | addr;
+       index_addr(denali, cmd, access_type);
+
+       /* setup the pipeline command */
+       index_addr(denali, cmd, 0x2000 | op | page_count);
+
+       cmd = MODE_01 | addr;
+       writel(cmd, denali->flash_mem + INDEX_CTRL_REG);
+
+       if (op == DENALI_READ) {
+               /* wait for command to be accepted */
+               irq_status = wait_for_irq(denali, INTR_STATUS__LOAD_COMP);
+
+               if (irq_status == 0)
+                       return -EIO;
+       }
+
+       return 0;
+}
+
+/* helper function that simply writes a buffer to the flash */
+static int write_data_to_flash_mem(struct denali_nand_info *denali,
+                                               const uint8_t *buf, int len)
+{
+       uint32_t i = 0, *buf32;
+
+       /* verify that the len is a multiple of 4. see comment in
+        * read_data_from_flash_mem() */
+       BUG_ON((len % 4) != 0);
+
+       /* write the data to the flash memory */
+       buf32 = (uint32_t *)buf;
+       for (i = 0; i < len / 4; i++)
+               writel(*buf32++, denali->flash_mem + INDEX_DATA_REG);
+       return i * 4; /* intent is to return the number of bytes read */
+}
+
+/* helper function that simply reads a buffer from the flash */
+static int read_data_from_flash_mem(struct denali_nand_info *denali,
+                                               uint8_t *buf, int len)
+{
+       uint32_t i, *buf32;
+
+       /*
+        * we assume that len will be a multiple of 4, if not
+        * it would be nice to know about it ASAP rather than
+        * have random failures...
+        * This assumption is based on the fact that this
+        * function is designed to be used to read flash pages,
+        * which are typically multiples of 4...
+        */
+
+       BUG_ON((len % 4) != 0);
+
+       /* transfer the data from the flash */
+       buf32 = (uint32_t *)buf;
+       for (i = 0; i < len / 4; i++)
+               *buf32++ = readl(denali->flash_mem + INDEX_DATA_REG);
+
+       return i * 4; /* intent is to return the number of bytes read */
+}
+
+static void denali_mode_main_access(struct denali_nand_info *denali)
+{
+       uint32_t addr, cmd;
+
+       addr = BANK(denali->flash_bank) | denali->page;
+       cmd = MODE_10 | addr;
+       index_addr(denali, cmd, MAIN_ACCESS);
+}
+
+static void denali_mode_main_spare_access(struct denali_nand_info *denali)
+{
+       uint32_t addr, cmd;
+
+       addr = BANK(denali->flash_bank) | denali->page;
+       cmd = MODE_10 | addr;
+       index_addr(denali, cmd, MAIN_SPARE_ACCESS);
+}
+
+/* writes OOB data to the device */
+static int write_oob_data(struct mtd_info *mtd, uint8_t *buf, int page)
+{
+       struct denali_nand_info *denali = mtd_to_denali(mtd);
+       uint32_t irq_status;
+       uint32_t irq_mask = INTR_STATUS__PROGRAM_COMP |
+                                               INTR_STATUS__PROGRAM_FAIL;
+       int status = 0;
+
+       denali->page = page;
+
+       if (denali_send_pipeline_cmd(denali, false, true, SPARE_ACCESS,
+                                    DENALI_WRITE) == 0) {
+               write_data_to_flash_mem(denali, buf, mtd->oobsize);
+
+               /* wait for operation to complete */
+               irq_status = wait_for_irq(denali, irq_mask);
+
+               if (irq_status == 0) {
+                       dev_err(denali->dev, "OOB write failed\n");
+                       status = -EIO;
+               }
+       } else {
+               printf("unable to send pipeline command\n");
+               status = -EIO;
+       }
+       return status;
+}
+
+/* reads OOB data from the device */
+static void read_oob_data(struct mtd_info *mtd, uint8_t *buf, int page)
+{
+       struct denali_nand_info *denali = mtd_to_denali(mtd);
+       uint32_t irq_mask = INTR_STATUS__LOAD_COMP,
+                        irq_status = 0, addr = 0x0, cmd = 0x0;
+
+       denali->page = page;
+
+       if (denali_send_pipeline_cmd(denali, false, true, SPARE_ACCESS,
+                                    DENALI_READ) == 0) {
+               read_data_from_flash_mem(denali, buf, mtd->oobsize);
+
+               /* wait for command to be accepted
+                * can always use status0 bit as the mask is identical for each
+                * bank. */
+               irq_status = wait_for_irq(denali, irq_mask);
+
+               if (irq_status == 0)
+                       printf("page on OOB timeout %d\n", denali->page);
+
+               /* We set the device back to MAIN_ACCESS here as I observed
+                * instability with the controller if you do a block erase
+                * and the last transaction was a SPARE_ACCESS. Block erase
+                * is reliable (according to the MTD test infrastructure)
+                * if you are in MAIN_ACCESS.
+                */
+               addr = BANK(denali->flash_bank) | denali->page;
+               cmd = MODE_10 | addr;
+               index_addr(denali, cmd, MAIN_ACCESS);
+       }
+}
+
+/* this function examines buffers to see if they contain data that
+ * indicate that the buffer is part of an erased region of flash.
+ */
+static bool is_erased(uint8_t *buf, int len)
+{
+       int i = 0;
+       for (i = 0; i < len; i++)
+               if (buf[i] != 0xFF)
+                       return false;
+       return true;
+}
+
+/* programs the controller to either enable/disable DMA transfers */
+static void denali_enable_dma(struct denali_nand_info *denali, bool en)
+{
+       uint32_t reg_val = 0x0;
+
+       if (en)
+               reg_val = DMA_ENABLE__FLAG;
+
+       writel(reg_val, denali->flash_reg + DMA_ENABLE);
+       readl(denali->flash_reg + DMA_ENABLE);
+}
+
+/* setups the HW to perform the data DMA */
+static void denali_setup_dma(struct denali_nand_info *denali, int op)
+{
+       uint32_t mode;
+       const int page_count = 1;
+       uint32_t addr = (uint32_t)denali->buf.dma_buf;
+
+       flush_dcache_range(addr, addr + sizeof(denali->buf.dma_buf));
+
+/* For Denali controller that is 64 bit bus IP core */
+#ifdef CONFIG_SYS_NAND_DENALI_64BIT
+       mode = MODE_10 | BANK(denali->flash_bank) | denali->page;
+
+       /* DMA is a three step process */
+
+       /* 1. setup transfer type, interrupt when complete,
+             burst len = 64 bytes, the number of pages */
+       index_addr(denali, mode, 0x01002000 | (64 << 16) | op | page_count);
+
+       /* 2. set memory low address bits 31:0 */
+       index_addr(denali, mode, addr);
+
+       /* 3. set memory high address bits 64:32 */
+       index_addr(denali, mode, 0);
+#else
+       mode = MODE_10 | BANK(denali->flash_bank);
+
+       /* DMA is a four step process */
+
+       /* 1. setup transfer type and # of pages */
+       index_addr(denali, mode | denali->page, 0x2000 | op | page_count);
+
+       /* 2. set memory high address bits 23:8 */
+       index_addr(denali, mode | ((uint32_t)(addr >> 16) << 8), 0x2200);
+
+       /* 3. set memory low address bits 23:8 */
+       index_addr(denali, mode | ((uint32_t)addr << 8), 0x2300);
+
+       /* 4.  interrupt when complete, burst len = 64 bytes*/
+       index_addr(denali, mode | 0x14000, 0x2400);
+#endif
+}
+
+/* Common DMA function */
+static uint32_t denali_dma_configuration(struct denali_nand_info *denali,
+                                        uint32_t ops, bool raw_xfer,
+                                        uint32_t irq_mask, int oob_required)
+{
+       uint32_t irq_status = 0;
+       /* setup_ecc_for_xfer(bool ecc_en, bool transfer_spare) */
+       setup_ecc_for_xfer(denali, !raw_xfer, oob_required);
+
+       /* clear any previous interrupt flags */
+       clear_interrupts(denali);
+
+       /* enable the DMA */
+       denali_enable_dma(denali, true);
+
+       /* setup the DMA */
+       denali_setup_dma(denali, ops);
+
+       /* wait for operation to complete */
+       irq_status = wait_for_irq(denali, irq_mask);
+
+       /* if ECC fault happen, seems we need delay before turning off DMA.
+        * If not, the controller will go into non responsive condition */
+       if (irq_status & INTR_STATUS__ECC_UNCOR_ERR)
+               udelay(100);
+
+       /* disable the DMA */
+       denali_enable_dma(denali, false);
+
+       return irq_status;
+}
+
+static int write_page(struct mtd_info *mtd, struct nand_chip *chip,
+                       const uint8_t *buf, bool raw_xfer, int oob_required)
+{
+       struct denali_nand_info *denali = mtd_to_denali(mtd);
+
+       uint32_t irq_status = 0;
+       uint32_t irq_mask = INTR_STATUS__DMA_CMD_COMP;
+
+       denali->status = 0;
+
+       /* copy buffer into DMA buffer */
+       memcpy(denali->buf.dma_buf, buf, mtd->writesize);
+
+       /* need extra memcpy for raw transfer */
+       if (raw_xfer)
+               memcpy(denali->buf.dma_buf + mtd->writesize,
+                      chip->oob_poi, mtd->oobsize);
+
+       /* setting up DMA */
+       irq_status = denali_dma_configuration(denali, DENALI_WRITE, raw_xfer,
+                                             irq_mask, oob_required);
+
+       /* if timeout happen, error out */
+       if (!(irq_status & INTR_STATUS__DMA_CMD_COMP)) {
+               debug("DMA timeout for denali write_page\n");
+               denali->status = NAND_STATUS_FAIL;
+               return -EIO;
+       }
+
+       if (irq_status & INTR_STATUS__LOCKED_BLK) {
+               debug("Failed as write to locked block\n");
+               denali->status = NAND_STATUS_FAIL;
+               return -EIO;
+       }
+       return 0;
+}
+
+/* NAND core entry points */
+
+/*
+ * this is the callback that the NAND core calls to write a page. Since
+ * writing a page with ECC or without is similar, all the work is done
+ * by write_page above.
+ */
+static int denali_write_page(struct mtd_info *mtd, struct nand_chip *chip,
+                               const uint8_t *buf, int oob_required)
+{
+       struct denali_nand_info *denali = mtd_to_denali(mtd);
+
+       /*
+        * for regular page writes, we let HW handle all the ECC
+        * data written to the device.
+        */
+       if (oob_required)
+               /* switch to main + spare access */
+               denali_mode_main_spare_access(denali);
+       else
+               /* switch to main access only */
+               denali_mode_main_access(denali);
+
+       return write_page(mtd, chip, buf, false, oob_required);
+}
+
+/*
+ * This is the callback that the NAND core calls to write a page without ECC.
+ * raw access is similar to ECC page writes, so all the work is done in the
+ * write_page() function above.
+ */
+static int denali_write_page_raw(struct mtd_info *mtd, struct nand_chip *chip,
+                                       const uint8_t *buf, int oob_required)
+{
+       struct denali_nand_info *denali = mtd_to_denali(mtd);
+
+       /*
+        * for raw page writes, we want to disable ECC and simply write
+        * whatever data is in the buffer.
+        */
+
+       if (oob_required)
+               /* switch to main + spare access */
+               denali_mode_main_spare_access(denali);
+       else
+               /* switch to main access only */
+               denali_mode_main_access(denali);
+
+       return write_page(mtd, chip, buf, true, oob_required);
+}
+
+static int denali_write_oob(struct mtd_info *mtd, struct nand_chip *chip,
+                               int page)
+{
+       return write_oob_data(mtd, chip->oob_poi, page);
+}
+
+/* raw include ECC value and all the spare area */
+static int denali_read_page_raw(struct mtd_info *mtd, struct nand_chip *chip,
+                               uint8_t *buf, int oob_required, int page)
+{
+       struct denali_nand_info *denali = mtd_to_denali(mtd);
+
+       uint32_t irq_status, irq_mask = INTR_STATUS__DMA_CMD_COMP;
+
+       if (denali->page != page) {
+               debug("Missing NAND_CMD_READ0 command\n");
+               return -EIO;
+       }
+
+       if (oob_required)
+               /* switch to main + spare access */
+               denali_mode_main_spare_access(denali);
+       else
+               /* switch to main access only */
+               denali_mode_main_access(denali);
+
+       /* setting up the DMA where ecc_enable is false */
+       irq_status = denali_dma_configuration(denali, DENALI_READ, true,
+                                             irq_mask, oob_required);
+
+       /* if timeout happen, error out */
+       if (!(irq_status & INTR_STATUS__DMA_CMD_COMP)) {
+               debug("DMA timeout for denali_read_page_raw\n");
+               return -EIO;
+       }
+
+       /* splitting the content to destination buffer holder */
+       memcpy(chip->oob_poi, (denali->buf.dma_buf + mtd->writesize),
+              mtd->oobsize);
+       memcpy(buf, denali->buf.dma_buf, mtd->writesize);
+
+       return 0;
+}
+
+static int denali_read_page(struct mtd_info *mtd, struct nand_chip *chip,
+                               uint8_t *buf, int oob_required, int page)
+{
+       struct denali_nand_info *denali = mtd_to_denali(mtd);
+       uint32_t irq_status, irq_mask = INTR_STATUS__DMA_CMD_COMP;
+
+       if (denali->page != page) {
+               debug("Missing NAND_CMD_READ0 command\n");
+               return -EIO;
+       }
+
+       if (oob_required)
+               /* switch to main + spare access */
+               denali_mode_main_spare_access(denali);
+       else
+               /* switch to main access only */
+               denali_mode_main_access(denali);
+
+       /* setting up the DMA where ecc_enable is true */
+       irq_status = denali_dma_configuration(denali, DENALI_READ, false,
+                                             irq_mask, oob_required);
+
+       memcpy(buf, denali->buf.dma_buf, mtd->writesize);
+
+       /* check whether any ECC error */
+       if (irq_status & INTR_STATUS__ECC_UNCOR_ERR) {
+               /* is the ECC cause by erase page, check using read_page_raw */
+               debug("  Uncorrected ECC detected\n");
+               denali_read_page_raw(mtd, chip, buf, oob_required,
+                                    denali->page);
+
+               if (is_erased(buf, mtd->writesize) == true &&
+                   is_erased(chip->oob_poi, mtd->oobsize) == true) {
+                       debug("  ECC error cause by erased block\n");
+                       /* false alarm, return the 0xFF */
+               } else {
+                       return -EIO;
+               }
+       }
+       memcpy(buf, denali->buf.dma_buf, mtd->writesize);
+       return 0;
+}
+
+static int denali_read_oob(struct mtd_info *mtd, struct nand_chip *chip,
+                               int page)
+{
+       read_oob_data(mtd, chip->oob_poi, page);
+
+       return 0;
+}
+
+static uint8_t denali_read_byte(struct mtd_info *mtd)
+{
+       struct denali_nand_info *denali = mtd_to_denali(mtd);
+       uint32_t addr, result;
+
+       addr = (uint32_t)MODE_11 | BANK(denali->flash_bank);
+       index_addr_read_data(denali, addr | 2, &result);
+       return (uint8_t)result & 0xFF;
+}
+
+static void denali_read_buf(struct mtd_info *mtd, uint8_t *buf, int len)
+{
+       struct denali_nand_info *denali = mtd_to_denali(mtd);
+       uint32_t i, addr, result;
+
+       /* delay for tR (data transfer from Flash array to data register) */
+       udelay(25);
+
+       /* ensure device completed else additional delay and polling */
+       wait_for_irq(denali, INTR_STATUS__INT_ACT);
+
+       addr = (uint32_t)MODE_11 | BANK(denali->flash_bank);
+       for (i = 0; i < len; i++) {
+               index_addr_read_data(denali, (uint32_t)addr | 2, &result);
+               write_byte_to_buf(denali, result);
+       }
+       memcpy(buf, denali->buf.buf, len);
+}
+
+static void denali_select_chip(struct mtd_info *mtd, int chip)
+{
+       struct denali_nand_info *denali = mtd_to_denali(mtd);
+
+       denali->flash_bank = chip;
+}
+
+static int denali_waitfunc(struct mtd_info *mtd, struct nand_chip *chip)
+{
+       struct denali_nand_info *denali = mtd_to_denali(mtd);
+       int status = denali->status;
+       denali->status = 0;
+
+       return status;
+}
+
+static void denali_erase(struct mtd_info *mtd, int page)
+{
+       struct denali_nand_info *denali = mtd_to_denali(mtd);
+       uint32_t cmd, irq_status;
+
+       /* clear interrupts */
+       clear_interrupts(denali);
+
+       /* setup page read request for access type */
+       cmd = MODE_10 | BANK(denali->flash_bank) | page;
+       index_addr(denali, cmd, 0x1);
+
+       /* wait for erase to complete or failure to occur */
+       irq_status = wait_for_irq(denali, INTR_STATUS__ERASE_COMP |
+                                       INTR_STATUS__ERASE_FAIL);
+
+       if (irq_status & INTR_STATUS__ERASE_FAIL ||
+           irq_status & INTR_STATUS__LOCKED_BLK)
+               denali->status = NAND_STATUS_FAIL;
+       else
+               denali->status = 0;
+}
+
+static void denali_cmdfunc(struct mtd_info *mtd, unsigned int cmd, int col,
+                          int page)
+{
+       struct denali_nand_info *denali = mtd_to_denali(mtd);
+       uint32_t addr;
+
+       switch (cmd) {
+       case NAND_CMD_PAGEPROG:
+               break;
+       case NAND_CMD_STATUS:
+               addr = MODE_11 | BANK(denali->flash_bank);
+               index_addr(denali, addr | 0, cmd);
+               break;
+       case NAND_CMD_PARAM:
+               clear_interrupts(denali);
+       case NAND_CMD_READID:
+               reset_buf(denali);
+               /* sometimes ManufactureId read from register is not right
+                * e.g. some of Micron MT29F32G08QAA MLC NAND chips
+                * So here we send READID cmd to NAND insteand
+                * */
+               addr = MODE_11 | BANK(denali->flash_bank);
+               index_addr(denali, addr | 0, cmd);
+               index_addr(denali, addr | 1, col & 0xFF);
+               break;
+       case NAND_CMD_READ0:
+       case NAND_CMD_SEQIN:
+               denali->page = page;
+               break;
+       case NAND_CMD_RESET:
+               reset_bank(denali);
+               break;
+       case NAND_CMD_READOOB:
+               /* TODO: Read OOB data */
+               break;
+       case NAND_CMD_ERASE1:
+               /*
+                * supporting block erase only, not multiblock erase as
+                * it will cross plane and software need complex calculation
+                * to identify the block count for the cross plane
+                */
+               denali_erase(mtd, page);
+               break;
+       case NAND_CMD_ERASE2:
+               /* nothing to do here as it was done during NAND_CMD_ERASE1 */
+               break;
+       case NAND_CMD_UNLOCK1:
+               addr = MODE_10 | BANK(denali->flash_bank) | page;
+               index_addr(denali, addr | 0, DENALI_UNLOCK_START);
+               break;
+       case NAND_CMD_UNLOCK2:
+               addr = MODE_10 | BANK(denali->flash_bank) | page;
+               index_addr(denali, addr | 0, DENALI_UNLOCK_END);
+               break;
+       case NAND_CMD_LOCK:
+               addr = MODE_10 | BANK(denali->flash_bank);
+               index_addr(denali, addr | 0, DENALI_LOCK);
+               break;
+       default:
+               printf(": unsupported command received 0x%x\n", cmd);
+               break;
+       }
+}
+/* end NAND core entry points */
+
+/* Initialization code to bring the device up to a known good state */
+static void denali_hw_init(struct denali_nand_info *denali)
+{
+       /*
+        * tell driver how many bit controller will skip before writing
+        * ECC code in OOB. This is normally used for bad block marker
+        */
+       writel(CONFIG_NAND_DENALI_SPARE_AREA_SKIP_BYTES,
+              denali->flash_reg + SPARE_AREA_SKIP_BYTES);
+       detect_max_banks(denali);
+       denali_nand_reset(denali);
+       writel(0x0F, denali->flash_reg + RB_PIN_ENABLED);
+       writel(CHIP_EN_DONT_CARE__FLAG,
+              denali->flash_reg + CHIP_ENABLE_DONT_CARE);
+       writel(0xffff, denali->flash_reg + SPARE_AREA_MARKER);
+
+       /* Should set value for these registers when init */
+       writel(0, denali->flash_reg + TWO_ROW_ADDR_CYCLES);
+       writel(1, denali->flash_reg + ECC_ENABLE);
+       denali_nand_timing_set(denali);
+       denali_irq_init(denali);
+}
+
+static struct nand_ecclayout nand_oob;
+
+static int denali_nand_init(struct nand_chip *nand)
+{
+       struct denali_nand_info *denali;
+
+       denali = malloc(sizeof(*denali));
+       if (!denali)
+               return -ENOMEM;
+
+       nand->priv = denali;
+
+       denali->flash_reg = (void  __iomem *)CONFIG_SYS_NAND_REGS_BASE;
+       denali->flash_mem = (void  __iomem *)CONFIG_SYS_NAND_DATA_BASE;
+
+#ifdef CONFIG_SYS_NAND_USE_FLASH_BBT
+       /* check whether flash got BBT table (located at end of flash). As we
+        * use NAND_BBT_NO_OOB, the BBT page will start with
+        * bbt_pattern. We will have mirror pattern too */
+       nand->bbt_options |= NAND_BBT_USE_FLASH;
+       /*
+        * We are using main + spare with ECC support. As BBT need ECC support,
+        * we need to ensure BBT code don't write to OOB for the BBT pattern.
+        * All BBT info will be stored into data area with ECC support.
+        */
+       nand->bbt_options |= NAND_BBT_NO_OOB;
+#endif
+
+       nand->ecc.mode = NAND_ECC_HW;
+       nand->ecc.size = CONFIG_NAND_DENALI_ECC_SIZE;
+       nand->ecc.read_oob = denali_read_oob;
+       nand->ecc.write_oob = denali_write_oob;
+       nand->ecc.read_page = denali_read_page;
+       nand->ecc.read_page_raw = denali_read_page_raw;
+       nand->ecc.write_page = denali_write_page;
+       nand->ecc.write_page_raw = denali_write_page_raw;
+       /*
+        * Tell driver the ecc strength. This register may be already set
+        * correctly. So we read this value out.
+        */
+       nand->ecc.strength = readl(denali->flash_reg + ECC_CORRECTION);
+       switch (nand->ecc.size) {
+       case 512:
+               nand->ecc.bytes = (nand->ecc.strength * 13 + 15) / 16 * 2;
+               break;
+       case 1024:
+               nand->ecc.bytes = (nand->ecc.strength * 14 + 15) / 16 * 2;
+               break;
+       default:
+               pr_err("Unsupported ECC size\n");
+               return -EINVAL;
+       }
+       nand_oob.eccbytes = nand->ecc.bytes;
+       nand->ecc.layout = &nand_oob;
+
+       /* Set address of hardware control function */
+       nand->cmdfunc = denali_cmdfunc;
+       nand->read_byte = denali_read_byte;
+       nand->read_buf = denali_read_buf;
+       nand->select_chip = denali_select_chip;
+       nand->waitfunc = denali_waitfunc;
+       denali_hw_init(denali);
+       return 0;
+}
+
+int board_nand_init(struct nand_chip *chip)
+{
+       return denali_nand_init(chip);
+}
diff --git a/drivers/mtd/nand/denali.h b/drivers/mtd/nand/denali.h
new file mode 100644 (file)
index 0000000..3277da7
--- /dev/null
@@ -0,0 +1,467 @@
+/*
+ * Copyright (C) 2013-2014 Altera Corporation <www.altera.com>
+ * Copyright (C) 2009-2010, Intel Corporation and its suppliers.
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+#include <linux/mtd/nand.h>
+
+#define DEVICE_RESET                           0x0
+#define     DEVICE_RESET__BANK0                                0x0001
+#define     DEVICE_RESET__BANK1                                0x0002
+#define     DEVICE_RESET__BANK2                                0x0004
+#define     DEVICE_RESET__BANK3                                0x0008
+
+#define TRANSFER_SPARE_REG                     0x10
+#define     TRANSFER_SPARE_REG__FLAG                   0x0001
+
+#define LOAD_WAIT_CNT                          0x20
+#define     LOAD_WAIT_CNT__VALUE                       0xffff
+
+#define PROGRAM_WAIT_CNT                       0x30
+#define     PROGRAM_WAIT_CNT__VALUE                    0xffff
+
+#define ERASE_WAIT_CNT                         0x40
+#define     ERASE_WAIT_CNT__VALUE                      0xffff
+
+#define INT_MON_CYCCNT                         0x50
+#define     INT_MON_CYCCNT__VALUE                      0xffff
+
+#define RB_PIN_ENABLED                         0x60
+#define     RB_PIN_ENABLED__BANK0                      0x0001
+#define     RB_PIN_ENABLED__BANK1                      0x0002
+#define     RB_PIN_ENABLED__BANK2                      0x0004
+#define     RB_PIN_ENABLED__BANK3                      0x0008
+
+#define MULTIPLANE_OPERATION                   0x70
+#define     MULTIPLANE_OPERATION__FLAG                 0x0001
+
+#define MULTIPLANE_READ_ENABLE                 0x80
+#define     MULTIPLANE_READ_ENABLE__FLAG               0x0001
+
+#define COPYBACK_DISABLE                       0x90
+#define     COPYBACK_DISABLE__FLAG                     0x0001
+
+#define CACHE_WRITE_ENABLE                     0xa0
+#define     CACHE_WRITE_ENABLE__FLAG                   0x0001
+
+#define CACHE_READ_ENABLE                      0xb0
+#define     CACHE_READ_ENABLE__FLAG                    0x0001
+
+#define PREFETCH_MODE                          0xc0
+#define     PREFETCH_MODE__PREFETCH_EN                 0x0001
+#define     PREFETCH_MODE__PREFETCH_BURST_LENGTH       0xfff0
+
+#define CHIP_ENABLE_DONT_CARE                  0xd0
+#define     CHIP_EN_DONT_CARE__FLAG                    0x01
+
+#define ECC_ENABLE                             0xe0
+#define     ECC_ENABLE__FLAG                           0x0001
+
+#define GLOBAL_INT_ENABLE                      0xf0
+#define     GLOBAL_INT_EN_FLAG                         0x01
+
+#define WE_2_RE                                        0x100
+#define     WE_2_RE__VALUE                             0x003f
+
+#define ADDR_2_DATA                            0x110
+#define     ADDR_2_DATA__VALUE                         0x003f
+
+#define RE_2_WE                                        0x120
+#define     RE_2_WE__VALUE                             0x003f
+
+#define ACC_CLKS                               0x130
+#define     ACC_CLKS__VALUE                            0x000f
+
+#define NUMBER_OF_PLANES                       0x140
+#define     NUMBER_OF_PLANES__VALUE                    0x0007
+
+#define PAGES_PER_BLOCK                                0x150
+#define     PAGES_PER_BLOCK__VALUE                     0xffff
+
+#define DEVICE_WIDTH                           0x160
+#define     DEVICE_WIDTH__VALUE                                0x0003
+
+#define DEVICE_MAIN_AREA_SIZE                  0x170
+#define     DEVICE_MAIN_AREA_SIZE__VALUE               0xffff
+
+#define DEVICE_SPARE_AREA_SIZE                 0x180
+#define     DEVICE_SPARE_AREA_SIZE__VALUE              0xffff
+
+#define TWO_ROW_ADDR_CYCLES                    0x190
+#define     TWO_ROW_ADDR_CYCLES__FLAG                  0x0001
+
+#define MULTIPLANE_ADDR_RESTRICT               0x1a0
+#define     MULTIPLANE_ADDR_RESTRICT__FLAG             0x0001
+
+#define ECC_CORRECTION                         0x1b0
+#define     ECC_CORRECTION__VALUE                      0x001f
+
+#define READ_MODE                              0x1c0
+#define     READ_MODE__VALUE                           0x000f
+
+#define WRITE_MODE                             0x1d0
+#define     WRITE_MODE__VALUE                          0x000f
+
+#define COPYBACK_MODE                          0x1e0
+#define     COPYBACK_MODE__VALUE                       0x000f
+
+#define RDWR_EN_LO_CNT                         0x1f0
+#define     RDWR_EN_LO_CNT__VALUE                      0x001f
+
+#define RDWR_EN_HI_CNT                         0x200
+#define     RDWR_EN_HI_CNT__VALUE                      0x001f
+
+#define MAX_RD_DELAY                           0x210
+#define     MAX_RD_DELAY__VALUE                                0x000f
+
+#define CS_SETUP_CNT                           0x220
+#define     CS_SETUP_CNT__VALUE                                0x001f
+
+#define SPARE_AREA_SKIP_BYTES                  0x230
+#define     SPARE_AREA_SKIP_BYTES__VALUE               0x003f
+
+#define SPARE_AREA_MARKER                      0x240
+#define     SPARE_AREA_MARKER__VALUE                   0xffff
+
+#define DEVICES_CONNECTED                      0x250
+#define     DEVICES_CONNECTED__VALUE                   0x0007
+
+#define DIE_MASK                               0x260
+#define     DIE_MASK__VALUE                            0x00ff
+
+#define FIRST_BLOCK_OF_NEXT_PLANE              0x270
+#define     FIRST_BLOCK_OF_NEXT_PLANE__VALUE           0xffff
+
+#define WRITE_PROTECT                          0x280
+#define     WRITE_PROTECT__FLAG                                0x0001
+
+#define RE_2_RE                                        0x290
+#define     RE_2_RE__VALUE                             0x003f
+
+#define MANUFACTURER_ID                                0x300
+#define     MANUFACTURER_ID__VALUE                     0x00ff
+
+#define DEVICE_ID                              0x310
+#define     DEVICE_ID__VALUE                           0x00ff
+
+#define DEVICE_PARAM_0                         0x320
+#define     DEVICE_PARAM_0__VALUE                      0x00ff
+
+#define DEVICE_PARAM_1                         0x330
+#define     DEVICE_PARAM_1__VALUE                      0x00ff
+
+#define DEVICE_PARAM_2                         0x340
+#define     DEVICE_PARAM_2__VALUE                      0x00ff
+
+#define LOGICAL_PAGE_DATA_SIZE                 0x350
+#define     LOGICAL_PAGE_DATA_SIZE__VALUE              0xffff
+
+#define LOGICAL_PAGE_SPARE_SIZE                        0x360
+#define     LOGICAL_PAGE_SPARE_SIZE__VALUE             0xffff
+
+#define REVISION                               0x370
+#define     REVISION__VALUE                            0xffff
+
+#define ONFI_DEVICE_FEATURES                   0x380
+#define     ONFI_DEVICE_FEATURES__VALUE                        0x003f
+
+#define ONFI_OPTIONAL_COMMANDS                 0x390
+#define     ONFI_OPTIONAL_COMMANDS__VALUE              0x003f
+
+#define ONFI_TIMING_MODE                       0x3a0
+#define     ONFI_TIMING_MODE__VALUE                    0x003f
+
+#define ONFI_PGM_CACHE_TIMING_MODE             0x3b0
+#define     ONFI_PGM_CACHE_TIMING_MODE__VALUE          0x003f
+
+#define ONFI_DEVICE_NO_OF_LUNS                 0x3c0
+#define     ONFI_DEVICE_NO_OF_LUNS__NO_OF_LUNS         0x00ff
+#define     ONFI_DEVICE_NO_OF_LUNS__ONFI_DEVICE                0x0100
+
+#define ONFI_DEVICE_NO_OF_BLOCKS_PER_LUN_L     0x3d0
+#define     ONFI_DEVICE_NO_OF_BLOCKS_PER_LUN_L__VALUE  0xffff
+
+#define ONFI_DEVICE_NO_OF_BLOCKS_PER_LUN_U     0x3e0
+#define     ONFI_DEVICE_NO_OF_BLOCKS_PER_LUN_U__VALUE  0xffff
+
+#define FEATURES                                       0x3f0
+#define     FEATURES__N_BANKS                          0x0003
+#define     FEATURES__ECC_MAX_ERR                      0x003c
+#define     FEATURES__DMA                              0x0040
+#define     FEATURES__CMD_DMA                          0x0080
+#define     FEATURES__PARTITION                                0x0100
+#define     FEATURES__XDMA_SIDEBAND                    0x0200
+#define     FEATURES__GPREG                            0x0400
+#define     FEATURES__INDEX_ADDR                       0x0800
+
+#define TRANSFER_MODE                          0x400
+#define     TRANSFER_MODE__VALUE                       0x0003
+
+#define INTR_STATUS(__bank)    (0x410 + ((__bank) * 0x50))
+#define INTR_EN(__bank)                (0x420 + ((__bank) * 0x50))
+
+/*
+ * Some versions of the IP have the ECC fixup handled in hardware.  In this
+ * configuration we only get interrupted when the error is uncorrectable.
+ * Unfortunately this bit replaces INTR_STATUS__ECC_TRANSACTION_DONE from the
+ * old IP.
+ */
+#define     INTR_STATUS__ECC_UNCOR_ERR                 0x0001
+#define     INTR_STATUS__ECC_TRANSACTION_DONE          0x0001
+#define     INTR_STATUS__ECC_ERR                       0x0002
+#define     INTR_STATUS__DMA_CMD_COMP                  0x0004
+#define     INTR_STATUS__TIME_OUT                      0x0008
+#define     INTR_STATUS__PROGRAM_FAIL                  0x0010
+#define     INTR_STATUS__ERASE_FAIL                    0x0020
+#define     INTR_STATUS__LOAD_COMP                     0x0040
+#define     INTR_STATUS__PROGRAM_COMP                  0x0080
+#define     INTR_STATUS__ERASE_COMP                    0x0100
+#define     INTR_STATUS__PIPE_CPYBCK_CMD_COMP          0x0200
+#define     INTR_STATUS__LOCKED_BLK                    0x0400
+#define     INTR_STATUS__UNSUP_CMD                     0x0800
+#define     INTR_STATUS__INT_ACT                       0x1000
+#define     INTR_STATUS__RST_COMP                      0x2000
+#define     INTR_STATUS__PIPE_CMD_ERR                  0x4000
+#define     INTR_STATUS__PAGE_XFER_INC                 0x8000
+
+#define     INTR_EN__ECC_TRANSACTION_DONE              0x0001
+#define     INTR_EN__ECC_ERR                           0x0002
+#define     INTR_EN__DMA_CMD_COMP                      0x0004
+#define     INTR_EN__TIME_OUT                          0x0008
+#define     INTR_EN__PROGRAM_FAIL                      0x0010
+#define     INTR_EN__ERASE_FAIL                                0x0020
+#define     INTR_EN__LOAD_COMP                         0x0040
+#define     INTR_EN__PROGRAM_COMP                      0x0080
+#define     INTR_EN__ERASE_COMP                                0x0100
+#define     INTR_EN__PIPE_CPYBCK_CMD_COMP              0x0200
+#define     INTR_EN__LOCKED_BLK                                0x0400
+#define     INTR_EN__UNSUP_CMD                         0x0800
+#define     INTR_EN__INT_ACT                           0x1000
+#define     INTR_EN__RST_COMP                          0x2000
+#define     INTR_EN__PIPE_CMD_ERR                      0x4000
+#define     INTR_EN__PAGE_XFER_INC                     0x8000
+
+#define PAGE_CNT(__bank)       (0x430 + ((__bank) * 0x50))
+#define ERR_PAGE_ADDR(__bank)  (0x440 + ((__bank) * 0x50))
+#define ERR_BLOCK_ADDR(__bank) (0x450 + ((__bank) * 0x50))
+
+#define DATA_INTR                              0x550
+#define     DATA_INTR__WRITE_SPACE_AV                  0x0001
+#define     DATA_INTR__READ_DATA_AV                    0x0002
+
+#define DATA_INTR_EN                           0x560
+#define     DATA_INTR_EN__WRITE_SPACE_AV               0x0001
+#define     DATA_INTR_EN__READ_DATA_AV                 0x0002
+
+#define GPREG_0                                        0x570
+#define     GPREG_0__VALUE                             0xffff
+
+#define GPREG_1                                        0x580
+#define     GPREG_1__VALUE                             0xffff
+
+#define GPREG_2                                        0x590
+#define     GPREG_2__VALUE                             0xffff
+
+#define GPREG_3                                        0x5a0
+#define     GPREG_3__VALUE                             0xffff
+
+#define ECC_THRESHOLD                          0x600
+#define     ECC_THRESHOLD__VALUE                       0x03ff
+
+#define ECC_ERROR_BLOCK_ADDRESS                        0x610
+#define     ECC_ERROR_BLOCK_ADDRESS__VALUE             0xffff
+
+#define ECC_ERROR_PAGE_ADDRESS                 0x620
+#define     ECC_ERROR_PAGE_ADDRESS__VALUE              0x0fff
+#define     ECC_ERROR_PAGE_ADDRESS__BANK               0xf000
+
+#define ECC_ERROR_ADDRESS                      0x630
+#define     ECC_ERROR_ADDRESS__OFFSET                  0x0fff
+#define     ECC_ERROR_ADDRESS__SECTOR_NR               0xf000
+
+#define ERR_CORRECTION_INFO                    0x640
+#define     ERR_CORRECTION_INFO__BYTEMASK              0x00ff
+#define     ERR_CORRECTION_INFO__DEVICE_NR             0x0f00
+#define     ERR_CORRECTION_INFO__ERROR_TYPE            0x4000
+#define     ERR_CORRECTION_INFO__LAST_ERR_INFO         0x8000
+
+#define DMA_ENABLE                             0x700
+#define     DMA_ENABLE__FLAG                           0x0001
+
+#define IGNORE_ECC_DONE                                0x710
+#define     IGNORE_ECC_DONE__FLAG                      0x0001
+
+#define DMA_INTR                               0x720
+#define     DMA_INTR__TARGET_ERROR                     0x0001
+#define     DMA_INTR__DESC_COMP_CHANNEL0               0x0002
+#define     DMA_INTR__DESC_COMP_CHANNEL1               0x0004
+#define     DMA_INTR__DESC_COMP_CHANNEL2               0x0008
+#define     DMA_INTR__DESC_COMP_CHANNEL3               0x0010
+#define     DMA_INTR__MEMCOPY_DESC_COMP                0x0020
+
+#define DMA_INTR_EN                            0x730
+#define     DMA_INTR_EN__TARGET_ERROR                  0x0001
+#define     DMA_INTR_EN__DESC_COMP_CHANNEL0            0x0002
+#define     DMA_INTR_EN__DESC_COMP_CHANNEL1            0x0004
+#define     DMA_INTR_EN__DESC_COMP_CHANNEL2            0x0008
+#define     DMA_INTR_EN__DESC_COMP_CHANNEL3            0x0010
+#define     DMA_INTR_EN__MEMCOPY_DESC_COMP             0x0020
+
+#define TARGET_ERR_ADDR_LO                     0x740
+#define     TARGET_ERR_ADDR_LO__VALUE                  0xffff
+
+#define TARGET_ERR_ADDR_HI                     0x750
+#define     TARGET_ERR_ADDR_HI__VALUE                  0xffff
+
+#define CHNL_ACTIVE                            0x760
+#define     CHNL_ACTIVE__CHANNEL0                      0x0001
+#define     CHNL_ACTIVE__CHANNEL1                      0x0002
+#define     CHNL_ACTIVE__CHANNEL2                      0x0004
+#define     CHNL_ACTIVE__CHANNEL3                      0x0008
+
+#define ACTIVE_SRC_ID                          0x800
+#define     ACTIVE_SRC_ID__VALUE                       0x00ff
+
+#define PTN_INTR                                       0x810
+#define     PTN_INTR__CONFIG_ERROR                     0x0001
+#define     PTN_INTR__ACCESS_ERROR_BANK0               0x0002
+#define     PTN_INTR__ACCESS_ERROR_BANK1               0x0004
+#define     PTN_INTR__ACCESS_ERROR_BANK2               0x0008
+#define     PTN_INTR__ACCESS_ERROR_BANK3               0x0010
+#define     PTN_INTR__REG_ACCESS_ERROR                 0x0020
+
+#define PTN_INTR_EN                            0x820
+#define     PTN_INTR_EN__CONFIG_ERROR                  0x0001
+#define     PTN_INTR_EN__ACCESS_ERROR_BANK0            0x0002
+#define     PTN_INTR_EN__ACCESS_ERROR_BANK1            0x0004
+#define     PTN_INTR_EN__ACCESS_ERROR_BANK2            0x0008
+#define     PTN_INTR_EN__ACCESS_ERROR_BANK3            0x0010
+#define     PTN_INTR_EN__REG_ACCESS_ERROR              0x0020
+
+#define PERM_SRC_ID(__bank)    (0x830 + ((__bank) * 0x40))
+#define     PERM_SRC_ID__SRCID                         0x00ff
+#define     PERM_SRC_ID__DIRECT_ACCESS_ACTIVE          0x0800
+#define     PERM_SRC_ID__WRITE_ACTIVE                  0x2000
+#define     PERM_SRC_ID__READ_ACTIVE                   0x4000
+#define     PERM_SRC_ID__PARTITION_VALID               0x8000
+
+#define MIN_BLK_ADDR(__bank)   (0x840 + ((__bank) * 0x40))
+#define     MIN_BLK_ADDR__VALUE                                0xffff
+
+#define MAX_BLK_ADDR(__bank)   (0x850 + ((__bank) * 0x40))
+#define     MAX_BLK_ADDR__VALUE                                0xffff
+
+#define MIN_MAX_BANK(__bank)   (0x860 + ((__bank) * 0x40))
+#define     MIN_MAX_BANK__MIN_VALUE                    0x0003
+#define     MIN_MAX_BANK__MAX_VALUE                    0x000c
+
+/* lld.h */
+#define GOOD_BLOCK 0
+#define DEFECTIVE_BLOCK 1
+#define READ_ERROR 2
+
+#define CLK_X  5
+#define CLK_MULTI 4
+
+/* spectraswconfig.h */
+#define CMD_DMA 0
+
+#define SPECTRA_PARTITION_ID    0
+/**** Block Table and Reserved Block Parameters *****/
+#define SPECTRA_START_BLOCK     3
+#define NUM_FREE_BLOCKS_GATE    30
+
+/* KBV - Updated to LNW scratch register address */
+#define SCRATCH_REG_ADDR    CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR
+#define SCRATCH_REG_SIZE    64
+
+#define GLOB_HWCTL_DEFAULT_BLKS    2048
+
+#define CUSTOM_CONF_PARAMS      0
+
+#ifndef _LLD_NAND_
+#define _LLD_NAND_
+
+#define INDEX_CTRL_REG    0x0
+#define INDEX_DATA_REG    0x10
+
+#define MODE_00    0x00000000
+#define MODE_01    0x04000000
+#define MODE_10    0x08000000
+#define MODE_11    0x0C000000
+
+
+#define DATA_TRANSFER_MODE              0
+#define PROTECTION_PER_BLOCK            1
+#define LOAD_WAIT_COUNT                 2
+#define PROGRAM_WAIT_COUNT              3
+#define ERASE_WAIT_COUNT                4
+#define INT_MONITOR_CYCLE_COUNT         5
+#define READ_BUSY_PIN_ENABLED           6
+#define MULTIPLANE_OPERATION_SUPPORT    7
+#define PRE_FETCH_MODE                  8
+#define CE_DONT_CARE_SUPPORT            9
+#define COPYBACK_SUPPORT                10
+#define CACHE_WRITE_SUPPORT             11
+#define CACHE_READ_SUPPORT              12
+#define NUM_PAGES_IN_BLOCK              13
+#define ECC_ENABLE_SELECT               14
+#define WRITE_ENABLE_2_READ_ENABLE      15
+#define ADDRESS_2_DATA                  16
+#define READ_ENABLE_2_WRITE_ENABLE      17
+#define TWO_ROW_ADDRESS_CYCLES          18
+#define MULTIPLANE_ADDRESS_RESTRICT     19
+#define ACC_CLOCKS                      20
+#define READ_WRITE_ENABLE_LOW_COUNT     21
+#define READ_WRITE_ENABLE_HIGH_COUNT    22
+
+#define ECC_SECTOR_SIZE     512
+
+#define DENALI_BUF_SIZE                (NAND_MAX_PAGESIZE + NAND_MAX_OOBSIZE)
+
+struct nand_buf {
+       int head;
+       int tail;
+       /* seprating dma_buf as buf can be used for status read purpose */
+       uint8_t dma_buf[DENALI_BUF_SIZE]  __aligned(64);
+       uint8_t buf[DENALI_BUF_SIZE];
+};
+
+#define INTEL_CE4100   1
+#define INTEL_MRST     2
+#define DT             3
+
+struct denali_nand_info {
+       struct mtd_info mtd;
+       struct nand_chip *nand;
+
+       int flash_bank; /* currently selected chip */
+       int status;
+       int platform;
+       struct nand_buf buf;
+       struct device *dev;
+       int total_used_banks;
+       uint32_t block;  /* stored for future use */
+       uint32_t page;
+       void __iomem *flash_reg;  /* Mapped io reg base address */
+       void __iomem *flash_mem;  /* Mapped io reg base address */
+
+       /* elements used by ISR */
+       /*struct completion complete;*/
+
+       uint32_t irq_status;
+       int irq_debug_array[32];
+       int idx;
+       int irq;
+
+       uint32_t devnum;        /* represent how many nands connected */
+       uint32_t fwblks; /* represent how many blocks FW used */
+       uint32_t totalblks;
+       uint32_t blksperchip;
+       uint32_t bbtskipbytes;
+       uint32_t max_banks;
+};
+
+#endif /*_LLD_NAND_*/
index 7153e3ca3630a2219d09dfca487cc7dcafa00a55..0b6e7ee385c8da9bc5e5ad1f08c5e274e73edd15 100644 (file)
@@ -308,8 +308,7 @@ static void ioread16_rep(void *addr, void *buf, int len)
 {
        int i;
        u16 *p = (u16 *) buf;
-       len >>= 1;
+
        for (i = 0; i < len; i++)
                p[i] = readw(addr);
 }
@@ -318,7 +317,6 @@ static void iowrite16_rep(void *addr, void *buf, int len)
 {
        int i;
         u16 *p = (u16 *) buf;
-        len >>= 1;
 
         for (i = 0; i < len; i++)
                 writew(p[i], addr);
index 856eb4cfbed97b2952eec76f22feb893962687d6..453edf0149518cd69c945adcf2b3a270ddaebb62 100644 (file)
@@ -68,9 +68,12 @@ const struct spi_flash_params spi_flash_params_table[] = {
        {"M25P40",         0x202013, 0x0,       64 * 1024,     8,       0,                        0},
        {"M25P80",         0x202014, 0x0,       64 * 1024,    16,       0,                        0},
        {"M25P16",         0x202015, 0x0,       64 * 1024,    32,       0,                        0},
+       {"M25PE16",        0x208015, 0x1000,    64 * 1024,    32,       0,                        0},
+       {"M25PX16",        0x207115, 0x1000,    64 * 1024,    32, RD_EXTN,                        0},
        {"M25P32",         0x202016, 0x0,       64 * 1024,    64,       0,                        0},
        {"M25P64",         0x202017, 0x0,       64 * 1024,   128,       0,                        0},
        {"M25P128",        0x202018, 0x0,      256 * 1024,    64,       0,                        0},
+       {"M25PX64",        0x207117, 0x0,       64 * 1024,   128,       0,                  SECT_4K},
        {"N25Q32",         0x20ba16, 0x0,       64 * 1024,    64, RD_FULL,         WR_QPP | SECT_4K},
        {"N25Q32A",        0x20bb16, 0x0,       64 * 1024,    64, RD_FULL,         WR_QPP | SECT_4K},
        {"N25Q64",         0x20ba17, 0x0,       64 * 1024,   128, RD_FULL,         WR_QPP | SECT_4K},
index 1954b7e8860f411f97825caa93735f2c054e839e..59cca0f4d998d1d6b87f9b7ca0a16180f8840bcd 100644 (file)
@@ -56,8 +56,10 @@ void spl_spi_load_image(void)
         * Load U-Boot image from SPI flash into RAM
         */
 
-       flash = spi_flash_probe(CONFIG_SPL_SPI_BUS, CONFIG_SPL_SPI_CS,
-                               CONFIG_SF_DEFAULT_SPEED, SPI_MODE_3);
+       flash = spi_flash_probe(CONFIG_SF_DEFAULT_BUS,
+                               CONFIG_SF_DEFAULT_CS,
+                               CONFIG_SF_DEFAULT_SPEED,
+                               CONFIG_SF_DEFAULT_MODE);
        if (!flash) {
                puts("SPI probe failed.\n");
                hang();
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
index 0eba57cf0cece2d9f9715f5bc84f80ee743ac92a..6e8765cf7b61bebc6060e26ef31143d8b784f25b 100644 (file)
@@ -5362,7 +5362,9 @@ e1000_initialize(bd_t * bis)
                hw->autoneg_failed = 0;
                hw->autoneg = 1;
                hw->get_link_status = true;
+#ifndef CONFIG_E1000_NO_NVM
                hw->eeprom_semaphore_present = true;
+#endif
                hw->hw_addr = pci_map_bar(devno,        PCI_BASE_ADDRESS_0,
                                                        PCI_REGION_MEM);
                hw->mac_type = e1000_undefined;
diff --git a/drivers/pci/Kconfig b/drivers/pci/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/drivers/pcmcia/Kconfig b/drivers/pcmcia/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/drivers/power/Kconfig b/drivers/power/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
index b030526b6a1f51f182b1fd6a7558c641b5f0b32a..7fb0b92078d327782e18f2004ea12b6808f35f91 100644 (file)
@@ -475,7 +475,7 @@ static void __usbtty_puts (const char *str, int len)
                if (space) {
                        write_buffer (&usbtty_output);
 
-                       n = MIN (space, MIN (len, maxlen));
+                       n = min(space, min(len, maxlen));
                        buf_push (&usbtty_output, str, n);
 
                        str += n;
@@ -882,7 +882,7 @@ static int write_buffer (circbuf_t * buf)
                        space_avail =
                                current_urb->buffer_length -
                                current_urb->actual_length;
-                       popnum = MIN (space_avail, buf->size);
+                       popnum = min(space_avail, buf->size);
                        if (popnum == 0)
                                break;
 
diff --git a/drivers/sound/Kconfig b/drivers/sound/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
index 942a208c2cfcb6349a6af684945ce04dbace310f..3d58bcc1b955d140b8dc4a3937eba4db59dc6d35 100644 (file)
@@ -18,7 +18,7 @@
 
 static struct kwspi_registers *spireg = (struct kwspi_registers *)KW_SPI_BASE;
 
-u32 cs_spi_mpp_back[2];
+static u32 cs_spi_mpp_back[2];
 
 struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
                                unsigned int max_hz, unsigned int mode)
@@ -37,7 +37,7 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
        if (!slave)
                return NULL;
 
-       writel(~KWSPI_CSN_ACT | KWSPI_SMEMRDY, &spireg->ctrl);
+       writel(KWSPI_SMEMRDY, &spireg->ctrl);
 
        /* calculate spi clock prescaller using max_hz */
        data = ((CONFIG_SYS_TCLK / 2) / max_hz) + 0x10;
@@ -46,7 +46,7 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
 
        /* program spi clock prescaller using max_hz */
        writel(KWSPI_ADRLEN_3BYTE | data, &spireg->cfg);
-       debug("data = 0x%08x \n", data);
+       debug("data = 0x%08x\n", data);
 
        writel(KWSPI_SMEMRDIRQ, &spireg->irq_cause);
        writel(KWSPI_IRQMASK, &spireg->irq_mask);
@@ -100,7 +100,6 @@ int spi_claim_bus(struct spi_slave *slave)
 
        /* set new spi mpp and save current mpp config */
        kirkwood_mpp_conf(spi_mpp_config, spi_mpp_backup);
-
 #endif
 
        return board_spi_claim_bus(slave);
@@ -127,7 +126,7 @@ void spi_release_bus(struct spi_slave *slave)
  */
 int spi_cs_is_valid(unsigned int bus, unsigned int cs)
 {
-       return (bus == 0 && (cs == 0 || cs == 1));
+       return bus == 0 && (cs == 0 || cs == 1);
 }
 #endif
 
@@ -137,12 +136,12 @@ void spi_init(void)
 
 void spi_cs_activate(struct spi_slave *slave)
 {
-       writel(readl(&spireg->ctrl) | KWSPI_IRQUNMASK, &spireg->ctrl);
+       setbits_le32(&spireg->ctrl, KWSPI_CSN_ACT);
 }
 
 void spi_cs_deactivate(struct spi_slave *slave)
 {
-       writel(readl(&spireg->ctrl) & KWSPI_IRQMASK, &spireg->ctrl);
+       clrbits_le32(&spireg->ctrl, KWSPI_CSN_ACT);
 }
 
 int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
@@ -161,8 +160,7 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
         * handle data in 8-bit chunks
         * TBD: 2byte xfer mode to be enabled
         */
-       writel(((readl(&spireg->cfg) & ~KWSPI_XFERLEN_MASK) |
-               KWSPI_XFERLEN_1BYTE), &spireg->cfg);
+       clrsetbits_le32(&spireg->cfg, KWSPI_XFERLEN_MASK, KWSPI_XFERLEN_1BYTE);
 
        while (bitlen > 4) {
                debug("loopstart bitlen %d\n", bitlen);
@@ -170,9 +168,9 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
 
                /* Shift data so it's msb-justified */
                if (dout)
-                       tmpdout = *(u32 *) dout & 0x0ff;
+                       tmpdout = *(u32 *)dout & 0xff;
 
-               writel(~KWSPI_SMEMRDIRQ, &spireg->irq_cause);
+               clrbits_le32(&spireg->irq_cause, KWSPI_SMEMRDIRQ);
                writel(tmpdout, &spireg->dout); /* Write the data out */
                debug("*** spi_xfer: ... %08x written, bitlen %d\n",
                      tmpdout, bitlen);
@@ -186,12 +184,11 @@ int spi_xfer(struct spi_slave *slave, unsigned int bitlen, const void *dout,
                        if (readl(&spireg->irq_cause) & KWSPI_SMEMRDIRQ) {
                                isread = 1;
                                tmpdin = readl(&spireg->din);
-                               debug
-                                       ("spi_xfer: din %p..%08x read\n",
-                                       din, tmpdin);
+                               debug("spi_xfer: din %p..%08x read\n",
+                                     din, tmpdin);
 
                                if (din) {
-                                       *((u8 *) din) = (u8) tmpdin;
+                                       *((u8 *)din) = (u8)tmpdin;
                                        din += 1;
                                }
                                if (dout)
index 2d5f3850da8e95b41f7bcbfb227eb9958c8d15c6..026f680d80d90e60591d04bb3b092058df371883 100644 (file)
@@ -25,6 +25,11 @@ static unsigned long spi_bases[] = {
        MXC_SPI_BASE_ADDRESSES
 };
 
+__weak int board_spi_cs_gpio(unsigned bus, unsigned cs)
+{
+       return -1;
+}
+
 #define OUT    MXC_GPIO_DIRECTION_OUT
 
 #define reg_read readl
@@ -371,31 +376,30 @@ void spi_init(void)
 {
 }
 
-static int decode_cs(struct mxc_spi_slave *mxcs, unsigned int cs)
+/*
+ * Some SPI devices require active chip-select over multiple
+ * transactions, we achieve this using a GPIO. Still, the SPI
+ * controller has to be configured to use one of its own chipselects.
+ * To use this feature you have to implement board_spi_cs_gpio() to assign
+ * a gpio value for each cs (-1 if cs doesn't need to use gpio).
+ * You must use some unused on this SPI controller cs between 0 and 3.
+ */
+static int setup_cs_gpio(struct mxc_spi_slave *mxcs,
+                        unsigned int bus, unsigned int cs)
 {
        int ret;
 
-       /*
-        * Some SPI devices require active chip-select over multiple
-        * transactions, we achieve this using a GPIO. Still, the SPI
-        * controller has to be configured to use one of its own chipselects.
-        * To use this feature you have to call spi_setup_slave() with
-        * cs = internal_cs | (gpio << 8), and you have to use some unused
-        * on this SPI controller cs between 0 and 3.
-        */
-       if (cs > 3) {
-               mxcs->gpio = cs >> 8;
-               cs &= 3;
-               ret = gpio_direction_output(mxcs->gpio, !(mxcs->ss_pol));
-               if (ret) {
-                       printf("mxc_spi: cannot setup gpio %d\n", mxcs->gpio);
-                       return -EINVAL;
-               }
-       } else {
-               mxcs->gpio = -1;
+       mxcs->gpio = board_spi_cs_gpio(bus, cs);
+       if (mxcs->gpio == -1)
+               return 0;
+
+       ret = gpio_direction_output(mxcs->gpio, !(mxcs->ss_pol));
+       if (ret) {
+               printf("mxc_spi: cannot setup gpio %d\n", mxcs->gpio);
+               return -EINVAL;
        }
 
-       return cs;
+       return 0;
 }
 
 struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
@@ -415,14 +419,12 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,
 
        mxcs->ss_pol = (mode & SPI_CS_HIGH) ? 1 : 0;
 
-       ret = decode_cs(mxcs, cs);
+       ret = setup_cs_gpio(mxcs, bus, cs);
        if (ret < 0) {
                free(mxcs);
                return NULL;
        }
 
-       cs = ret;
-
        mxcs->base = spi_bases[bus];
 
        ret = spi_cfg_mxc(mxcs, cs, max_hz, mode);
diff --git a/drivers/tpm/Kconfig b/drivers/tpm/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/drivers/usb/Kconfig b/drivers/usb/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
index b7c10384a33e968cfc50d751061f2c84b98208d9..3559400b284778d838f20cedc9043a29767e26c6 100644 (file)
@@ -269,7 +269,7 @@ static void dw_write_noniso_tx_fifo(struct usb_endpoint_instance
                UDCDBGA("urb->buffer %p, buffer_length %d, actual_length %d",
                        urb->buffer, urb->buffer_length, urb->actual_length);
 
-               last = MIN(urb->actual_length - endpoint->sent,
+               last = min(urb->actual_length - endpoint->sent,
                           endpoint->tx_packetSize);
 
                if (last) {
@@ -285,7 +285,7 @@ static void dw_write_noniso_tx_fifo(struct usb_endpoint_instance
 
                        align = ((ulong)cp % sizeof(int));
                        if (align)
-                               last = MIN(last, sizeof(int) - align);
+                               last = min(last, sizeof(int) - align);
 
                        UDCDBGA("endpoint->sent %d, tx_packetSize %d, last %d",
                                endpoint->sent, endpoint->tx_packetSize, last);
index b3214882f76b5ad0c03f62a482fe7f7149661d91..4ba2f3d99fd67861bc1d9fee5bba71b69315d3d0 100644 (file)
@@ -315,7 +315,7 @@ static int ep0_get_descriptor (struct usb_device_instance *device,
                        /*copy_config(urb, &report_descriptor->bData[0], report_descriptor->wLength, max); */
                        if (max - urb->actual_length > 0) {
                                int length =
-                                       MIN (report_descriptor->wLength,
+                                       min(report_descriptor->wLength,
                                             max - urb->actual_length);
                                memcpy (urb->buffer + urb->actual_length,
                                        &report_descriptor->bData[0], length);
index 7a1acb9df02be0d47a7fd492eaa1004d9c45232a..38c09658cc6aa54e9c41d434849aa31d842cdfa1 100644 (file)
@@ -10,6 +10,7 @@
  *
  * SPDX-License-Identifier:    GPL-2.0+
  */
+#include <config.h>
 #include <common.h>
 #include <errno.h>
 #include <malloc.h>
@@ -19,6 +20,9 @@
 #include <linux/compiler.h>
 #include <version.h>
 #include <g_dnl.h>
+#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
+#include <fb_mmc.h>
+#endif
 
 #define FASTBOOT_VERSION               "0.4"
 
@@ -38,7 +42,7 @@
 struct f_fastboot {
        struct usb_function usb_function;
 
-       /* IN/OUT EP's and correspoinding requests */
+       /* IN/OUT EP's and corresponding requests */
        struct usb_ep *in_ep, *out_ep;
        struct usb_request *in_req, *out_req;
 };
@@ -290,7 +294,7 @@ static int fastboot_add(struct usb_configuration *c)
 }
 DECLARE_GADGET_BIND_CALLBACK(usb_dnl_fastboot, fastboot_add);
 
-int fastboot_tx_write(const char *buffer, unsigned int buffer_size)
+static int fastboot_tx_write(const char *buffer, unsigned int buffer_size)
 {
        struct usb_request *in_req = fastboot_func->in_req;
        int ret;
@@ -338,6 +342,7 @@ static void cb_getvar(struct usb_ep *ep, struct usb_request *req)
 
        strsep(&cmd, ":");
        if (!cmd) {
+               error("missing variable\n");
                fastboot_tx_write_str("FAILmissing var");
                return;
        }
@@ -358,6 +363,7 @@ static void cb_getvar(struct usb_ep *ep, struct usb_request *req)
                else
                        strcpy(response, "FAILValue not set");
        } else {
+               error("unknown variable: %s\n", cmd);
                strcpy(response, "FAILVariable not implemented");
        }
        fastboot_tx_write_str(response);
@@ -469,6 +475,28 @@ static void cb_boot(struct usb_ep *ep, struct usb_request *req)
        fastboot_tx_write_str("OKAY");
 }
 
+#ifdef CONFIG_FASTBOOT_FLASH
+static void cb_flash(struct usb_ep *ep, struct usb_request *req)
+{
+       char *cmd = req->buf;
+       char response[RESPONSE_LEN];
+
+       strsep(&cmd, ":");
+       if (!cmd) {
+               error("missing partition name\n");
+               fastboot_tx_write_str("FAILmissing partition name");
+               return;
+       }
+
+       strcpy(response, "FAILno flash device defined");
+#ifdef CONFIG_FASTBOOT_FLASH_MMC_DEV
+       fb_mmc_flash_write(cmd, (void *)CONFIG_USB_FASTBOOT_BUF_ADDR,
+                          download_bytes, response);
+#endif
+       fastboot_tx_write_str(response);
+}
+#endif
+
 struct cmd_dispatch_info {
        char *cmd;
        void (*cb)(struct usb_ep *ep, struct usb_request *req);
@@ -488,6 +516,12 @@ static const struct cmd_dispatch_info cmd_dispatch_info[] = {
                .cmd = "boot",
                .cb = cb_boot,
        },
+#ifdef CONFIG_FASTBOOT_FLASH
+       {
+               .cmd = "flash",
+               .cb = cb_flash,
+       },
+#endif
 };
 
 static void rx_handler_command(struct usb_ep *ep, struct usb_request *req)
@@ -503,10 +537,12 @@ static void rx_handler_command(struct usb_ep *ep, struct usb_request *req)
                }
        }
 
-       if (!func_cb)
+       if (!func_cb) {
+               error("unknown command: %s\n", cmdbuf);
                fastboot_tx_write_str("FAILunknown command");
-       else
+       } else {
                func_cb(ep, req);
+       }
 
        if (req->status == 0) {
                *cmdbuf = '\0';
index 7f72972dccedaa2535c80098ec33400d487a0afb..b3e178abefb457cd801ee78994b54c4dd95b51b7 100644 (file)
@@ -897,7 +897,7 @@ static int mpc8xx_udc_ep_tx (struct usb_endpoint_instance *epi)
                pkt_len = urb->actual_length - epi->sent;
 
                if (pkt_len > epi->tx_packetSize || pkt_len > EP_MAX_PKT) {
-                       pkt_len = MIN (epi->tx_packetSize, EP_MAX_PKT);
+                       pkt_len = min(epi->tx_packetSize, EP_MAX_PKT);
                }
 
                for (x = 0; x < pkt_len; x++) {
@@ -942,7 +942,7 @@ static int mpc8xx_udc_ep_tx (struct usb_endpoint_instance *epi)
 
                /* TX ACK : USB 2.0 8.7.2, Toggle PID, Advance TX */
                epi->sent += pkt_len;
-               epi->last = MIN (urb->actual_length - epi->sent, epi->tx_packetSize);
+               epi->last = min(urb->actual_length - epi->sent, epi->tx_packetSize);
                TOGGLE_TX_PID (ep_ref[ep].pid);
 
                if (epi->sent >= epi->tx_urb->actual_length) {
index 733558def7d0659e2047453b74372588aba73e9f..efd5c7fda146177cb521dd819fcae332679a60bb 100644 (file)
@@ -65,7 +65,7 @@ static int udc_write_urb(struct usb_endpoint_instance *endpoint)
        if (!urb || !urb->actual_length)
                return -1;
 
-       n = MIN(urb->actual_length - endpoint->sent, endpoint->tx_packetSize);
+       n = min(urb->actual_length - endpoint->sent, endpoint->tx_packetSize);
        if (n <= 0)
                return -1;
 
diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/drivers/watchdog/Kconfig b/drivers/watchdog/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/dts/Kconfig b/dts/Kconfig
new file mode 100644 (file)
index 0000000..83ba7a6
--- /dev/null
@@ -0,0 +1,55 @@
+#
+# Device Tree Control
+#
+# TODO:
+#   This feature is not currently supported for SPL,
+#    but this restriction should be removed in the future.
+
+config SUPPORT_OF_CONTROL
+       bool
+
+menu "Device Tree Control"
+       depends on !SPL_BUILD
+       depends on SUPPORT_OF_CONTROL
+
+config OF_CONTROL
+       bool "Run-time configuration via Device Tree"
+       help
+         This feature provides for run-time configuration of U-Boot
+         via a flattened device tree.
+
+choice
+       prompt "Provider of DTB for DT control"
+       depends on OF_CONTROL
+
+config OF_SEPARATE
+       bool "Separate DTB for DT control"
+       depends on !SANDBOX
+       help
+         If this option is enabled, the device tree will be built and
+         placed as a separate u-boot.dtb file alongside the U-Boot image.
+
+config OF_EMBED
+       bool "Embedded DTB for DT control"
+       help
+         If this option is enabled, the device tree will be picked up and
+         built into the U-Boot image.
+
+config OF_HOSTFILE
+       bool "Host filed DTB for DT control"
+       depends on SANDBOX
+       help
+         If this option is enabled, DTB will be read from a file on startup.
+         This is only useful for Sandbox.  Use the -d flag to U-Boot to
+         specify the file to read.
+
+endchoice
+
+config DEFAULT_DEVICE_TREE
+       string "Default Device Tree for DT control"
+       help
+         This option specifies the default Device Tree used for DT control.
+         It can be overrided from the command line:
+         $ make DEVICE_TREE=<device-tree-name>
+
+endmenu
diff --git a/fs/Kconfig b/fs/Kconfig
new file mode 100644 (file)
index 0000000..41bb0b9
--- /dev/null
@@ -0,0 +1,19 @@
+#
+# File system configuration
+#
+
+menu "File systems"
+
+source "fs/ext4/Kconfig"
+
+source "fs/reiserfs/Kconfig"
+
+source "fs/fat/Kconfig"
+
+source "fs/jffs2/Kconfig"
+
+source "fs/ubifs/Kconfig"
+
+source "fs/cramfs/Kconfig"
+
+endmenu
diff --git a/fs/cramfs/Kconfig b/fs/cramfs/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/fs/ext4/Kconfig b/fs/ext4/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/fs/fat/Kconfig b/fs/fat/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/fs/jffs2/Kconfig b/fs/jffs2/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/fs/reiserfs/Kconfig b/fs/reiserfs/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/fs/ubifs/Kconfig b/fs/ubifs/Kconfig
new file mode 100644 (file)
index 0000000..e69de29
index 099d51718b987039f5e1c93cfae5686b5e2f28e6..818d3d926d2a3a349ac2e96bef28bc93e24b49cf 100644 (file)
@@ -772,7 +772,7 @@ zap_leaf_array_equal(zap_leaf_phys_t *l, zfs_endian_t endian,
 
        while (bseen < array_len) {
                struct zap_leaf_array *la = &ZAP_LEAF_CHUNK(l, blksft, chunk).l_array;
-               int toread = MIN(array_len - bseen, ZAP_LEAF_ARRAY_BYTES);
+               int toread = min(array_len - bseen, ZAP_LEAF_ARRAY_BYTES);
 
                if (chunk >= ZAP_LEAF_NUMCHUNKS(blksft))
                        return 0;
@@ -794,7 +794,7 @@ zap_leaf_array_get(zap_leaf_phys_t *l, zfs_endian_t endian, int blksft,
 
        while (bseen < array_len) {
                struct zap_leaf_array *la = &ZAP_LEAF_CHUNK(l, blksft, chunk).l_array;
-               int toread = MIN(array_len - bseen, ZAP_LEAF_ARRAY_BYTES);
+               int toread = min(array_len - bseen, ZAP_LEAF_ARRAY_BYTES);
 
                if (chunk >= ZAP_LEAF_NUMCHUNKS(blksft))
                        /* Don't use errno because this error is to be ignored.  */
@@ -2118,7 +2118,7 @@ zfs_read(zfs_file_t file, char *buf, uint64_t len)
                data->file_start = blkid * blksz;
                data->file_end = data->file_start + blksz;
 
-               movesize = MIN(length, data->file_end - (int) file->offset - red);
+               movesize = min(length, data->file_end - (int)file->offset - red);
 
                memmove(buf, data->file_buf + file->offset + red
                                - data->file_start, movesize);
index 97c04df588ed641d50435f571342e0bb8b640a34..d5020c8c45d1afc515e02433ea2513ab6b99d28e 100644 (file)
@@ -181,9 +181,6 @@ typedef void (interrupt_handler_t)(void *);
                typeof(Y) __y = (Y);            \
                (__x > __y) ? __x : __y; })
 
-#define MIN(x, y)  min(x, y)
-#define MAX(x, y)  max(x, y)
-
 #define min3(X, Y, Z)                          \
        ({ typeof(X) __x = (X);                 \
                typeof(Y) __y = (Y);            \
@@ -198,9 +195,6 @@ typedef void (interrupt_handler_t)(void *);
                __x > __y ? (__x > __z ? __x : __z) :   \
                (__y > __z ? __y : __z); })
 
-#define MIN3(x, y, z)  min3(x, y, z)
-#define MAX3(x, y, z)  max3(x, y, z)
-
 /*
  * Return the absolute value of a number.
  *
index 9afc11be1942d6b9e2c4ba19ed059fd288447685..14519163a32bfa13d2df16a22d66735b28b52138 100644 (file)
@@ -129,9 +129,6 @@ typedef unsigned long int uintptr_t;
 
 #endif /* USE_HOSTCC */
 
-/* compiler options */
-#define uninitialized_var(x)           x = x
-
 #define likely(x)      __builtin_expect(!!(x), 1)
 #define unlikely(x)    __builtin_expect(!!(x), 0)
 
diff --git a/include/config_cmd_defaults.h b/include/config_cmd_defaults.h
deleted file mode 100644 (file)
index a55b268..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-/*
- * config_cmd_defaults.h - sane defaults for everyone
- *
- * Copyright (c) 2010-2011 Analog Devices Inc.
- *
- * Licensed under the GPL-2 or later.
- */
-
-#ifndef _CONFIG_CMD_DEFAULTS_H_
-#define _CONFIG_CMD_DEFAULTS_H_
-
-#define CONFIG_CMD_BOOTM 1
-#define CONFIG_CMD_CRC32 1
-#define CONFIG_CMD_EXPORTENV 1
-#define CONFIG_CMD_GO 1
-#define CONFIG_CMD_IMPORTENV 1
-
-#endif
index 90d990157f63baf410eb84a35e2b2e6df32c9877..be616e8bfd0e0578d54c0414e29599885ada17e8 100644 (file)
 #endif
 
 #ifdef CONFIG_CMD_SCSI
-#define BOOTENV_SHARED_SCSI    BOOTENV_SHARED_BLKDEV(scsi)
+#define BOOTENV_RUN_SCSI_INIT "run scsi_init; "
+#define BOOTENV_SET_SCSI_NEED_INIT "setenv scsi_need_init; "
+#define BOOTENV_SHARED_SCSI \
+       "scsi_init=" \
+               "if ${scsi_need_init}; then " \
+                       "setenv scsi_need_init false; " \
+                       "scsi scan; " \
+               "fi\0" \
+       \
+       "scsi_boot=" \
+               BOOTENV_RUN_SCSI_INIT \
+               BOOTENV_SHARED_BLKDEV_BODY(scsi)
 #define BOOTENV_DEV_SCSI       BOOTENV_DEV_BLKDEV
 #define BOOTENV_DEV_NAME_SCSI  BOOTENV_DEV_NAME_BLKDEV
 #else
+#define BOOTENV_RUN_SCSI_INIT
+#define BOOTENV_SET_SCSI_NEED_INIT
 #define BOOTENV_SHARED_SCSI
 #define BOOTENV_DEV_SCSI \
        BOOT_TARGET_DEVICES_references_SCSI_without_CONFIG_CMD_SCSI
        \
        BOOT_TARGET_DEVICES(BOOTENV_DEV)                                  \
        \
-       "bootcmd=" BOOTENV_SET_USB_NEED_INIT                              \
+       "bootcmd=" BOOTENV_SET_USB_NEED_INIT BOOTENV_SET_SCSI_NEED_INIT   \
                "for target in ${boot_targets}; do "                      \
                        "run bootcmd_${target}; "                         \
                "done\0"
index 9001fcbc92ee7eb4b300ba4c45db63e498f9427c..5e2c100d9309b1b86cbc1ffa06e43031c0ddb076 100644 (file)
 #define CONFIG_FSL_ESPI
 #define CONFIG_SPI_FLASH
 #define CONFIG_SPI_FLASH_STMICRO
+#define CONFIG_SPI_FLASH_BAR
 #define CONFIG_CMD_SF
 #define CONFIG_SF_DEFAULT_SPEED         10000000
 #define CONFIG_SF_DEFAULT_MODE          0
index aef0ad3fbe955fd09f1f4e92b2c4665bd73cd817..e2f7ead9bc32e3040f73547b173317f5ca3ea504 100644 (file)
@@ -23,9 +23,6 @@
 # define CONFIG_TIMESTAMP
 # define CONFIG_LZO
 # ifdef CONFIG_ENABLE_VBOOT
-#  define CONFIG_OF_CONTROL
-#  define CONFIG_OF_SEPARATE
-#  define CONFIG_DEFAULT_DEVICE_TREE am335x-boneblack
 #  define CONFIG_FIT_SIGNATURE
 #  define CONFIG_RSA
 # endif
 #define CONFIG_SPL_SPI_SUPPORT
 #define CONFIG_SPL_SPI_FLASH_SUPPORT
 #define CONFIG_SPL_SPI_LOAD
-#define CONFIG_SPL_SPI_BUS             0
-#define CONFIG_SPL_SPI_CS              0
 #define CONFIG_SYS_SPI_U_BOOT_OFFS     0x20000
 
 #define CONFIG_ENV_IS_IN_SPI_FLASH
index 75f99337780179d2d204d3dc013dffb80ff073d7..43077cf851fd2d59ca77d971d497de257b31d3c8 100644 (file)
@@ -22,8 +22,6 @@
 #define CONFIG_DISPLAY_CPUINFO
 #define CONFIG_DISPLAY_BOARDINFO
 
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
 
 /* Allow tracing to be enabled */
 #define CONFIG_TRACE
 #define CONFIG_POWER_I2C
 #define CONFIG_POWER_MAX77686
 
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos5250-arndale
 
 #define CONFIG_PREBOOT
 
index c1eda96385188614b429707e8cd82564f5f87bba..d0828d5f5c107b9bb1aa943f45f80706e333c20a 100644 (file)
 #define CONFIG_MTD_DEVICE
 #define CONFIG_MTD_PARTITIONS
 #define CONFIG_SYS_HUSH_PARSER
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /*
  * Pull in common ADI header for remaining command/environment setup
index d8ed717f5a4e2dfed12c2e6336fef1842bfc3bb8..164b2dd9518ecd3b8f8aaad30be083ac3740bc18 100644 (file)
 /* VDD core PMIC */
 #define CONFIG_TEGRA_VDD_CORE_TPS62366A_SET1
 
-/* Enable fdt support for Beaver. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra30-beaver
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
-
 /* High-level configuration options */
 #define V_PROMPT               "Tegra30 (Beaver) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Beaver"
index 5db181984f30957bae05fd5d9106db939d6c5a53..0b66cdbc01b848e2d4210acf9b138fdcc48e17be 100644 (file)
@@ -85,8 +85,6 @@
  */
 #define CONFIG_ENV_IS_NOWHERE
 #define CONFIG_ENV_SIZE 0x400
-#undef CONFIG_CMD_EXPORTENV
-#undef CONFIG_CMD_IMPORTENV
 
 
 /*
 #define CONFIG_CMD_MEMORY
 #undef CONFIG_GZIP
 #undef CONFIG_ZLIB
-#undef CONFIG_CMD_BOOTM
 #undef CONFIG_BOOTM_RTEMS
 #undef CONFIG_BOOTM_LINUX
 
index 9e374c4024498a034e2e88b52b9bcf1c28e3f8e8..20f6ed1992f82055736ba4a1f0ecdd7a4986bee3 100644 (file)
 #define CONFIG_MISC_INIT_R
 #define CONFIG_RTC_BFIN
 #define CONFIG_UART_CONSOLE    0
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /*
  * Pull in common ADI header for remaining command/environment setup
index 972eca9c1742a79bf5eeff82507db1e70b815e51..c33d035022843fd3fa5072bd4ace9e5bde7f4dbe 100644 (file)
 #define CONFIG_MISC_INIT_R
 #define CONFIG_RTC_BFIN
 #define CONFIG_UART_CONSOLE    1
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /* define to enable run status via led */
 /* #define CONFIG_STATUS_LED */
index c0dfe2685bfa5436d83928e36092a400d2b8ef5a..b497f26773808ee598f40b5589e0cd75be69cecd 100644 (file)
  */
 #define CONFIG_MISC_INIT_R
 #define CONFIG_UART_CONSOLE    0
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /*
  * Pull in common ADI header for remaining command/environment setup
index 92c183e27c25cf47382f427c8ee7c235dd261255..0bca53f2a69c7427e2068b5051ea950ff8b40263 100644 (file)
 #define CONFIG_MISC_INIT_R
 #define CONFIG_RTC_BFIN
 #define CONFIG_UART_CONSOLE    1
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /*
  * Pull in common ADI header for remaining command/environment setup
index 458868af7269fafbc028463aec794e801824e608..9d43b811e3e9e0fac993ee5fafa8956e10e3d4f2 100644 (file)
  */
 #define CONFIG_MISC_INIT_R
 #define CONFIG_UART_CONSOLE    0
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /*
  * Pull in common ADI header for remaining command/environment setup
index b50352823e75dcc60f2eaa386384c37653e16049..0fda967ac24ac2b183cbdec0e87ae3ed48dbf8d4 100644 (file)
 #define CONFIG_MISC_INIT_R
 #define CONFIG_RTC_BFIN
 #define CONFIG_UART_CONSOLE    0
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /*
  * Pull in common ADI header for remaining command/environment setup
index 3d36d84c7cb0c26b2d12e0a7881c2aa1a42a686e..ae4d83a8f1430265f4d2ed6e0c5b8ad5214d02f4 100644 (file)
  */
 #define CONFIG_RTC_BFIN
 #define CONFIG_UART_CONSOLE    0
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /* FLASH/ETHERNET uses the same async bank */
 #define SHARED_RESOURCES       1
index a302f839a1ec239b9d96e83d4a5b26374a717f91..29f9316067dda1b205d8dc7ac9b0eb04440e5806 100644 (file)
 #define CONFIG_MISC_INIT_R
 #define CONFIG_RTC_BFIN
 #define CONFIG_UART_CONSOLE    0
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /* Define if want to do post memory test */
 #undef CONFIG_POST
index 32df5ec8f09757437338539637449759f8a4f419..a65528246d68b15fbbd2c25471f22424cbc698bb 100644 (file)
  */
 #define CONFIG_RTC_BFIN
 #define CONFIG_UART_CONSOLE    0
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /*
  * Pull in common ADI header for remaining command/environment setup
index 1a245a2b81818d9272b18403ec61f974fecc0e40..da5f0294351c0c5f3288d9fc935d17e395ba1af5 100644 (file)
 #define CONFIG_RTC_BFIN
 #define CONFIG_UART_CONSOLE    1
 #define CONFIG_BFIN_SPI_IMG_SIZE 0x50000
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 #define CONFIG_ADI_GPIO2
 
index 3db917e37bc296fee647aafffa215d9324e140a4..6871d8c422265308d6955c51ac5779de9525efd0 100644 (file)
 #define CONFIG_UART_CONSOLE                    0
 #define CONFIG_BAUDRATE                                57600
 #define CONFIG_SYS_PROMPT "Acvilon> "
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /*
  * Pull in common ADI header for remaining command/environment setup
index 0a309d926944e101e5e7e604a67d06e30867e21a..fb6f94873af222f5e4d25a4790bf647ff0c42e0a 100644 (file)
  * Misc Settings
  */
 #define CONFIG_UART_CONSOLE    0
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /*
  * Run core 1 from L1 SRAM start address when init uboot on core 0
index f8d3158d47500cb924552fae98661b2381b98319..3f240085e3f22b3b7d3d70fb963c7afad84b18e8 100644 (file)
 #define CONFIG_BOOTCOMMAND     "run nandboot"
 #define CONFIG_BOOTDELAY       2
 #define CONFIG_LOADADDR                0x2000000
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /*
  * Pull in common ADI header for remaining command/environment setup
index 3f889f8d4f468adabbd34476cfd4fe0d624e9b4c..e9d5d0162013b63a22a20a710a86ff855fbd1e09 100644 (file)
 #undef CONFIG_CMD_NFS
 #undef CONFIG_CMD_SETGETDCR
 #undef CONFIG_CMD_XIMG
-#undef CONFIG_CMD_CRC32
 /* define command we need always */
 #define CONFIG_CMD_ECHO
 #define CONFIG_CMD_SOURCE
index 59f429cf5784def97ff4a19428cded9f845ddf7f..09129c77673a9b98dfe47d63fde1307279fd8afa 100644 (file)
 /* VDD core PMIC */
 #define CONFIG_TEGRA_VDD_CORE_TPS62361B_SET3
 
-/* Enable fdt support for Cardhu. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra30-cardhu
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
-
 /* High-level configuration options */
 #define V_PROMPT               "Tegra30 (Cardhu) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Cardhu"
index 8d3ae49913ed365824d669b8ccbaad3a0f5fa42e..f5351ad2643d5c37855d48ab0b42a2aa6e1e77c6 100644 (file)
 #define FLASHBOOT_ENV_SETTINGS \
        "flashboot=flread 20040000 1000000 300000;" \
        "bootm 0x1000000\0"
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /*
  * Pull in common ADI header for remaining command/environment setup
index 8bd499a7d2ce2eec36fa13275ffe1717d981e692..485f01a01c04f6f76bdd2e7e39d6cf6eb06679d1 100644 (file)
@@ -97,7 +97,6 @@
 #define CONFIG_UART_CONSOLE    0
 #define CONFIG_BOOTCOMMAND     "run flashboot"
 #define FLASHBOOT_ENV_SETTINGS "flashboot=bootm 0x20040000\0"
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /*
  * Pull in common ADI header for remaining command/environment setup
index 47967d7120306e9ba34682d0fe70d6aa21366f8a..1729b44a1bf308d92baa33782f4a11532f30564d 100644 (file)
        "flashboot=flread 20040000 1000000 3c0000;" \
        "bootm 0x1000000\0"
 #define CONFIG_BOARD_SIZE_LIMIT $$((384 * 1024))
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /*
  * Pull in common ADI header for remaining command/environment setup
index 88c99821b1e4d3cf662e402d655bea8df1d5e8b2..272aa744a95cc9065d23eac4cf2d2760f77fc09d 100644 (file)
        "flashboot=flread 20040000 1000000 300000;" \
        "bootm 0x1000000\0"
 #define CONFIG_BOARD_SIZE_LIMIT $$((384 * 1024))
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /*
  * Pull in common ADI header for remaining command/environment setup
index 346e27f3ebd83a6722b09fccc563ceb0e03aefa3..7f27eda416da7ecf3e4a8de60434f798cab8bf0f 100644 (file)
 #define CONFIG_UART_CONSOLE    1
 #define CONFIG_BOOTCOMMAND     "run flashboot"
 #define FLASHBOOT_ENV_SETTINGS "flashboot=bootm 0x20040000\0"
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 #define CONFIG_ADI_GPIO2
 
index 5265e5f6ef0682cb6fa31aa6b20c5e6a9c227cf1..96910a7afd27cab60ddbc1241277b20c01a32088 100644 (file)
@@ -99,7 +99,6 @@
 #define CONFIG_UART_CONSOLE    0
 #define CONFIG_BOOTCOMMAND     "run flashboot"
 #define FLASHBOOT_ENV_SETTINGS "flashboot=bootm 0x20040000\0"
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /*
  * Pull in common ADI header for remaining command/environment setup
index 6f9e08cac08e131b7bf6a020f94f21e349adb3cb..2b876fede111ecac108939edb02b557e94991a45 100644 (file)
@@ -9,11 +9,6 @@
 
 #include "tegra20-common.h"
 
-/* Enable FDT support */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-colibri_t20_iris
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
-
 /* High-level configuration options */
 #define V_PROMPT                   "Tegra20 (Colibri) # "
 #define CONFIG_TEGRA_BOARD_STRING  "Toradex Colibri T20 on Iris"
index eacff5b7921df473eceaf05a31a219933173a688..782b9d16b7a4f7c8ab1fcf1fa6e9a9647505170e 100644 (file)
@@ -11,9 +11,6 @@
 
 #include "tegra30-common.h"
 
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra30-colibri
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
 
 #define V_PROMPT                       "Colibri T30 # "
 #define CONFIG_TEGRA_BOARD_STRING      "Toradex Colibri T30"
index 7eaaf69951b2ce153960bd4abac0f7a9e890074c..bfcfa0c8c97ecc5dc5ca980d86ed344025796ba7 100644 (file)
 #define CONFIG_BOARD_EARLY_INIT_F
 #define CONFIG_BOARD_EARLY_INIT_R
 #define CONFIG_LAST_STAGE_INIT
-#undef CONFIG_CMD_BOOTM
 
 #endif /* CONFIG_TRAILBLAZER */
 
index a1a63a018decc9cdae59e6d1f13a660a5685034e..936be145119d1e55a810ccc95bb922cb8a9b0f72 100644 (file)
@@ -28,9 +28,6 @@
 
 #define CONFIG_LMB
 #define CONFIG_OF_LIBFDT
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
-#define CONFIG_DEFAULT_DEVICE_TREE     link
 
 #define CONFIG_BOOTSTAGE
 #define CONFIG_BOOTSTAGE_REPORT
index 1252d7a54a921f9734ca4c4a0d6f5543f1ca7079..5f857557375232948f9c4b26e23a08013483cb1c 100644 (file)
 #define CONFIG_SPL_SPI_SUPPORT
 #define CONFIG_SPL_SPI_FLASH_SUPPORT
 #define CONFIG_SPL_SPI_LOAD
-#define CONFIG_SPL_SPI_BUS 0
-#define CONFIG_SPL_SPI_CS 0
 #define CONFIG_SYS_SPI_U_BOOT_OFFS     0x8000
 #define CONFIG_SYS_SPI_U_BOOT_SIZE     0x30000
 #endif
 #define CONFIG_SPL_SPI_SUPPORT
 #define CONFIG_SPL_SPI_FLASH_SUPPORT
 #define CONFIG_SPL_SPI_LOAD
-#define CONFIG_SPL_SPI_BUS 0
-#define CONFIG_SPL_SPI_CS 0
 #define CONFIG_SPL_SERIAL_SUPPORT
 #define CONFIG_SPL_LIBCOMMON_SUPPORT
 #define CONFIG_SPL_LIBGENERIC_SUPPORT
index fd774a3314fcc98f86e512c9a49c7c72a9dc8dca..ff7ec4a93bb79b0b9de7229b6f864dc314828c23 100644 (file)
 
 #include "tegra114-common.h"
 
-/* Enable fdt support for Dalmore. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra114-dalmore
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
-
 /* High-level configuration options */
 #define V_PROMPT               "Tegra114 (Dalmore) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Dalmore"
index 4143a4ddeb4283ed1473128f9ca850ecc5a26d7e..2eaabdefeea6b791fc8f4cee5e72b220a47773c7 100644 (file)
 #define CONFIG_SPL_SPI_SUPPORT
 #define CONFIG_SPL_SPI_LOAD
 #define CONFIG_SPL_SPI_FLASH_SUPPORT
-#define CONFIG_SPL_SPI_BUS             0
-#define CONFIG_SPL_SPI_CS              0
 #define CONFIG_SYS_SPI_U_BOOT_OFFS     0x40000
 
 #define CONFIG_SUPPORT_EMMC_BOOT
index a7fd43bc7b8e56a8a8b0c1257a5dc69b1b57858d..185edbe7fea538995c92c090f7bd4af07860fcc3 100644 (file)
 #define CONFIG_SPI_FLASH_SST
 #define CONFIG_MXC_SPI
 #define CONFIG_SF_DEFAULT_BUS          0
-#define CONFIG_SF_DEFAULT_CS           (0 | (IMX_GPIO_NR(2, 30) << 8))
+#define CONFIG_SF_DEFAULT_CS           0
 #define CONFIG_SF_DEFAULT_SPEED                20000000
 #define CONFIG_SF_DEFAULT_MODE         SPI_MODE_0
 #endif
index 7dac1a3717564db3ba1f1dea9679c01cd0fbff19..99472acd0cb381e0bab6a335a2dfa7d0cc01d984 100644 (file)
 #define CONFIG_BOARD_COMMON
 #define CONFIG_SYS_GENERIC_BOARD
 
-/* Enable fdt support */
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
-
 #define CONFIG_SYS_CACHELINE_SIZE      32
 
 /* input clock of PLL: EXYNOS4 boards have 24MHz input clock */
index a7c629286313d768dc9e36436229726d363e13f5..1dc30025237225706e5118bae2e7df2dd933ba34 100644 (file)
 #define CONFIG_ARCH_EARLY_INIT_R
 #define CONFIG_EXYNOS_SPL
 
-/* Enable fdt support for Exynos5250 */
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
-
 /* Allow tracing to be enabled */
 #define CONFIG_TRACE
 #define CONFIG_CMD_TRACE
index 0e5c20097d1cfd0781e68d2883fcac031921664b..620f9501d255741c921d699713fd779a3e9b4774 100644 (file)
@@ -61,7 +61,7 @@
   #define CONFIG_SPI_FLASH_BAR
   #define CONFIG_SPI_FLASH_WINBOND
   #define CONFIG_SF_DEFAULT_BUS              0
-  #define CONFIG_SF_DEFAULT_CS               (0|(IMX_GPIO_NR(3, 19)<<8))
+  #define CONFIG_SF_DEFAULT_CS               0
                                             /* GPIO 3-19 (21248) */
   #define CONFIG_SF_DEFAULT_SPEED            30000000
   #define CONFIG_SF_DEFAULT_MODE             (SPI_MODE_0)
index 9470ad6abcfd98606db71bd66c6a775b7559be8b..109cee985bced836356446b63d758723569ced33 100644 (file)
 #define CONFIG_BAUDRATE                        115200
 #define CONFIG_SYS_BAUDRATE_TABLE      { 9600, 38400, 115200 }
 
-#define CONFIG_CMD_IMPORTENV           1
 #define CONFIG_CMD_LOADB
 #define CONFIG_CMD_SOURCE
 #define CONFIG_CMD_RUN
index 3ec0e418c1eca0451f390ac56433b8f283f9943d..ff9fbc9965a25e0856c3849d8628eb98b2f0144a 100644 (file)
 #include <linux/sizes.h>
 #include "tegra20-common.h"
 
-/* Enable fdt support for Harmony. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-harmony
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
-
 /* High-level configuration options */
 #define V_PROMPT               "Tegra20 (Harmony) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Harmony"
index 3767502faa59dfa4c18d234a10d38e0d2f24cad5..ec510bdac421757a54086fc1e6892ca166d31212 100644 (file)
 #define CONFIG_BAUDRATE                115200
 #define CONFIG_MISC_INIT_R     /* needed for MAC address */
 #define CONFIG_UART_CONSOLE    0
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 #undef CONFIG_SHOW_BOOT_PROGRESS
 /* Enable this if bootretry required; currently it's disabled */
index d03a66cd224015041733fff1095affa9a4033e0b..d67c025b9c61cd75c254ab6fd7cba867da7ae3e6 100644 (file)
 
 #include "tegra124-common.h"
 
-/* Enable fdt support for Jetson TK1. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra124-jetson-tk1
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
-
 /* High-level configuration options */
 #define V_PROMPT                       "Tegra124 (Jetson TK1) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Jetson TK1"
index 43db581c75deed9ceb00e9ae04eadda6abea0a4d..51926f721f17e6305d408dfe2e08d1816e97a5cd 100644 (file)
@@ -58,8 +58,6 @@
 #define CONFIG_SPL_SPI_SUPPORT
 #define CONFIG_SPL_BOARD_INIT
 #define CONFIG_SPL_SPI_LOAD
-#define CONFIG_SPL_SPI_BUS             0
-#define CONFIG_SPL_SPI_CS              0
 #define CONFIG_SYS_SPI_U_BOOT_OFFS     CONFIG_SPL_PAD_TO
 #define CONFIG_SPL_FRAMEWORK
 
index 0860434f22999c4ba36bea800513c090ffc89e32..29b263f301f6b80dccfbbec33b48cc2b11104220 100644 (file)
@@ -89,7 +89,6 @@
 #undef CONFIG_BOOTM_RTEMS
 #undef CONFIG_GZIP
 #undef CONFIG_ZLIB
-#undef CONFIG_CMD_CRC32
 
 /* USB configuration */
 #define CONFIG_USB_MUSB_DSPS
index 40155c37960c4ff018550d46086022b0e8802c60..ac5208fa0d342573059c24e075adb5e39c2c87bf 100644 (file)
 
 #include "tegra20-common.h"
 
-/* Enable fdt support for Medcom-Wide. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-medcom-wide
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
-
 /* High-level configuration options */
 #define V_PROMPT                       "Tegra20 (Medcom-Wide) # "
 #define CONFIG_TEGRA_BOARD_STRING      "Avionic Design Medcom-Wide"
index 1a82a57c755f1b5ef311152b16a9d794c3f28176..bb070600021b4a7da9728aaaafd3c9ba132ddf5c 100644 (file)
 /* MicroBlaze CPU */
 #define        MICROBLAZE_V5           1
 
-/* Open Firmware DTS */
-#define CONFIG_OF_CONTROL      1
-#define CONFIG_OF_EMBED                1
-#define CONFIG_DEFAULT_DEVICE_TREE microblaze-generic
-
 /* linear and spi flash memory */
 #ifdef XILINX_FLASH_START
 #define        FLASH
index 0f2a4ef973fee989c50f4ff1249028e4d31a9f61..fce7ead977a5caebb7c09a098b116a1d66358241 100644 (file)
 
 #define CONFIG_SPI_FLASH
 #define CONFIG_SPI_FLASH_SST
-#define CONFIG_SF_DEFAULT_CS           (1 | 121 << 8)
+#define CONFIG_SF_DEFAULT_CS           1
 #define CONFIG_SF_DEFAULT_MODE         (SPI_MODE_0)
 #define CONFIG_SF_DEFAULT_SPEED                25000000
 
-#define CONFIG_ENV_SPI_CS              (1 | 121 << 8)
+#define CONFIG_ENV_SPI_CS              CONFIG_SF_DEFAULT_CS
 #define CONFIG_ENV_SPI_BUS             0
 #define CONFIG_ENV_SPI_MAX_HZ          25000000
 #define CONFIG_ENV_SPI_MODE            (SPI_MODE_0)
index e59a3b4b058768d1f641ba4e73f2f85a9e26c575..2d93d6c70076fb2a18423773192afa68936084bc 100644 (file)
@@ -74,7 +74,7 @@
 #define CONFIG_SPI_FLASH_STMICRO
 #define CONFIG_MXC_SPI
 #define CONFIG_SF_DEFAULT_BUS          0
-#define CONFIG_SF_DEFAULT_CS           (0 | (IMX_GPIO_NR(4, 9) << 8))
+#define CONFIG_SF_DEFAULT_CS           0
 #define CONFIG_SF_DEFAULT_SPEED                20000000
 #define CONFIG_SF_DEFAULT_MODE         SPI_MODE_0
 #endif
index 194d7bdb76e3b22935f13cf1bf8068819b243d69..4208ba156331b51219484886f93d2dac8bfeeac5 100644 (file)
 #define CONFIG_SPI_FLASH_STMICRO
 #define CONFIG_MXC_SPI
 #define CONFIG_SF_DEFAULT_BUS          0
-#define CONFIG_SF_DEFAULT_CS           (0 | (IMX_GPIO_NR(4, 11) << 8))
+#define CONFIG_SF_DEFAULT_CS           0
 #define CONFIG_SF_DEFAULT_SPEED                20000000
 #define CONFIG_SF_DEFAULT_MODE         SPI_MODE_0
 #endif
index d4b0ac9fdb189150aa42d6c37aa0c3d47502eaeb..39d5bb34bb2995928a5bb686028c3d183218b812 100644 (file)
@@ -53,7 +53,7 @@
 #define CONFIG_SPI_FLASH_SST
 #define CONFIG_MXC_SPI
 #define CONFIG_SF_DEFAULT_BUS  0
-#define CONFIG_SF_DEFAULT_CS   (0|(IMX_GPIO_NR(3, 19)<<8))
+#define CONFIG_SF_DEFAULT_CS   0
 #define CONFIG_SF_DEFAULT_SPEED 25000000
 #define CONFIG_SF_DEFAULT_MODE (SPI_MODE_0)
 #endif
index 29dcc4a298e641750c1dcc5099a686af84953600..b616ac2fbd24bb52faf6186ca3c246a1000f5a94 100644 (file)
@@ -16,8 +16,6 @@
 
 #define CONFIG_SYS_PROMPT      "Odroid # "     /* Monitor Command Prompt */
 
-#undef CONFIG_DEFAULT_DEVICE_TREE
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos4412-odroid
 
 #define CONFIG_SYS_L2CACHE_OFF
 #ifndef CONFIG_SYS_L2CACHE_OFF
index 5d24916389c557f986655548e743b93d176afed7..fb1536c62ca887b84e79cf8da9f2010cbc3d13ef 100644 (file)
@@ -13,8 +13,6 @@
 
 #define CONFIG_SYS_PROMPT              "ORIGEN # "
 
-#undef CONFIG_DEFAULT_DEVICE_TREE
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos4210-origen
 
 /* High Level Configuration Options */
 #define CONFIG_EXYNOS4210              1       /* which is a EXYNOS4210 SoC */
index dd0abf8de6bb87533c2a88eceecf4dba71313d65..45bb47088bc5e67cd886ef32d23543e30e8cb58a 100644 (file)
 #include <linux/sizes.h>
 #include "tegra20-common.h"
 
-/* Enable fdt support for Paz00. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-paz00
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
-
 /* High-level configuration options */
 #define V_PROMPT               "Tegra20 (Paz00) MOD # "
 #define CONFIG_TEGRA_BOARD_STRING      "Compal Paz00"
index 5efcd7613f12d345519893ad212e9ddfde13c3eb..7d102a46996098308dcb09b15ec3d64a8fd791ba 100644 (file)
 #define CONFIG_SPL_SPI_SUPPORT
 #define CONFIG_SPL_SPI_FLASH_SUPPORT
 #define CONFIG_SPL_SPI_LOAD
-#define CONFIG_SPL_SPI_BUS             0
-#define CONFIG_SPL_SPI_CS              0
 #define CONFIG_SYS_SPI_U_BOOT_OFFS     0x20000
 #define CONFIG_SYS_SPI_U_BOOT_SIZE     0x40000
 #endif
index 88c093fb9b4f3c1935b6034c4a9ac3bface3a93b..987cef504c9bd0d31ed23a7d207c6ce59cf8054d 100644 (file)
@@ -13,8 +13,6 @@
 
 #include <configs/exynos5420.h>
 
-#undef CONFIG_DEFAULT_DEVICE_TREE
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos5420-peach-pit
 
 /* select serial console configuration */
 #define CONFIG_SERIAL3         /* use SERIAL 3 */
index a473f232f36e224ceb7838f122ed59bbf7618efc..b663b89d2c709761946c18a2bd5470878f04fbdc 100644 (file)
 
 #include "tegra20-common.h"
 
-/* Enable fdt support for Plutux. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-plutux
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
-
 /* High-level configuration options */
 #define V_PROMPT                       "Tegra20 (Plutux) # "
 #define CONFIG_TEGRA_BOARD_STRING      "Avionic Design Plutux"
index e96ed4b4f281ef44ed972a73d4d214e7a7507fb3..0f57e868a5d6d94c0364096204960d99f781c3c8 100644 (file)
 #define CONFIG_BOOTCOMMAND     "run nandboot"
 #define CONFIG_BOOTDELAY       2
 #define CONFIG_LOADADDR                0x2000000
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /*
  * Pull in common ADI header for remaining command/environment setup
index 20985da9a0e4df6c2625369be434b0887d97f0a6..082d51c52b5aa287cc4ad9597555303dff2753ae 100644 (file)
@@ -14,8 +14,6 @@
 
 #define CONFIG_SYS_PROMPT      "Universal # "  /* Monitor Command Prompt */
 
-#undef CONFIG_DEFAULT_DEVICE_TREE
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos4210-universal_c210
 
 #define CONFIG_TIZEN                   /* TIZEN lib */
 
index 0104d5f90a9bdc24ab2a9088bc9e255386cd43a5..c46baf254f18b7a2c82ff2a0b42b10b601e21b8a 100644 (file)
 #define CONFIG_SPL_SPI_SUPPORT
 #define CONFIG_SPL_SPI_FLASH_SUPPORT
 #define CONFIG_SPL_SPI_LOAD
-#define CONFIG_SPL_SPI_BUS             0
-#define CONFIG_SPL_SPI_CS              0
 #define CONFIG_SYS_SPI_U_BOOT_OFFS     0x8400
 
 #endif
index f5fa4b3ddc30870fd0e348c3dd2caf705530e15e..5d364164c04fa6bea55373e1f76d9645fc18e9d5 100644 (file)
 /* Number of bits in a C 'long' on this architecture */
 #define CONFIG_SANDBOX_BITS_PER_LONG   64
 
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_HOSTFILE
 #define CONFIG_OF_LIBFDT
 #define CONFIG_LMB
 #define CONFIG_FIT
 #define CONFIG_FIT_SIGNATURE
 #define CONFIG_RSA
 #define CONFIG_CMD_FDT
-#define CONFIG_DEFAULT_DEVICE_TREE     sandbox
 #define CONFIG_ANDROID_BOOT_IMAGE
 
 #define CONFIG_FS_FAT
index fc4f976d8d3873fb68990e9b448243d6556d7855..04e4f82759fb780150958033fc3eadd2bc19026c 100644 (file)
 
 #include "tegra20-common.h"
 
-/* Enable fdt support for Seaboard. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-seaboard
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
-
 /* High-level configuration options */
 #define V_PROMPT               "Tegra20 (SeaBoard) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Seaboard"
index b8fb77e8137eda44dd21b610c2aa6c5b0cb1040e..bf9752f874249d485a032f1b21a680bb8d89fe25 100644 (file)
 #define CONFIG_SPL_SPI_SUPPORT
 #define CONFIG_SPL_SPI_FLASH_SUPPORT
 #define CONFIG_SPL_SPI_LOAD
-#define CONFIG_SPL_SPI_BUS             0
-#define CONFIG_SPL_SPI_CS              0
 #define CONFIG_SYS_SPI_U_BOOT_OFFS     0x20000
 
 #define CONFIG_SPL_LDSCRIPT            "$(CPUDIR)/am33xx/u-boot-spl.lds"
index 66fa1799e7b53edc8ea7dad78a82710bdcf04c43..61170941c128e463d877cf98bea4b7a2b45879cf 100644 (file)
@@ -11,8 +11,6 @@
 
 #include <configs/exynos5250-dt.h>
 
-#undef CONFIG_DEFAULT_DEVICE_TREE
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos5250-smdk5250
 
 /* Enable FIT support and comparison */
 #define CONFIG_FIT
index 606739b02e55ce46b68e66c8a11b8553b1a62765..36a156f7a74ccad0f9d42004b65bbafd46f5f95b 100644 (file)
@@ -15,8 +15,6 @@
 
 #define CONFIG_SMDK5420                        /* which is in a SMDK5420 */
 
-#undef CONFIG_DEFAULT_DEVICE_TREE
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos5420-smdk5420
 
 /* select serial console configuration */
 #define CONFIG_SERIAL3         /* use SERIAL 3 */
index 673fa1469b88e2fc468072a5b29bcedb3f74ba55..fbaaa593cc8f112ce495cd2daa3406d8e286976d 100644 (file)
@@ -11,8 +11,6 @@
 
 #include <configs/exynos5250-dt.h>
 
-#undef CONFIG_DEFAULT_DEVICE_TREE
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos5250-snow
 
 /* Enable FIT support and comparison */
 #define CONFIG_FIT
index a77ba697d0fbe83b0dfd636dd325508afc54e5f6..66730267a33432c10f08321c2a4cfb26781e0b0d 100644 (file)
 #define CONFIG_UART_CONSOLE    0
 #define CONFIG_BOOTCOMMAND     "run flashboot"
 #define FLASHBOOT_ENV_SETTINGS "flashboot=bootm 0x20040000\0"
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /*
  * Pull in common ADI header for remaining command/environment setup
index c4c1c579bc102b0815aa5fe99c7500aa7f26e5ef..999834351f3404ab3d0b4a8801163fe9509a7fa4 100644 (file)
        "flashboot=flread 20040000 1000000 300000;" \
        "bootm 0x1000000\0"
 #define CONFIG_BOARD_SIZE_LIMIT $$((384 * 1024))
-#define CONFIG_CC_OPTIMIZE_LIBS_FOR_SPEED
 
 /*
  * Pull in common ADI header for remaining command/environment setup
index 13baa76f9151a6675b03150f67eca126443cab6b..51f87dacdbedf826119c24d8a8435223a7938021 100644 (file)
 
 #include "tegra30-common.h"
 
-/* Enable fdt support for tec-ng. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra30-tec-ng
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
-
 /* High-level configuration options */
 #define V_PROMPT                       "Tegra30 (TEC-NG) # "
 #define CONFIG_TEGRA_BOARD_STRING      "Avionic Design Tamontenâ„¢ NG Evaluation Carrier"
index 90e7b7ad97c54c9aa4ea5e64794a1b1f6a2e9bbe..9ea4ff497115b200bbfebd591f7fa35f414ef460 100644 (file)
 
 #include "tegra20-common.h"
 
-/* Enable fdt support for TEC. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-tec
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
-
 /* High-level configuration options */
 #define V_PROMPT                       "Tegra20 (TEC) # "
 #define CONFIG_TEGRA_BOARD_STRING      "Avionic Design Tamonten Evaluation Carrier"
index c337e3016e7682b7c2e3da2250715b90ca041447..23e3c8af31a8a758b6027d1810f0adce4b8f558a 100644 (file)
@@ -69,7 +69,6 @@
 
 /* remove devicetree support */
 #ifdef CONFIG_OF_CONTROL
-#undef CONFIG_OF_CONTROL
 #endif
 
 /* remove I2C support */
index 6fa646bb8cfecd0f19ef46ac26624b315a3d193d..43751e7938eaaabf96a853659d37852feb11eded 100644 (file)
@@ -16,8 +16,6 @@
 
 #define CONFIG_TRATS
 
-#undef CONFIG_DEFAULT_DEVICE_TREE
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos4210-trats
 
 #define CONFIG_TIZEN                   /* TIZEN lib */
 
index 14508650e46acd3455150e831f227c6a82167e6e..e9a04f7af3b2f6a72e1d6f8d7db4aa661ff1b290 100644 (file)
@@ -15,8 +15,6 @@
 
 #define CONFIG_SYS_PROMPT      "Trats2 # "     /* Monitor Command Prompt */
 
-#undef CONFIG_DEFAULT_DEVICE_TREE
-#define CONFIG_DEFAULT_DEVICE_TREE     exynos4412-trats2
 
 #define CONFIG_TIZEN                   /* TIZEN lib */
 
index f81cfa2e354d4e499e673cfcece60f232b9c4e75..7c0064267dabec1f53beaa14c12fd0d4998b5d32 100644 (file)
 #include <linux/sizes.h>
 #include "tegra20-common.h"
 
-/* Enable fdt support for TrimSlice. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-trimslice
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
-
 /* High-level configuration options */
 #define V_PROMPT               "Tegra20 (TrimSlice) # "
 #define CONFIG_TEGRA_BOARD_STRING      "Compulab Trimslice"
index 1dd13fd1b071ad6b021c889092c2e688a0cfeb38..9a6207048cdc4dacc538d82dce313cd885ee8301 100644 (file)
 #define CONFIG_SPL_SPI_SUPPORT
 #define CONFIG_SPL_SPI_FLASH_SUPPORT
 #define CONFIG_SPL_SPI_LOAD
-#define CONFIG_SPL_SPI_BUS             0
-#define CONFIG_SPL_SPI_CS              0
 #define CONFIG_SYS_SPI_U_BOOT_OFFS     0x20000
 #undef CONFIG_ENV_IS_NOWHERE
 #define CONFIG_ENV_IS_IN_SPI_FLASH
index 5ab4de3274109087d5a418afde559b8bca007607..217ba2fbd9b22bfb68433fce18578b959ad7d246 100644 (file)
@@ -296,7 +296,6 @@ int vct_gpio_get(int pin);
 #undef CONFIG_CMD_BEDBUG
 #undef CONFIG_CMD_CACHE
 #undef CONFIG_CMD_CONSOLE
-#undef CONFIG_CMD_CRC32
 #undef CONFIG_CMD_DHCP
 #undef CONFIG_CMD_EEPROM
 #undef CONFIG_CMD_EEPROM
index 6d4e9991a130db00a53a9ed0eb9daf95cc4de430..6897aa8aa3d81bfe780ffdbf1999ccad2b1c1e97 100644 (file)
 
 #include "tegra124-common.h"
 
-/* Enable fdt support for Venice2. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra124-venice2
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
-
 /* High-level configuration options */
 #define V_PROMPT                       "Tegra124 (Venice2) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Venice2"
index edf3720b615c6e08f5b993106dac803b0f7255a1..f195f8a6eac36c0e3462fe4b5808d5151aba5f02 100644 (file)
 #include <linux/sizes.h>
 #include "tegra20-common.h"
 
-/* Enable fdt support for Ventana. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-ventana
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
-
 /* High-level configuration options */
 #define V_PROMPT               "Tegra20 (Ventana) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Ventana"
index 089793209591ef83f638c855a006890710609aef..f3af971214a53813be6f3c84bada20d81595faed 100644 (file)
@@ -51,7 +51,6 @@
 /* Flat Device Tree Definitions */
 #define CONFIG_OF_LIBFDT
 
-#define CONFIG_DEFAULT_DEVICE_TREE     vexpress64
 
 /* SMP Spin Table Definitions */
 #ifdef CONFIG_BASE_FVP
index 6891bf8b153b2da04aac092532aeaf10d9b76409..3f35076f9e6cfc677649b316a1314732492001a7 100644 (file)
  * Use gpio 4 pin 25 as chip select for SPI flash
  * This corresponds to gpio 121
  */
-#define CONFIG_SF_DEFAULT_CS   (1 | (121 << 8))
+#define CONFIG_SF_DEFAULT_CS    1
 #define CONFIG_SF_DEFAULT_MODE   SPI_MODE_0
 #define CONFIG_SF_DEFAULT_SPEED  25000000
 
-#define CONFIG_ENV_SPI_CS      (1 | (121 << 8))
+#define CONFIG_ENV_SPI_CS      CONFIG_SF_DEFAULT_CS
 #define CONFIG_ENV_SPI_BUS      0
 #define CONFIG_ENV_SPI_MAX_HZ  25000000
 #define CONFIG_ENV_SPI_MODE    SPI_MODE_0
index 9e09f03d5270de7200c6d99d1587409f90b4a3f0..10e70d28b1ae3823330e8e7d2a3ff87984b33ba2 100644 (file)
 #include <linux/sizes.h>
 #include "tegra20-common.h"
 
-/* Enable fdt support for Whistler. Flash the image in u-boot-dtb.bin */
-#define CONFIG_DEFAULT_DEVICE_TREE     tegra20-whistler
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
-
 /* High-level configuration options */
 #define V_PROMPT               "Tegra20 (Whistler) # "
 #define CONFIG_TEGRA_BOARD_STRING      "NVIDIA Whistler"
index 875cb43f15b8d284272aece7ce16251cba61e777..0b4dd665b8c6b9255eca74de2cc1b488739ffc77 100644 (file)
 #define CONFIG_IMAGE_FORMAT_LEGACY /* enable also legacy image format */
 
 /* FDT support */
-#define CONFIG_OF_CONTROL
-#define CONFIG_OF_SEPARATE
 #define CONFIG_DISPLAY_BOARDINFO_LATE
 
 /* RSA support */
 #define CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION    1
 #define CONFIG_SPL_LIBDISK_SUPPORT
 #define CONFIG_SPL_FAT_SUPPORT
-#if defined(CONFIG_OF_CONTROL) && defined(CONFIG_OF_SEPARATE)
-# define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME     "u-boot-dtb.img"
-#else
-# define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME     "u-boot.img"
-#endif
+#define CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME     "u-boot-dtb.img"
 #endif
 
 /* Disable dcache for SPL just for sure */
 #ifdef CONFIG_SPL_BUILD
 #define CONFIG_SYS_DCACHE_OFF
 #undef CONFIG_FPGA
-#undef CONFIG_OF_CONTROL
 #endif
 
 /* Address in RAM where the parameters must be copied by SPL. */
 #define CONFIG_SPL_SPI_SUPPORT
 #define CONFIG_SPL_SPI_LOAD
 #define CONFIG_SPL_SPI_FLASH_SUPPORT
-#define CONFIG_SPL_SPI_BUS     0
 #define CONFIG_SYS_SPI_U_BOOT_OFFS     0x100000
-#define CONFIG_SPL_SPI_CS      0
 #endif
 
 /* for booting directly linux */
index b0328a2cc17683a81cbfbc53fa744a47bf0815bb..549a664ef58e018c7bcc210766dfe41a072b7ac0 100644 (file)
@@ -19,7 +19,6 @@
 #define CONFIG_SYS_NO_FLASH
 
 #define CONFIG_ZYNQ_SDHCI0
-#define CONFIG_DEFAULT_DEVICE_TREE     zynq-microzed
 
 #include <configs/zynq-common.h>
 
index 291a5fef51dd154b0b324458ec61bd5407642fcd..b6590547a9447efe5317523634a839cb5654d872 100644 (file)
@@ -23,7 +23,6 @@
 #define CONFIG_ZYNQ_I2C0
 #define CONFIG_ZYNQ_EEPROM
 #define CONFIG_ZYNQ_BOOT_FREEBSD
-#define CONFIG_DEFAULT_DEVICE_TREE     zynq-zc702
 
 #include <configs/zynq-common.h>
 
index 8aa96e7121b3b60672c0379bd50eb5c71f5af58a..16b904743f1e97f5487f850f81f6c0383a40c724 100644 (file)
 # define CONFIG_ZYNQ_GEM_PHY_ADDR0     7
 # define CONFIG_ZYNQ_SDHCI0
 # define CONFIG_ZYNQ_SPI
-# define CONFIG_DEFAULT_DEVICE_TREE    zynq-zc770-xm010
 
 #elif defined(CONFIG_ZC770_XM012)
 # define CONFIG_ZYNQ_SERIAL_UART1
 # undef CONFIG_SYS_NO_FLASH
-# define CONFIG_DEFAULT_DEVICE_TREE    zynq-zc770-xm012
 
 #elif defined(CONFIG_ZC770_XM013)
 # define CONFIG_ZYNQ_SERIAL_UART0
 # define CONFIG_ZYNQ_GEM1
 # define CONFIG_ZYNQ_GEM_PHY_ADDR1     7
-# define CONFIG_DEFAULT_DEVICE_TREE    zynq-zc770-xm013
 
 #else
 # define CONFIG_ZYNQ_SERIAL_UART0
index ce17d4060cca190b29c1776b153d503c101404a3..946de953e4a755a0dd65f1d225142ff8f3310ab0 100644 (file)
@@ -21,7 +21,6 @@
 #define CONFIG_ZYNQ_USB
 #define CONFIG_ZYNQ_SDHCI0
 #define CONFIG_ZYNQ_BOOT_FREEBSD
-#define CONFIG_DEFAULT_DEVICE_TREE     zynq-zed
 
 #include <configs/zynq-common.h>
 
diff --git a/include/fb_mmc.h b/include/fb_mmc.h
new file mode 100644 (file)
index 0000000..1ad1d13
--- /dev/null
@@ -0,0 +1,8 @@
+/*
+ * Copyright 2014 Broadcom Corporation.
+ *
+ * SPDX-License-Identifier:    GPL-2.0+
+ */
+
+void fb_mmc_flash_write(const char *cmd, void *download_buffer,
+                       unsigned int download_bytes, char *response);
index 557e6273adb391133d2cd5dc06695f69060ca732..507d61ba9a5c0d54d60f54f966391a8a7ef6eae2 100644 (file)
  * together. Assuming _list and _entry are the list and entry names,
  * then the corresponding input section name is
  *
- *   _u_boot_list + _2_ + @_list + _2_ + @_entry
+ *   .u_boot_list_ + 2_ + @_list + _2_ + @_entry
  *
  * and the C variable name is
  *
- *   .u_boot_list_ + 2_ + @_list + _2_ + @_entry
+ *   _u_boot_list + _2_ + @_list + _2_ + @_entry
  *
  * This ensures uniqueness for both input section and C variable name.
  *
index 02ae99e8e6d38a49ba59e76ecb722fce64376a51..e057bd2a844d685b7b30b7f3de2f49a5a8495ccf 100644 (file)
 #endif
 
 #define __deprecated                   __attribute__((deprecated))
+#ifndef __packed
 #define __packed                       __attribute__((packed))
+#endif
+#ifndef __weak
 #define __weak                         __attribute__((weak))
+#endif
 
 /*
  * it doesn't make sense on ARM (currently the only user of __naked) to trace
  * would be.
  * [...]
  */
+#ifndef __pure
 #define __pure                         __attribute__((pure))
+#endif
+#ifndef __aligned
 #define __aligned(x)                   __attribute__((aligned(x)))
+#endif
 #define __printf(a, b)                 __attribute__((format(printf, a, b)))
 #define __scanf(a, b)                  __attribute__((format(scanf, a, b)))
 #define  noinline                      __attribute__((noinline))
  */
 #define uninitialized_var(x) x = x
 
+#ifndef __always_inline
 #define __always_inline                inline __attribute__((always_inline))
+#endif
index 2db53c74c88efa794eeacab10220d49d56bd0a31..408a5b401cd91e66e88b84eab5c1dcef97681522 100644 (file)
 #include <linux/types.h>
 #include <linux/compiler.h>
 
+#ifndef CONFIG_SF_DEFAULT_SPEED
+# define CONFIG_SF_DEFAULT_SPEED       1000000
+#endif
+#ifndef CONFIG_SF_DEFAULT_MODE
+# define CONFIG_SF_DEFAULT_MODE                SPI_MODE_3
+#endif
+#ifndef CONFIG_SF_DEFAULT_CS
+# define CONFIG_SF_DEFAULT_CS          0
+#endif
+#ifndef CONFIG_SF_DEFAULT_BUS
+# define CONFIG_SF_DEFAULT_BUS         0
+#endif
+
 /* sf param flags */
 #define SECT_4K                1 << 1
 #define SECT_32K       1 << 2
diff --git a/lib/Kconfig b/lib/Kconfig
new file mode 100644 (file)
index 0000000..88e5da7
--- /dev/null
@@ -0,0 +1,11 @@
+menu "Library routines"
+
+config CC_OPTIMIZE_LIBS_FOR_SPEED
+       bool "Optimize libraries for speed"
+       help
+         Enabling this option will pass "-O2" to gcc when compiling
+         under "lib" directory.
+
+         If unsure, say N.
+
+endmenu
diff --git a/net/Kconfig b/net/Kconfig
new file mode 100644 (file)
index 0000000..22b9eaa
--- /dev/null
@@ -0,0 +1,10 @@
+#
+# Network configuration
+#
+
+menuconfig NET
+       bool "Networking support"
+
+if NET
+
+endif   # if NET
index 44c39970f30a9daf5c931131001ef4133508d5eb..ced2b9a6b0dc6b1dda10508a68010062de5e3a26 100644 (file)
@@ -74,7 +74,6 @@ define filechk_config_h
                | 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\>;                                \
index 3fed5e4694f8aec4cd9d074f423f331d142332dc..74db2e24fc5e928006c4e7ee7f11c0e75dfd5e9c 100755 (executable)
@@ -2148,7 +2148,7 @@ sub process {
                                "please, no space before tabs\n" . $herevet) &&
                            $fix) {
                                while ($fixed[$linenr - 1] =~
-                                          s/(^\+.*) {8,8}+\t/$1\t\t/) {}
+                                          s/(^\+.*) {8,8}\t/$1\t\t/) {}
                                while ($fixed[$linenr - 1] =~
                                           s/(^\+.*) +\t/$1\t/) {}
                        }
diff --git a/test/cmd_repeat.sh b/test/cmd_repeat.sh
new file mode 100755 (executable)
index 0000000..990e799
--- /dev/null
@@ -0,0 +1,29 @@
+#!/bin/sh
+
+# Test for U-Boot cli including command repeat
+
+BASE="$(dirname $0)"
+. $BASE/common.sh
+
+run_test() {
+       ./${OUTPUT_DIR}/u-boot <<END
+setenv ctrlc_ignore y
+md 0
+
+reset
+END
+}
+check_results() {
+       echo "Check results"
+
+       grep -q 00000100 ${tmp} || fail "Command did not repeat"
+}
+
+echo "Test CLI repeat"
+echo
+tmp="$(tempfile)"
+build_uboot
+run_test >${tmp}
+check_results ${tmp}
+rm ${tmp}
+echo "Test passed"
diff --git a/test/common.sh b/test/common.sh
new file mode 100644 (file)
index 0000000..702d1ed
--- /dev/null
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+OUTPUT_DIR=sandbox
+
+fail() {
+       echo "Test failed: $1"
+       if [ -n ${tmp} ]; then
+               rm ${tmp}
+       fi
+       exit 1
+}
+
+build_uboot() {
+       echo "Build sandbox"
+       OPTS="O=${OUTPUT_DIR} $1"
+       NUM_CPUS=$(grep -c processor /proc/cpuinfo)
+       echo ${OPTS}
+       make ${OPTS} sandbox_config
+       make ${OPTS} -s -j${NUM_CPUS}
+}
index aa02f09475775408024926b5dbbbd005b6d8b243..3e8651ed60151b4aeea5541cf834d2b2868c184d 100755 (executable)
@@ -5,39 +5,25 @@
 
 # Simple test script for tracing with sandbox
 
-OUTPUT_DIR=sandbox
 TRACE_OPT="FTRACE=1"
 
-fail() {
-       echo "Test failed: $1"
-       if [ -n ${tmp} ]; then
-               rm ${tmp}
-       fi
-       exit 1
-}
-
-build_uboot() {
-       echo "Build sandbox"
-       OPTS="O=${OUTPUT_DIR} ${TRACE_OPT}"
-       NUM_CPUS=$(grep -c processor /proc/cpuinfo)
-       make ${OPTS} sandbox_config
-       make ${OPTS} -s -j${NUM_CPUS}
-}
+BASE="$(dirname $0)/.."
+. $BASE/common.sh
 
 run_trace() {
        echo "Run trace"
        ./${OUTPUT_DIR}/u-boot <<END
-       trace stats
-       hash sha256 0 10000
-       trace pause
-       trace stats
-       hash sha256 0 10000
-       trace stats
-       trace resume
-       hash sha256 0 10000
-       trace pause
-       trace stats
-       reset
+trace stats
+hash sha256 0 10000
+trace pause
+trace stats
+hash sha256 0 10000
+trace stats
+trace resume
+hash sha256 0 10000
+trace pause
+trace stats
+reset
 END
 }
 
@@ -69,7 +55,7 @@ check_results() {
 echo "Simple trace test / sanity check using sandbox"
 echo
 tmp="$(tempfile)"
-build_uboot
+build_uboot "${TRACE_OPT}"
 run_trace >${tmp}
 check_results ${tmp}
 rm ${tmp}
index 4927489b161cf5483da0d2d5dc55e0801246ca16..40164f7a35fa95340017e9a608a31702fa4a22b7 100644 (file)
@@ -21,14 +21,16 @@ HOST_EXTRACFLAGS += -DMTD_OLD
 endif
 
 always := fw_printenv
-hostprogs-y := fw_printenv_unstripped
+hostprogs-y := fw_printenv
 
-fw_printenv_unstripped-objs := fw_env.o fw_env_main.o \
+fw_printenv-objs := fw_env.o fw_env_main.o \
        crc32.o ctype.o linux_string.o \
        env_attr.o env_flags.o aes.o
 
-quiet_cmd_strip = STRIP   $@
-      cmd_strip = $(STRIP) -o $@ $<
+quiet_cmd_crosstools_strip = STRIP   $^
+      cmd_crosstools_strip = $(STRIP) $^; touch $@
 
-$(obj)/fw_printenv: $(obj)/fw_printenv_unstripped FORCE
-       $(call if_changed,strip)
+$(obj)/.strip: $(obj)/fw_printenv
+       $(call cmd,crosstools_strip)
+
+always += .strip
index 654100bf07ed692fe5cbd7f1cee5461a95c8414c..23c956bb8ec3ad2928c6f4703c7584df8e9c9e72 100755 (executable)
@@ -328,6 +328,9 @@ class MaintainersDatabase:
         maintainers = []
         status = '-'
         for line in open(file):
+            # Check also commented maintainers
+            if line[:3] == '#M:':
+                line = line[1:]
             tag, rest = line[:2], line[2:].strip()
             if tag == 'M:':
                 maintainers.append(rest)
diff --git a/tools/reformat.py b/tools/reformat.py
deleted file mode 100755 (executable)
index 61306d0..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-#! /usr/bin/python
-########################################################################
-#
-# reorder and reformat a file in columns
-#
-# this utility takes lines from its standard input and reproduces them,
-# partially reordered and reformatted, on its standard output.
-#
-# It has the same effect as a 'sort | column -t', with the exception
-# that empty lines, as well as lines which start with a '#' sign, are
-# not affected, i.e. they keep their position and formatting, and act
-# as separators, i.e. the parts before and after them are each sorted
-# separately (but overall field widths are computed across the whole
-# input).
-#
-# Options:
-#   -i:
-#   --ignore-case:
-#      Do not consider case when sorting.
-#   -d:
-#   --default:
-#      What to chage empty fields to.
-#    -s <N>:
-#    --split=<N>:
-#       Treat only the first N whitespace sequences as separators.
-#       line content after the Nth separator will count as only one
-#       field even if it contains whitespace.
-#       Example : '-s 2' causes input 'a b c d e' to be split into
-#       three fields, 'a', 'b', and 'c d e'.
-#
-# boards.cfg requires -ids 6.
-#
-########################################################################
-
-import sys, getopt, locale
-
-# ensure we sort using the C locale.
-
-locale.setlocale(locale.LC_ALL, 'C')
-
-# check options
-
-maxsplit = 0
-ignore_case = 0
-default_field =''
-
-try:
-       opts, args = getopt.getopt(sys.argv[1:], "id:s:",
-               ["ignore-case","default","split="])
-except getopt.GetoptError as err:
-       print str(err) # will print something like "option -a not recognized"
-       sys.exit(2)
-
-for o, a in opts:
-       if o in ("-s", "--split"):
-               maxsplit = eval(a)
-       elif o in ("-i", "--ignore-case"):
-               ignore_case = 1
-       elif o in ("-d", "--default"):
-               default_field = a
-       else:
-               assert False, "unhandled option"
-
-# collect all lines from standard input and, for the ones which must be
-# reformatted and sorted, count their fields and compute each field's
-# maximum size
-
-input_lines = []
-field_width = []
-
-for line in sys.stdin:
-       # remove final end of line
-       input_line = line.strip('\n')
-       if (len(input_line)>0) and (input_line[0] != '#'):
-               # sortable line: split into fields
-               fields = input_line.split(None,maxsplit)
-               # if there are new fields, top up field_widths
-               for f in range(len(field_width), len(fields)):
-                       field_width.append(0)
-               # compute the maximum witdh of each field
-               for f in range(len(fields)):
-                       field_width[f] = max(field_width[f],len(fields[f]))
-       # collect the line for next stage
-       input_lines.append(input_line)
-
-# run through collected input lines, collect the ones which must be
-# reformatted and sorted, and whenever a non-reformattable, non-sortable
-# line is met, sort the collected lines before it and append them to the
-# output lines, then add the non-sortable line too.
-
-output_lines = []
-sortable_lines = []
-for input_line in input_lines:
-       if (len(input_line)>0) and (input_line[0] != '#'):
-               # this line should be reformatted and sorted
-               input_fields = input_line.split(None,maxsplit)
-               output_fields = [];
-               # reformat each field to this field's column width
-               for f in range(len(input_fields)):
-                       output_field = input_fields[f];
-                       output_fields.append(output_field.ljust(field_width[f]))
-               # any missing field is set to default if it exists
-               if default_field != '':
-                       for f in range(len(input_fields),len(field_width)):
-                               output_fields.append(default_field.ljust(field_width[f]))
-               # join fields using two spaces, like column -t would
-               output_line = '  '.join(output_fields);
-               # collect line for later
-               sortable_lines.append(output_line)
-       else:
-               # this line is non-sortable
-               # sort collected sortable lines
-               if ignore_case!=0:
-                       sortable_lines.sort(key=lambda x: str.lower(locale.strxfrm(x)))
-               else:
-                       sortable_lines.sort(key=lambda x: locale.strxfrm(x))
-               # append sortable lines to the final output
-               output_lines.extend(sortable_lines)
-               sortable_lines = []
-               # append non-sortable line to the final output
-               output_lines.append(input_line)
-# maybe we had sortable lines pending, so append them to the final output
-if ignore_case!=0:
-       sortable_lines.sort(key=lambda x: str.lower(locale.strxfrm(x)))
-else:
-       sortable_lines.sort(key=lambda x: locale.strxfrm(x))
-output_lines.extend(sortable_lines)
-
-# run through output lines and print them, except rightmost whitespace
-
-for output_line in output_lines:
-       print output_line.rstrip()