meta-phosphor: phosphor-static-norootfs-init: commonize flash-bank detection
When there are two SPI-NOR banks, it is helpful to leave a file in
`/run` to identify which bank has been booted from. Most platforms
already have a copy of a snippet of code that reads from the watchdog
to determine which bank has been booted from. Make this code common.
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Id516fd28234f59ed7718ca3cc7a05ce0a21035e5
diff --git a/meta-facebook/meta-anacapa/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init b/meta-facebook/meta-anacapa/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
index 383330f..c52d3c2 100644
--- a/meta-facebook/meta-anacapa/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
+++ b/meta-facebook/meta-anacapa/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
@@ -1,16 +1,3 @@
#!/bin/sh
-"$INIT_HOME/enable-devmem"
-
-FMC_WDT2_CTRL_VAL=$(printf "%d\n" "$(/sbin/devmem 0x1e620064)")
-
-# Detect boot flash source
-SLOT_FILE="/run/media/slot"
-mkdir -p "$(dirname "${SLOT_FILE}")"
-if [ "$((FMC_WDT2_CTRL_VAL & 0x00000010))" != "0" ]; then
- echo "1" > "$SLOT_FILE"
-else
- echo "0" > "$SLOT_FILE"
-fi
-
exit 0
diff --git a/meta-facebook/meta-bletchley/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init b/meta-facebook/meta-bletchley/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
index 383330f..c52d3c2 100644
--- a/meta-facebook/meta-bletchley/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
+++ b/meta-facebook/meta-bletchley/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
@@ -1,16 +1,3 @@
#!/bin/sh
-"$INIT_HOME/enable-devmem"
-
-FMC_WDT2_CTRL_VAL=$(printf "%d\n" "$(/sbin/devmem 0x1e620064)")
-
-# Detect boot flash source
-SLOT_FILE="/run/media/slot"
-mkdir -p "$(dirname "${SLOT_FILE}")"
-if [ "$((FMC_WDT2_CTRL_VAL & 0x00000010))" != "0" ]; then
- echo "1" > "$SLOT_FILE"
-else
- echo "0" > "$SLOT_FILE"
-fi
-
exit 0
diff --git a/meta-facebook/meta-catalina/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init b/meta-facebook/meta-catalina/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
index b22df2b..8cffb14 100644
--- a/meta-facebook/meta-catalina/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
+++ b/meta-facebook/meta-catalina/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
@@ -1,7 +1,5 @@
#!/bin/sh
-"$INIT_HOME/enable-devmem"
-
set_pdb_cpld_leak_config()
{
if ! GPIOCHIP_NUM="$(basename "$(ls -d /sys/bus/i2c/devices/14-0014/gpiochip*)")"; then
@@ -33,17 +31,6 @@
esac
}
-FMC_WDT2_CTRL_VAL=$(printf "%d\n" "$(/sbin/devmem 0x1e620064)")
-
-# Detect boot flash source
-SLOT_FILE="/run/media/slot"
-mkdir -p "$(dirname "${SLOT_FILE}")"
-if [ "$((FMC_WDT2_CTRL_VAL & 0x00000010))" != "0" ]; then
- echo "1" > "$SLOT_FILE"
-else
- echo "0" > "$SLOT_FILE"
-fi
-
# Set PDB CPLD leak event config
PLAT_CONFIG_FILE="/mnt/data/catalina-platform-config.json"
if PDB_CPLD_VER=$(/usr/sbin/i2ctransfer -y -f 14 w4@0x40 0xc0 0x00 0x00 0x00 r4); then
diff --git a/meta-facebook/meta-fbdarwin/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init b/meta-facebook/meta-fbdarwin/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
index 383330f..c52d3c2 100644
--- a/meta-facebook/meta-fbdarwin/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
+++ b/meta-facebook/meta-fbdarwin/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
@@ -1,16 +1,3 @@
#!/bin/sh
-"$INIT_HOME/enable-devmem"
-
-FMC_WDT2_CTRL_VAL=$(printf "%d\n" "$(/sbin/devmem 0x1e620064)")
-
-# Detect boot flash source
-SLOT_FILE="/run/media/slot"
-mkdir -p "$(dirname "${SLOT_FILE}")"
-if [ "$((FMC_WDT2_CTRL_VAL & 0x00000010))" != "0" ]; then
- echo "1" > "$SLOT_FILE"
-else
- echo "0" > "$SLOT_FILE"
-fi
-
exit 0
diff --git a/meta-facebook/meta-harma/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init b/meta-facebook/meta-harma/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
index 383330f..c52d3c2 100644
--- a/meta-facebook/meta-harma/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
+++ b/meta-facebook/meta-harma/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
@@ -1,16 +1,3 @@
#!/bin/sh
-"$INIT_HOME/enable-devmem"
-
-FMC_WDT2_CTRL_VAL=$(printf "%d\n" "$(/sbin/devmem 0x1e620064)")
-
-# Detect boot flash source
-SLOT_FILE="/run/media/slot"
-mkdir -p "$(dirname "${SLOT_FILE}")"
-if [ "$((FMC_WDT2_CTRL_VAL & 0x00000010))" != "0" ]; then
- echo "1" > "$SLOT_FILE"
-else
- echo "0" > "$SLOT_FILE"
-fi
-
exit 0
diff --git a/meta-facebook/meta-minerva/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init b/meta-facebook/meta-minerva/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
index feedddf..df7fe19 100644
--- a/meta-facebook/meta-minerva/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
+++ b/meta-facebook/meta-minerva/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
@@ -1,18 +1,5 @@
#!/bin/sh
-"$INIT_HOME/enable-devmem"
-
-FMC_WDT2_CTRL_VAL=$(printf "%d\n" "$(/sbin/devmem 0x1e620064)")
-
-# Detect boot flash source
-SLOT_FILE="/run/media/slot"
-mkdir -p "$(dirname "${SLOT_FILE}")"
-if [ "$((FMC_WDT2_CTRL_VAL & 0x00000010))" != "0" ]; then
- echo "1" > "$SLOT_FILE"
-else
- echo "0" > "$SLOT_FILE"
-fi
-
# Below is the diagram of the smart valve implemtation on the CMM.
# There are two end-device for smart valve and two communication interfaces.
# One is Modbus (RS485) interface connected to FT4232H channel 1, 2.
diff --git a/meta-facebook/meta-santabarbara/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init b/meta-facebook/meta-santabarbara/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
index 383330f..c52d3c2 100644
--- a/meta-facebook/meta-santabarbara/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
+++ b/meta-facebook/meta-santabarbara/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
@@ -1,16 +1,3 @@
#!/bin/sh
-"$INIT_HOME/enable-devmem"
-
-FMC_WDT2_CTRL_VAL=$(printf "%d\n" "$(/sbin/devmem 0x1e620064)")
-
-# Detect boot flash source
-SLOT_FILE="/run/media/slot"
-mkdir -p "$(dirname "${SLOT_FILE}")"
-if [ "$((FMC_WDT2_CTRL_VAL & 0x00000010))" != "0" ]; then
- echo "1" > "$SLOT_FILE"
-else
- echo "0" > "$SLOT_FILE"
-fi
-
exit 0
diff --git a/meta-facebook/meta-ventura/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init b/meta-facebook/meta-ventura/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
index 383330f..c52d3c2 100644
--- a/meta-facebook/meta-ventura/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
+++ b/meta-facebook/meta-ventura/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
@@ -1,16 +1,3 @@
#!/bin/sh
-"$INIT_HOME/enable-devmem"
-
-FMC_WDT2_CTRL_VAL=$(printf "%d\n" "$(/sbin/devmem 0x1e620064)")
-
-# Detect boot flash source
-SLOT_FILE="/run/media/slot"
-mkdir -p "$(dirname "${SLOT_FILE}")"
-if [ "$((FMC_WDT2_CTRL_VAL & 0x00000010))" != "0" ]; then
- echo "1" > "$SLOT_FILE"
-else
- echo "0" > "$SLOT_FILE"
-fi
-
exit 0
diff --git a/meta-facebook/meta-yosemite4/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init b/meta-facebook/meta-yosemite4/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
index 244490e..c52d3c2 100644
--- a/meta-facebook/meta-yosemite4/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
+++ b/meta-facebook/meta-yosemite4/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
@@ -1,34 +1,3 @@
#!/bin/sh
-"$INIT_HOME/enable-devmem"
-
-# shellcheck source=meta-facebook/meta-yosemite4/recipes-yosemite4/plat-tool/files/yosemite4-common-functions
-. /usr/libexec/yosemite4-common-functions
-
-is_nuvoton_board="$(check_nuvoton_board)"
-
-if [ -z "$is_nuvoton_board" ]
-then
- FMC_WDT2_CTRL_VAL=$(printf "%d\n" "$(/sbin/devmem 0x1e620064)")
-else
- # Read INTCR2.WDC register, 0 for primary, 1 for alternate.
- INTRC2_WDC_VAL=$(/sbin/devmem 0xf0800060)
-fi
-
-# Detect boot flash source
-SLOT_FILE="/run/media/slot"
-mkdir -p "$(dirname "${SLOT_FILE}")"
-echo "0" > "$SLOT_FILE"
-
-if [ -z "$is_nuvoton_board" ]
- then
- if [ "$((FMC_WDT2_CTRL_VAL & 0x00000010))" != "0" ]; then
- echo "1" > "$SLOT_FILE"
- fi
-else
- if [ "$((INTRC2_WDC_VAL & 0x00200000))" != "0" ]; then
- echo "1" > "$SLOT_FILE"
- fi
-fi
-
exit 0
diff --git a/meta-facebook/meta-yosemite5/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init b/meta-facebook/meta-yosemite5/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
index 383330f..c52d3c2 100644
--- a/meta-facebook/meta-yosemite5/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
+++ b/meta-facebook/meta-yosemite5/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/999-platform-init
@@ -1,16 +1,3 @@
#!/bin/sh
-"$INIT_HOME/enable-devmem"
-
-FMC_WDT2_CTRL_VAL=$(printf "%d\n" "$(/sbin/devmem 0x1e620064)")
-
-# Detect boot flash source
-SLOT_FILE="/run/media/slot"
-mkdir -p "$(dirname "${SLOT_FILE}")"
-if [ "$((FMC_WDT2_CTRL_VAL & 0x00000010))" != "0" ]; then
- echo "1" > "$SLOT_FILE"
-else
- echo "0" > "$SLOT_FILE"
-fi
-
exit 0
diff --git a/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init.bb b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init.bb
index 5aaac6d..a604b9a 100644
--- a/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init.bb
+++ b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init.bb
@@ -7,6 +7,7 @@
SOURCE_FILES = "\
001-disable-boot-watchdog \
010-early-mounts \
+ 011-detect-nor-bank \
020-udev \
025-factory-reset \
030-ubiattach-or-format \
diff --git a/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/011-detect-nor-bank b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/011-detect-nor-bank
new file mode 100644
index 0000000..79faf5b
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/011-detect-nor-bank
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+MEDIA_DIR="/run/media"
+mkdir -p $MEDIA_DIR
+echo "Unknown" > "$MEDIA_DIR/slot"
diff --git a/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/aspeed-g6/011-detect-nor-bank b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/aspeed-g6/011-detect-nor-bank
new file mode 100644
index 0000000..815babf
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/aspeed-g6/011-detect-nor-bank
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+"$INIT_HOME/enable-devmem"
+
+
+MEDIA_DIR="/run/media"
+mkdir -p $MEDIA_DIR
+
+# Detect boot flash source
+FMC_WDT2_CTRL_VAL=$(printf "%d\n" "$(/sbin/devmem 0x1e620064)")
+if [ "$((FMC_WDT2_CTRL_VAL & 0x00000010))" != "0" ]; then
+ echo "1" > "$MEDIA_DIR/slot"
+else
+ echo "0" > "$MEDIA_DIR/slot"
+fi
diff --git a/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/npcm8xx/011-detect-nor-bank b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/npcm8xx/011-detect-nor-bank
new file mode 100644
index 0000000..cebfc8a
--- /dev/null
+++ b/meta-phosphor/recipes-phosphor/initrdscripts/phosphor-static-norootfs-init/npcm8xx/011-detect-nor-bank
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+"$INIT_HOME/enable-devmem"
+
+
+MEDIA_DIR="/run/media"
+mkdir -p $MEDIA_DIR
+
+# Read INTCR2.WDC register, 0 for primary, 1 for alternate.
+INTRC2_WDC_VAL=$(/sbin/devmem 0xf0800060)
+if [ "$((INTRC2_WDC_VAL & 0x00200000))" != "0" ]; then
+ echo "1" > "$MEDIA_DIR/slot"
+else
+ echo "0" > "$MEDIA_DIR/slot"
+fi