summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2015-10-30 10:40:16 +0100
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2015-10-30 10:40:16 +0100
commit2023a0502f353565a8d2cce0cb50da7fad92a60b (patch)
tree78ee80d830173e2ccfb83db8911c6b469dcd68b9
parente22248578f1e57cbe1a32922f3a79f5a31a7e130 (diff)
apalis/colibri_imx6/t30: u-boot-fw-utils: update fw_printenv/setenv
Introduce/update postinst code to dynamically adjust fw_env.config and fw_unlock_mmc.sh shell profile extension script to cope with our new unified eMMC layout: boot area partition 1 aka primary eMMC boot sector: with U-Boot boot loader and the U-Boot environment before the configblock at the end of that boot area partition
-rw-r--r--recipes-bsp/u-boot/files/fw_unlock_mmc.sh6
-rw-r--r--recipes-bsp/u-boot/files/mx6/fw_env.config23
-rw-r--r--recipes-bsp/u-boot/u-boot-toradex-fsl-fw-utils_git.bb20
3 files changed, 23 insertions, 26 deletions
diff --git a/recipes-bsp/u-boot/files/fw_unlock_mmc.sh b/recipes-bsp/u-boot/files/fw_unlock_mmc.sh
index 8982640..f9f253b 100644
--- a/recipes-bsp/u-boot/files/fw_unlock_mmc.sh
+++ b/recipes-bsp/u-boot/files/fw_unlock_mmc.sh
@@ -1,6 +1,6 @@
-# Give fw_setenv mmcblk0boot1 write permissions
+# Give fw_setenv mmcblk0boot0 write permissions
function fw_setenv() {
- echo 0 > /sys/block/mmcblk0boot1/force_ro
+ echo 0 > /sys/block/mmcblk0boot0/force_ro
/sbin/fw_setenv "$@"
- echo 1 > /sys/block/mmcblk0boot1/force_ro
+ echo 1 > /sys/block/mmcblk0boot0/force_ro
}
diff --git a/recipes-bsp/u-boot/files/mx6/fw_env.config b/recipes-bsp/u-boot/files/mx6/fw_env.config
deleted file mode 100644
index efd358b..0000000
--- a/recipes-bsp/u-boot/files/mx6/fw_env.config
+++ /dev/null
@@ -1,23 +0,0 @@
-# Configuration file for fw_(printenv/setenv) utility.
-# Up to two entries are valid, in this case the redundant
-# environment sector is assumed present.
-# Notice, that the "Number of sectors" is not required on NOR and SPI-dataflash.
-# Futhermore, if the Flash sector size is ommitted, this value is assumed to
-# be the same as the Environment size, which is valid for NOR and SPI-dataflash
-
-# NOR example
-# MTD device name Device offset Env. size Flash sector size Number of sectors
-#/dev/mtd1 0x0000 0x4000 0x4000
-#/dev/mtd2 0x0000 0x4000 0x4000
-
-# MTD SPI-dataflash example
-# MTD device name Device offset Env. size Flash sector size Number of sectors
-#/dev/mtd5 0x4200 0x4200
-#/dev/mtd6 0x4200 0x4200
-
-# NAND example
-#/dev/mtd0 0x4000 0x4000 0x20000 2
-
-# Block device example
-# Apalis iMX6
-/dev/mmcblk0 0x80000 0x2000
diff --git a/recipes-bsp/u-boot/u-boot-toradex-fsl-fw-utils_git.bb b/recipes-bsp/u-boot/u-boot-toradex-fsl-fw-utils_git.bb
index 4e5c2d8..dd2abf7 100644
--- a/recipes-bsp/u-boot/u-boot-toradex-fsl-fw-utils_git.bb
+++ b/recipes-bsp/u-boot/u-boot-toradex-fsl-fw-utils_git.bb
@@ -19,6 +19,8 @@ SRCBRANCH_mx6 = "2015.04-toradex"
SRC_URI = "git://git.toradex.com/u-boot-toradex.git;protocol=git;branch=${SRCBRANCH} \
file://fw_env.config \
"
+SRC_URI_append_mx6 = " file://fw_unlock_mmc.sh \
+"
PV = "${PR}+gitr${SRCREV}"
PR = "r0"
@@ -43,4 +45,22 @@ do_install () {
install -m 644 ${WORKDIR}/fw_env.config ${D}${sysconfdir}/
}
+do_install_append_mx6() {
+ install -d ${D}${sysconfdir}/profile.d/
+ install -m 0644 ${WORKDIR}/fw_unlock_mmc.sh ${D}${sysconfdir}/profile.d/fw_unlock_mmc.sh
+}
+
+pkg_postinst_${PN}_mx6 () {
+ # can't do this offline
+ if [ "x$D" != "x" ]; then
+ exit 1
+ fi
+ # Environment in eMMC, before the configblock at the end of 1st "boot sector"
+ DISK="mmcblk0boot0"
+ DISK_SIZE=`cat /sys/block/$DISK/size`
+ CONFIG_ENV_SIZE=8192 # 0x2000
+ CONFIG_ENV_OFFSET=`expr $DISK_SIZE \* 512 - $CONFIG_ENV_SIZE - 512`
+ printf "/dev/%s\t0x%X\t0x%X\n" $DISK $CONFIG_ENV_OFFSET $CONFIG_ENV_SIZE >> "/etc/fw_env.config"
+}
+
PACKAGE_ARCH = "${MACHINE_ARCH}"