[RFC] update: Add eccmode switching for different types

Jan Weitzel j.weitzel at phytec.de
Wed Jun 22 05:41:55 EDT 2011


to use update on nand with different eccmodes for the nand partitions
we need to set the eccmode before updating.
Adding eccdev and eccmode to enviroment to use.
eccdev example: gpmc_nand0
eccmode for the different types:
root_eccmode
barebox_eccmode
bareboxenv_eccmode
xload_eccmode

Signed-off-by: Jan Weitzel <j.weitzel at phytec.de>
---
 defaultenv/bin/update |    8 ++++++++
 1 files changed, 8 insertions(+), 0 deletions(-)

diff --git a/defaultenv/bin/update b/defaultenv/bin/update
index 55ac10b..7473611 100644
--- a/defaultenv/bin/update
+++ b/defaultenv/bin/update
@@ -27,21 +27,26 @@ done
 
 if [ x${type} = xkernel ]; then
 	image=$kernelimage
+	eccmode=${kernel_eccmode}
 elif [ x${type} = xrootfs ]; then
 	image=$rootfsimage
 	type=root
+	eccmode=${root_eccmode}
 elif [ x${type} = xbarebox ]; then
 	image=$bareboximage
 	if [ x${image} = x ]; then
 		image=barebox.bin
 	fi
+	eccmode=${barebox_eccmode}
 elif [ x${type} = xbareboxenv ]; then
 	image=$bareboxenvimage
 	if [ x${image} = x ]; then
 		image=bareboxenv.bin
 	fi
+	eccmode=${bareboxenv_eccmode}
 elif [ x${type} = xxload ]; then
 	image=$xloadimage
+	eccmode=${xload_eccmode}
 else
 	. /env/bin/_update_help
 	exit 1
@@ -53,6 +58,9 @@ fi
 
 if [ x${device_type} = xnand ]; then
 	part=/dev/nand0.${type}.bb
+	if [ x${eccmode} != x ] && [ x${eccdev} != x ]; then
+		${eccdev}.eccmode=${eccmode}
+	fi
 elif [ x${device_type} = xnor ]; then
 	part=/dev/nor0.${type}
 else
-- 
1.7.0.4




More information about the barebox mailing list