WKS_FILE = "hvmpd-raspberrypi.wks.in"
-# List of hardware versions supported by our swupdate setup. Each revision must
-# be enclosed within double-quotes, and separated with a comma.
-# Exemple: SWUPDATE_HWREV = ""revA", "revB""
-SWUPDATE_HWREV = ""revA""
+# List of hardware versions supported by our swupdate setup.
+HWREV_LIST = "A"
RPI_KERNEL_DEVICETREE_OVERLAYS += " \
overlays/hvmpd.dtbo \
#!/bin/sh
-# TODO: the revision should be read at bootup from an EEPROM or other means.
-# For now, it is simply hardcoded.
-HWREV="revA"
+. /usr/bin/dimonoff.sh
+# Note: this script is sourced by swupdate. In case of success, we must not use
+# the exit statement, but return. Exit is ok in case of error.
+
+# Write infos under /var/run so that it works for read-only rootfs
DESTDIR="/var/run/swupdate"
DESTFILE="${DESTDIR}/hwrevision"
+EEPROM_I2C_DEVNUM="@EEPROM_I2C_DEVNUM@"
+
+devpath="/sys/bus/i2c/devices/${EEPROM_I2C_DEVNUM}/eeprom"
+
+# Define default hardware revision.
+# If the EEPROM is present, when we exit, the next script executed by
+# swupdate (98-hwrevision-tlv-eeprom.sh) will handle the actual hardware
+# revision stored in the TLV EEPROM.
+
mkdir -p ${DESTDIR}
+echo "@MACHINE@ @HWREV_LATEST@" > ${DESTFILE}
-echo "@MACHINE@ ${HWREV}" > ${DESTFILE}
+if [ ! -f ${devpath} ]; then
+ log_warn "EEPROM not found, using hardcoded hardware revision (@HWREV_LATEST@)"
+fi
file://97-hwrevision-hardcoded.sh.in \
"
+inherit hwrev
+
do_install:append:hvmpd() {
- sed -e s/@MACHINE@/${MACHINE}/ \
- ${WORKDIR}/97-hwrevision-hardcoded.sh.in > ${WORKDIR}/97-hwrevision-hardcoded.sh
+ cp ${WORKDIR}/97-hwrevision-hardcoded.sh.in ${WORKDIR}/97-hwrevision-hardcoded.sh
+
+ sed -e "s!@MACHINE@!${MACHINE}!g" \
+ -e "s!@EEPROM_I2C_DEVNUM@!${EEPROM_I2C_DEVNUM}!g" \
+ -e "s!@HWREV_LATEST@!${HWREV_LATEST}!g" \
+ -i ${WORKDIR}/97-hwrevision-hardcoded.sh
+
install -d ${D}${libdir}/swupdate/conf.d/
install -m 644 ${WORKDIR}/97-hwrevision-hardcoded.sh ${D}${libdir}/swupdate/conf.d/
}
WKS_FILE = "hvmpd-wandboard.wks.in"
-# List of hardware versions supported by our swupdate setup. Each revision must
-# be enclosed within double-quotes, and separated with a comma.
-# Exemple: SWUPDATE_HWREV = ""revA", "revB""
-SWUPDATE_HWREV = ""revA""
+# List of hardware versions supported by our swupdate setup.
+HWREV_LIST = "A"