aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorÁlvaro Fernández Rojas <noltari@gmail.com>2020-05-21 15:04:23 +0200
committerÁlvaro Fernández Rojas <noltari@gmail.com>2020-05-21 19:11:24 +0200
commit5998c8f059dbd64c5391e4caec2c07d434ffe146 (patch)
treec6b294a67af0a4e3757eaac3233f3e584f17f3ae
parentd90828411ac774140892212852c07c16ea9e25d1 (diff)
downloadupstream-5998c8f059dbd64c5391e4caec2c07d434ffe146.tar.gz
upstream-5998c8f059dbd64c5391e4caec2c07d434ffe146.tar.bz2
upstream-5998c8f059dbd64c5391e4caec2c07d434ffe146.zip
bcm63xx: nand: support CFE partition tags
Introduce support for generating JFFS2 CFE partition tags. This is used in NAND devices in order to verify the integrity of the JFFS2 partition. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
-rw-r--r--target/linux/bcm63xx/image/Makefile19
-rw-r--r--target/linux/bcm63xx/image/bcm63xx_nand.mk3
2 files changed, 22 insertions, 0 deletions
diff --git a/target/linux/bcm63xx/image/Makefile b/target/linux/bcm63xx/image/Makefile
index 7c3091fb66..5fbe8ea470 100644
--- a/target/linux/bcm63xx/image/Makefile
+++ b/target/linux/bcm63xx/image/Makefile
@@ -168,6 +168,9 @@ define Build/cfe-jffs2-cferam
# Some devices need padding between CFE RAM and kernel
$(if $(CFE_RAM_JFFS2_PAD),$(call Build/pad-to,$(CFE_RAM_JFFS2_PAD)))
+ # Add CFE partition tag
+ $(if $(CFE_PART_ID),$(call Build/cfe-part-tag))
+
# Append kernel
dd if=$@.kernel >> $@
rm -f $@.kernel
@@ -204,6 +207,22 @@ define Build/cfe-jffs2-kernel
$(call Build/cfe-jffs2,$@-kernel)
endef
+define Build/cfe-part-tag
+ mv $@ $@.part
+
+ $(TOPDIR)/scripts/cfe-partition-tag.py \
+ --input-file $@.part \
+ --output-file $@ \
+ --flags $(CFE_PART_FLAGS) \
+ --id $(CFE_PART_ID) \
+ --name $(VERSION_CODE) \
+ --version $(DEVICE_NAME)
+
+ $(call Build/pad-to,$(BLOCKSIZE))
+
+ dd if=$@.part >> $@
+endef
+
define Build/cfe-old-bin
$(TOPDIR)/scripts/brcmImage.pl -t -p \
-o $@ -b $(CFE_BOARD_ID) -c $(CHIP_ID) \
diff --git a/target/linux/bcm63xx/image/bcm63xx_nand.mk b/target/linux/bcm63xx/image/bcm63xx_nand.mk
index aeaf6f2ae5..c70fdf8b2f 100644
--- a/target/linux/bcm63xx/image/bcm63xx_nand.mk
+++ b/target/linux/bcm63xx/image/bcm63xx_nand.mk
@@ -2,6 +2,7 @@
# BCM63XX NAND Profiles
#
+DEVICE_VARS += CFE_PART_FLAGS CFE_PART_ID
DEVICE_VARS += CFE_RAM_FILE
DEVICE_VARS += CFE_RAM_JFFS2_NAME CFE_RAM_JFFS2_PAD
DEVICE_VARS += CFE_WFI_CHIP_ID CFE_WFI_FLASH_TYPE
@@ -21,6 +22,8 @@ define Device/bcm63xx-nand
IMAGE/cfe.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | cfe-jffs2-cferam | append-ubi | cfe-wfi-tag
IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
KERNEL_SIZE := 5120k
+ CFE_PART_FLAGS :=
+ CFE_PART_ID :=
CFE_RAM_FILE :=
CFE_RAM_JFFS2_NAME :=
CFE_RAM_JFFS2_PAD :=