summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorVignesh Radhakrishnan <vigneshr@nvidia.com>2017-03-03 10:58:05 -0800
committerVarun Wadekar <vwadekar@nvidia.com>2017-04-13 14:18:42 -0700
commita9e0260c7727a48aef7573503021b9f4fa11e329 (patch)
tree6188566e2a470aa96f66f964c393f3b98b53d048 /include
parent62bfc44b3f78c1ee52a88b2dcb3093ced6a17f7f (diff)
Tegra: Add support for fake system suspend
This patch adds support for fake system suspend (SC7). This is a debug mode, to ensure that a different code path is executed for cases like pre-silicon development, where a full-fledged SC7 is not possible in early stages. This particular patch ensures that, if fake system suspend is enabled (denoted by tegra_fake_system_suspend variable having a non-zero value), instead of calling WFI, a request for a warm reset is made for starting the SC7 exit procedure. This ensures that the code path of kernel->ATF and back to kernel is executed without depending on other components involved in SC7 code path. Additionally, this patch also adds support for SMC call from kernel, enabling fake system suspend mode. Signed-off-by: Vignesh Radhakrishnan <vigneshr@nvidia.com> Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
Diffstat (limited to 'include')
-rw-r--r--include/lib/aarch64/arch.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/lib/aarch64/arch.h b/include/lib/aarch64/arch.h
index a2c736c9..d766490d 100644
--- a/include/lib/aarch64/arch.h
+++ b/include/lib/aarch64/arch.h
@@ -419,6 +419,10 @@
#define EC_BITS(x) (x >> ESR_EC_SHIFT) & ESR_EC_MASK
+/* Reset bit inside the Reset management register for EL3 (RMR_EL3) */
+#define RMR_RESET_REQUEST_SHIFT 0x1u
+#define RMR_WARM_RESET_CPU (1u << RMR_RESET_REQUEST_SHIFT)
+
/*******************************************************************************
* Definitions of register offsets, fields and macros for CPU system
* instructions.