#!/bin/sh

# Write 1 to /sys/class/watchdog/watchdog1/access_cs0 to reset the boot code
# selection and reset the chip select, so that the next boot is from the
# primary chip.
# This needs to be done in the shutdown script after umount the rootfs,
# otherwise the filesystem will get error because the content is switched
# back to CS0 chip.

SHUTDOWN_EXTRA_SCRIPT="/run/initramfs/shutdown_task_after_umount"

cat <<'EOF' >"${SHUTDOWN_EXTRA_SCRIPT}"
#!/bin/sh
ACCESS_CS0="/sys/class/watchdog/watchdog1/access_cs0"
if [ -f "${ACCESS_CS0}" ]; then
    echo "Reset aspeed chip select"
    echo 1 > "${ACCESS_CS0}"
fi
EOF
chmod +x "${SHUTDOWN_EXTRA_SCRIPT}"


# Insert the shutdown_task_after_umount into the shutdown script
# This change could be apply to obmc-shutdown.sh in obmc-phosphor-initfs.bb
# if this is accepted.
sed -i "s/echo Remaining mounts/\/run\/initramfs\/shutdown_task_after_umount\\necho Remaining mounts/" /run/initramfs/shutdown
