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

Commit 1ba830c9 authored by Jungseok Lee's avatar Jungseok Lee Committed by Kukjin Kim
Browse files

ARM: EXYNOS: fix software reset logic for EXYNOS5440 SOC



This patch fixes software reset logic. Software reset applies only to
powered-on domains in SOC because software reset to all domains causes
reboot failure.

Signed-off-by: default avatarJungseok Lee <jays.lee@samsung.com>
Signed-off-by: default avatarKukjin Kim <kgene.kim@samsung.com>
parent 68a433f1
Loading
Loading
Loading
Loading
+8 −1
Original line number Diff line number Diff line
@@ -326,9 +326,16 @@ void exynos5_restart(char mode, const char *cmd)
		val = 0x1;
		addr = EXYNOS_SWRESET;
	} else if (of_machine_is_compatible("samsung,exynos5440")) {
		u32 status;
		np = of_find_compatible_node(NULL, NULL, "samsung,exynos5440-clock");

		addr = of_iomap(np, 0) + 0xbc;
		status = __raw_readl(addr);

		addr = of_iomap(np, 0) + 0xcc;
		val = (0xfff << 20) | (0x1 << 16);
		val = __raw_readl(addr);

		val = (val & 0xffff0000) | (status & 0xffff);
	} else {
		pr_err("%s: cannot support non-DT\n", __func__);
		return;