Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit eeec5683 authored by David Ng's avatar David Ng
Browse files

power: reset: msm: Handle dm-verity and keys reset reasons



Write magic cookies/PON reset reason to indicate reasons
of dm-verity corruption, re-enable enforcing mode, and
(unrelated) keys clear.

Change-Id: I49904c79940515863d794b23fa7ac84e472b2466
Signed-off-by: default avatarDavid Ng <dave@codeaurora.org>
parent 0c37cc25
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -263,6 +263,18 @@ static void msm_restart_prepare(const char *cmd)
			qpnp_pon_set_restart_reason(
				PON_RESTART_REASON_RTC);
			__raw_writel(0x77665503, restart_reason);
		} else if (!strcmp(cmd, "dm-verity device corrupted")) {
			qpnp_pon_set_restart_reason(
				PON_RESTART_REASON_DMVERITY_CORRUPTED);
			__raw_writel(0x77665508, restart_reason);
		} else if (!strcmp(cmd, "dm-verity enforcing")) {
			qpnp_pon_set_restart_reason(
				PON_RESTART_REASON_DMVERITY_ENFORCE);
			__raw_writel(0x77665509, restart_reason);
		} else if (!strcmp(cmd, "keys clear")) {
			qpnp_pon_set_restart_reason(
				PON_RESTART_REASON_KEYS_CLEAR);
			__raw_writel(0x7766550a, restart_reason);
		} else if (!strncmp(cmd, "oem-", 4)) {
			unsigned long code;
			int ret;
+7 −4
Original line number Diff line number Diff line
@@ -52,6 +52,9 @@ enum pon_restart_reason {
	PON_RESTART_REASON_RECOVERY		= 0x01,
	PON_RESTART_REASON_BOOTLOADER		= 0x02,
	PON_RESTART_REASON_RTC			= 0x03,
	PON_RESTART_REASON_DMVERITY_CORRUPTED	= 0x04,
	PON_RESTART_REASON_DMVERITY_ENFORCE	= 0x05,
	PON_RESTART_REASON_KEYS_CLEAR		= 0x06,
};

#ifdef CONFIG_QPNP_POWER_ON