From e905badacaff9b85d8bb4f0933d1246625293572 Mon Sep 17 00:00:00 2001 From: Justin Waters Date: Fri, 24 May 2013 15:32:40 -0400 Subject: omap3logic: Fix up NAND ECC handling Remove the autogenerated ECC handling header, and instead create multiple U-Boot configurations. This is closer to the way that upstream would handle things. --- Makefile | 31 ++++++++----------------------- board/ti/logic/logic.c | 5 ++--- boards.cfg | 4 +++- include/configs/omap3logic.h | 6 ++---- 4 files changed, 15 insertions(+), 31 deletions(-) diff --git a/Makefile b/Makefile index e2c76de3e6..1a5353e16c 100644 --- a/Makefile +++ b/Makefile @@ -32,7 +32,6 @@ U_BOOT_VERSION = $(VERSION).$(PATCHLEVEL)$(EXTRAVERSION) endif TIMESTAMP_FILE = $(obj)include/timestamp_autogenerated.h VERSION_FILE = $(obj)include/version_autogenerated.h -ECC_METHOD_FILE = $(obj)include/ecc-method_autogenerated.h HOSTARCH := $(shell uname -m | \ sed -e s/i.86/x86/ \ @@ -141,7 +140,7 @@ SUBDIRS = tools \ examples/standalone \ examples/api -.PHONY : $(SUBDIRS) $(VERSION_FILE) $(ECC_METHOD_FILE) +.PHONY : $(SUBDIRS) $(VERSION_FILE) ifeq ($(obj)include/config.mk,$(wildcard $(obj)include/config.mk)) @@ -299,7 +298,7 @@ LIBS += board/$(BOARDDIR)/prod-id/libprod-id.o endif LIBS := $(addprefix $(obj),$(sort $(LIBS))) -.PHONY : $(LIBS) $(TIMESTAMP_FILE) $(ECC_METHOD_FILE) +.PHONY : $(LIBS) $(TIMESTAMP_FILE) LIBBOARD := $(addprefix $(obj),$(LIBBOARD)) @@ -447,19 +446,19 @@ $(LDSCRIPT): depend $(obj)u-boot.lds: $(LDSCRIPT) $(CPP) $(CPPFLAGS) $(LDPPFLAGS) -ansi -D__ASSEMBLY__ -P - <$^ >$@ -nand_spl: $(TIMESTAMP_FILE) $(VERSION_FILE) $(ECC_METHOD_FILE) depend +nand_spl: $(TIMESTAMP_FILE) $(VERSION_FILE) depend $(MAKE) -C nand_spl/board/$(BOARDDIR) all $(obj)u-boot-nand.bin: nand_spl $(obj)u-boot.bin cat $(obj)nand_spl/u-boot-spl-16k.bin $(obj)u-boot.bin > $(obj)u-boot-nand.bin -onenand_ipl: $(TIMESTAMP_FILE) $(VERSION_FILE) $(ECC_METHOD_FILE) $(obj)include/autoconf.mk +onenand_ipl: $(TIMESTAMP_FILE) $(VERSION_FILE) $(obj)include/autoconf.mk $(MAKE) -C onenand_ipl/board/$(BOARDDIR) all $(obj)u-boot-onenand.bin: onenand_ipl $(obj)u-boot.bin cat $(ONENAND_BIN) $(obj)u-boot.bin > $(obj)u-boot-onenand.bin -mmc_spl: $(TIMESTAMP_FILE) $(VERSION_FILE) $(ECC_METHOD_FILE) depend +mmc_spl: $(TIMESTAMP_FILE) $(VERSION_FILE) depend $(MAKE) -C mmc_spl/board/$(BOARDDIR) all $(obj)mmc_spl/u-boot-mmc-spl.bin: mmc_spl @@ -473,7 +472,7 @@ updater: # Explicitly make _depend in subdirs containing multiple targets to prevent # parallel sub-makes creating .depend files simultaneously. -depend dep: $(TIMESTAMP_FILE) $(VERSION_FILE) $(ECC_METHOD_FILE) \ +depend dep: $(TIMESTAMP_FILE) $(VERSION_FILE) \ $(obj)include/autoconf.mk \ $(obj)include/generated/generic-asm-offsets.h for dir in $(SUBDIRS) $(CPUDIR) $(dir $(LDSCRIPT)) ; do \ @@ -560,20 +559,6 @@ $(VERSION_FILE): '$(shell $(LD) -v | head -n 1)' )>> $@.tmp @cmp -s $@ $@.tmp && rm -f $@.tmp || mv -f $@.tmp $@ -$(ECC_METHOD_FILE): - @#(XECO) Generating $@ -ifneq ($(SYSCFG_NAND_ECC_SOFT_BCH),) - @echo "#define SYSCFG_NAND_ECC_SOFT_BCH" > $@.tmp -else - @echo "#undef SYSCFG_NAND_ECC_SOFT_BCH" > $@.tmp -endif -ifneq ($(SYSCFG_NAND_ECC_IN_CHIP),) - @echo "#define SYSCFG_NAND_ECC_IN_CHIP" >> $@.tmp -else - @echo "#undef SYSCFG_NAND_ECC_IN_CHIP" >> $@.tmp -endif - @cmp -s $@ $@.tmp && rm -f $@.tmp || mv -f $@.tmp $@ - easylogo env gdb: $(MAKE) -C tools/$@ all MTD_VERSION=${MTD_VERSION} gdbtools: gdb @@ -593,7 +578,7 @@ include/license.h: tools/bin2header COPYING unconfig: @rm -f $(obj)board/*/config.tmp $(obj)board/*/*/config.tmp -%_config:: unconfig $(ECC_METHOD_FILE) +%_config:: unconfig @$(MKCONFIG) -A $(@:_config=) sinclude $(obj).boards.depend @@ -1121,7 +1106,7 @@ clean: @rm -f $(obj)mmc_spl/{u-boot.lds,u-boot-spl,u-boot-spl.map,u-boot-spl.bin,u-boot-mmc-spl.bin} @rm -f $(ONENAND_BIN) @rm -f $(obj)onenand_ipl/u-boot.lds - @rm -f $(TIMESTAMP_FILE) $(VERSION_FILE) $(ECC_METHOD_FILE) + @rm -f $(TIMESTAMP_FILE) $(VERSION_FILE) @find $(OBJTREE) -type f \ \( -name 'core' -o -name '*.bak' -o -name '*~' \ -o -name '*.o' -o -name '*.a' -o -name '*.exe' \) -print \ diff --git a/board/ti/logic/logic.c b/board/ti/logic/logic.c index 911d2d8d9a..d3bff273aa 100644 --- a/board/ti/logic/logic.c +++ b/board/ti/logic/logic.c @@ -43,7 +43,6 @@ #include "logic.h" #include "product_id.h" #include "logic-proto.h" -#include DECLARE_GLOBAL_DATA_PTR; @@ -116,11 +115,11 @@ void nand_setup_default_ecc_method(void) { omap3logic_nand_default = OMAP_ECC_NONE; -#ifdef SYSCFG_NAND_ECC_SOFT_BCH +#ifdef CONFIG_SYSCFG_NAND_ECC_SOFT_BCH omap3logic_nand_default = OMAP_ECC_SOFT_BCH; #endif if (omap_nand_chip_has_ecc()) { -#ifdef SYSCFG_NAND_ECC_IN_CHIP +#ifdef CONFIG_SYSCFG_NAND_ECC_IN_CHIP omap3logic_nand_default = OMAP_ECC_CHIP; #endif } diff --git a/boards.cfg b/boards.cfg index f9b09e7426..726586c28d 100644 --- a/boards.cfg +++ b/boards.cfg @@ -153,7 +153,9 @@ omap3_zoom1 arm armv7 zoom1 logicpd omap3_zoom2 arm armv7 zoom2 logicpd omap3 omap3_beagle arm armv7 beagle ti omap3 omap3_evm arm armv7 evm ti omap3 -omap3logic arm armv7 logic ti omap3 +omap3logic arm armv7 logic ti omap3 omap3logic:SYSCFG_NAND_ECC_IN_CHIP +omap3logic_hwecc arm armv7 logic ti omap3 omap3logic: +omap3logic_softecc arm armv7 logic ti omap3 omap3logic:SYSCFG_NAND_ECC_SOFT_BCH omap3_sdp3430 arm armv7 sdp3430 ti omap3 devkit8000 arm armv7 devkit8000 timll omap3 omap4_panda arm armv7 panda ti omap4 diff --git a/include/configs/omap3logic.h b/include/configs/omap3logic.h index f2713a95b3..cae4399da6 100644 --- a/include/configs/omap3logic.h +++ b/include/configs/omap3logic.h @@ -33,8 +33,6 @@ #ifndef __CONFIG_H #define __CONFIG_H -#include - /* * High Level Configuration Options */ @@ -213,10 +211,10 @@ #define MTDPARTS_NAND_DEFAULT "mtdparts=omap2-nand.0:512k(x-loader),"\ "1664k(u-boot),384k(u-boot-env),"\ "5m(kernel),20m(ramdisk),-(fs)" -#if defined(SYSCFG_NAND_ECC_SOFT_BCH) +#if defined(CONFIG_SYSCFG_NAND_ECC_SOFT_BCH) #define MTDFLAGS_NAND_DEFAULT "default=ecc_bch;x-loader=ecc_hw,repeat;fs=yaffs" #endif -#if defined(SYSCFG_NAND_ECC_IN_CHIP) +#if defined(CONFIG_SYSCFG_NAND_ECC_IN_CHIP) #define MTDFLAGS_NAND_DEFAULT "default=ecc_chip;x-loader=ecc_hw,repeat;fs=yaffs" #endif -- cgit v1.2.3