diff gsm-fw/cfgmagic/feature.mokoffs @ 861:6ffebb8cec78

implemented feature mokoffs copy; made it part of the gtamodem-gsm config
author Space Falcon <falcon@ivan.Harhan.ORG>
date Sun, 03 May 2015 05:10:58 +0000
parents c70c077243dd
children 042c178ebac5
line wrap: on
line diff
--- a/gsm-fw/cfgmagic/feature.mokoffs	Sun May 03 04:11:41 2015 +0000
+++ b/gsm-fw/cfgmagic/feature.mokoffs	Sun May 03 05:10:58 2015 +0000
@@ -3,8 +3,11 @@
 # which contains the factory IMEI + RF calibration data and which the
 # original mokoN firmware treats as writable.
 #
-# feature mokoffs	-- use MokoFFS, but treat it as read-only
+# There are 3 different ways in which we can use MokoFFS:
+#
 # feature mokoffs rw	-- treat MokoFFS as R/W like the original fw does
+# feature mokoffs ro	-- use MokoFFS in flash, but disable flash write ops
+# feature mokoffs copy	-- copy MokoFFS into RAM on boot, then R/W in RAM only
 
 if [ $TARGET != gtamodem ]
 then
@@ -12,14 +15,35 @@
 	exit 1
 fi
 
-FFS_IN_RAM=0
 CONFIG_MOKOFFS=1
 export_to_c	CONFIG_MOKOFFS
 
-if [ "$2" = rw ]
+if [ $# != 2 ]
 then
-	CONFIG_FLASH_WRITE=1
-else
-	CONFIG_FLASH_WRITE=0
+	echo "feature mokoffs: extra argument required" 1>&2
+	exit 1
 fi
-export_to_c	CONFIG_FLASH_WRITE
+
+case "$2" in
+	rw)
+		FFS_IN_RAM=0
+		CONFIG_FLASH_WRITE=1
+		export_to_c CONFIG_FLASH_WRITE
+		;;
+	ro)
+		FFS_IN_RAM=0
+		CONFIG_FLASH_WRITE=0
+		export_to_c CONFIG_FLASH_WRITE
+		;;
+	copy)
+		FFS_IN_RAM=1
+		RAMFFS_BLKSIZE_LOG2=16
+		RAMFFS_NBLOCKS=7
+		CONFIG_MOKOFFS_COPY=1
+		export_to_c CONFIG_MOKOFFS_COPY
+		;;
+	*)
+		echo "feature mokoffs: argument must be rw, ro or copy" 1>&2
+		exit 1
+		;;
+esac