summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plat/freescale/imx8qm/imx8qm_bl31_setup.c6
-rw-r--r--plat/freescale/imx8qm/include/sec_rsrc.h27
2 files changed, 25 insertions, 8 deletions
diff --git a/plat/freescale/imx8qm/imx8qm_bl31_setup.c b/plat/freescale/imx8qm/imx8qm_bl31_setup.c
index 257ce7fc..fc52e453 100644
--- a/plat/freescale/imx8qm/imx8qm_bl31_setup.c
+++ b/plat/freescale/imx8qm/imx8qm_bl31_setup.c
@@ -206,6 +206,12 @@ void mx8_partition_resources(void)
/* move all movable resources and pins to non-secure partition */
err = sc_rm_move_all(ipc_handle, secure_part, os_part, true, true);
+ /* iterate through peripherals to give NS OS part access */
+ for(i = 0; i<(sizeof(ns_access_allowed)/sizeof(sc_rsrc_t)); i++){
+ err = sc_rm_set_peripheral_permissions(ipc_handle, ns_access_allowed[i],
+ os_part, SC_RM_PERM_FULL);
+ }
+
/*
* sc_rm_set_peripheral_permissions
*
diff --git a/plat/freescale/imx8qm/include/sec_rsrc.h b/plat/freescale/imx8qm/include/sec_rsrc.h
index df3ccfdd..b05f0aa0 100644
--- a/plat/freescale/imx8qm/include/sec_rsrc.h
+++ b/plat/freescale/imx8qm/include/sec_rsrc.h
@@ -1,14 +1,25 @@
/* Copyright 2017 NXP */
/* Include file detailing the resource partitioning for ATF */
-
-
-
-
+/* resources that are going to stay in secure partition */
sc_rsrc_t secure_rsrcs[] = {
- SC_R_MU_1A
+ SC_R_MU_1A,
+ SC_R_A53,
+ SC_R_A53_0,
+ SC_R_A53_1,
+ SC_R_A53_2,
+ SC_R_A53_3,
+ SC_R_A72,
+ SC_R_A72_0,
+ SC_R_A72_1,
+ SC_R_GIC,
+ SC_R_GIC_SMMU,
+ SC_R_CCI
};
-
-
-
+/* resources that have register access for non-secure domain */
+sc_rsrc_t ns_access_allowed[] = {
+ SC_R_GIC,
+ SC_R_GIC_SMMU,
+ SC_R_CCI
+};