summaryrefslogtreecommitdiff
path: root/plat/imx/imx8m/gpc_common.c
diff options
context:
space:
mode:
authorJacky Bai <ping.bai@nxp.com>2019-12-11 16:26:59 +0800
committerJacky Bai <ping.bai@nxp.com>2020-01-03 13:14:03 +0800
commit1536c58dd15bf0a75a93075fae67ed5480404851 (patch)
tree20aa59be198338ae77d22afc644f344358a3a833 /plat/imx/imx8m/gpc_common.c
parentcbab087cbffa801869ec9c448a1b0cd0bef47091 (diff)
plat: imx8m: Add the PU power domain support on imx8mm/mn
Add the PU power domain support for imx8mm/mn. Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Diffstat (limited to 'plat/imx/imx8m/gpc_common.c')
-rw-r--r--plat/imx/imx8m/gpc_common.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/plat/imx/imx8m/gpc_common.c b/plat/imx/imx8m/gpc_common.c
index 81755a70..d8d349fb 100644
--- a/plat/imx/imx8m/gpc_common.c
+++ b/plat/imx/imx8m/gpc_common.c
@@ -9,6 +9,7 @@
#include <arch.h>
#include <arch_helpers.h>
#include <common/debug.h>
+#include <common/runtime_svc.h>
#include <lib/mmio.h>
#include <lib/psci/psci.h>
@@ -16,6 +17,8 @@
#include <imx8m_psci.h>
#include <plat_imx8.h>
+#define FSL_SIP_CONFIG_GPC_PM_DOMAIN 0x03
+
static uint32_t gpc_imr_offset[] = { 0x30, 0x40, 0x1c0, 0x1d0, };
#pragma weak imx_set_cpu_pwr_off
@@ -272,3 +275,16 @@ void imx_anamix_override(bool enter)
}
}
}
+
+int imx_gpc_handler(uint32_t smc_fid, u_register_t x1, u_register_t x2, u_register_t x3)
+{
+ switch(x1) {
+ case FSL_SIP_CONFIG_GPC_PM_DOMAIN:
+ imx_gpc_pm_domain_enable(x2, x3);
+ break;
+ default:
+ return SMC_UNK;
+ }
+
+ return 0;
+}