diff options
author | Bai Ping <ping.bai@nxp.com> | 2018-08-29 18:17:00 +0800 |
---|---|---|
committer | Bai Ping <ping.bai@nxp.com> | 2018-08-31 15:21:59 +0800 |
commit | cca4f5236e3cee98696cf5246acc9e8d9ab75f15 (patch) | |
tree | bc97596e021267d1b8dcda3c2d43dc6f013cebe6 | |
parent | 2ff3267cdc87383f2b95c859a10d124acf05e883 (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.c | 26 | ||||
-rw-r--r-- | include/soc/imx/fsl_sip.h | 6 |
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 |