summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBai Ping <ping.bai@nxp.com>2018-08-29 18:17:00 +0800
committerBai Ping <ping.bai@nxp.com>2018-08-31 15:21:59 +0800
commitcca4f5236e3cee98696cf5246acc9e8d9ab75f15 (patch)
treebc97596e021267d1b8dcda3c2d43dc6f013cebe6
parent2ff3267cdc87383f2b95c859a10d124acf05e883 (diff)
MLK-19380 driver: soc: update the noc QoS setting on imx8mq
update the noc QoS setting for CPU & VPU on i.MX8MQ. Signed-off-by: Bai Ping <ping.bai@nxp.com> Reviewed-by: Jian Li <jian.li@nxp.com> (cherry picked from commit 45d2dcaecce6d83e5c4a7e9488c651a05b0f05ac)
-rw-r--r--drivers/soc/imx/soc-imx8.c26
-rw-r--r--include/soc/imx/fsl_sip.h6
2 files changed, 14 insertions, 18 deletions
diff --git a/drivers/soc/imx/soc-imx8.c b/drivers/soc/imx/soc-imx8.c
index 2b282697dfd5..0fc298e9c700 100644
--- a/drivers/soc/imx/soc-imx8.c
+++ b/drivers/soc/imx/soc-imx8.c
@@ -280,29 +280,19 @@ static struct device_attribute imx8_uid =
static void __init imx8mq_noc_init(void)
{
- struct device_node *np;
- const char *status;
- int statlen;
struct arm_smccc_res res;
- np = of_find_compatible_node(NULL, NULL, "fsl,imx8mq-lcdif");
- if (!np)
- return;
-
- status = of_get_property(np, "status", &statlen);
- if (status == NULL)
- return;
+ pr_info("Config NOC for VPU and CPU\n");
- if (statlen > 0) {
- if (!strcmp(status, "disabled"))
- return;
- }
+ arm_smccc_smc(FSL_SIP_NOC, FSL_SIP_NOC_PRIORITY, NOC_CPU_PRIORITY,
+ 0x80000300, 0, 0, 0, 0, &res);
+ if (res.a0)
+ pr_err("Config NOC for CPU fail!\n");
- pr_info("Config NOC for VPU and CPU\n");
- arm_smccc_smc(FSL_SIP_NOC, FSL_SIP_NOC_LCDIF, 0,
- 0, 0, 0, 0, 0, &res);
+ arm_smccc_smc(FSL_SIP_NOC, FSL_SIP_NOC_PRIORITY, NOC_VPU_PRIORITY,
+ 0x80000300, 0, 0, 0, 0, &res);
if (res.a0)
- pr_err("Config NOC for VPU and CPU fail!\n");
+ pr_err("Config NOC for VPU fail!\n");
}
static int __init imx8_soc_init(void)
diff --git a/include/soc/imx/fsl_sip.h b/include/soc/imx/fsl_sip.h
index f1c8c9b1e2cc..44649f4baa20 100644
--- a/include/soc/imx/fsl_sip.h
+++ b/include/soc/imx/fsl_sip.h
@@ -59,6 +59,12 @@
#define FSL_SIP_NOC 0xc2000008
#define FSL_SIP_NOC_LCDIF 0x0
+#define FSL_SIP_NOC_PRIORITY 0x1
+#define NOC_GPU_PRIORITY 0x10
+#define NOC_DCSS_PRIORITY 0x11
+#define NOC_VPU_PRIORITY 0x12
+#define NOC_CPU_PRIORITY 0x13
+#define NOC_MIX_PRIORITY 0x14
#define FSL_SIP_WAKEUP_SRC 0xc2000009
#define FSL_SIP_WAKEUP_SRC_SCU 0x1