diff options
author | Peng Fan <peng.fan@nxp.com> | 2020-05-11 15:16:37 +0800 |
---|---|---|
committer | Peng Fan <peng.fan@nxp.com> | 2020-07-14 15:23:47 +0800 |
commit | 4b8f22de160edfa25fd95cad807471ceeabb1783 (patch) | |
tree | 9eb523c0ac9f8914b6a4941c9cf2a87e276d4368 | |
parent | c2eaa6eb09f474c4af51443256fe072d2e137719 (diff) |
imx: power-domain: use arm_smccc_smc
Use arm_smccc_smc to replace call_imx_sip
Signed-off-by: Peng Fan <peng.fan@nxp.com>
-rw-r--r-- | drivers/power/domain/imx8m-power-domain.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/power/domain/imx8m-power-domain.c b/drivers/power/domain/imx8m-power-domain.c index 5b6467cda7..0ef460df8c 100644 --- a/drivers/power/domain/imx8m-power-domain.c +++ b/drivers/power/domain/imx8m-power-domain.c @@ -13,6 +13,7 @@ #include <dm/device-internal.h> #include <dm/device.h> #include <imx_sip.h> +#include <linux/arm-smccc.h> DECLARE_GLOBAL_DATA_PTR; @@ -30,6 +31,7 @@ static int imx8m_power_domain_on(struct power_domain *power_domain) { struct udevice *dev = power_domain->dev; struct imx8m_power_domain_platdata *pdata; + pdata = dev_get_platdata(dev); if (pdata->resource_id < 0) @@ -38,8 +40,8 @@ static int imx8m_power_domain_on(struct power_domain *power_domain) if (pdata->has_pd) power_domain_on(&pdata->pd); - call_imx_sip(IMX_SIP_GPC, IMX_SIP_GPC_PM_DOMAIN, - pdata->resource_id, 1, 0); + arm_smccc_smc(IMX_SIP_GPC, IMX_SIP_GPC_PM_DOMAIN, + pdata->resource_id, 1, 0, 0, 0, 0, NULL); return 0; } @@ -53,8 +55,8 @@ static int imx8m_power_domain_off(struct power_domain *power_domain) if (pdata->resource_id < 0) return -EINVAL; - call_imx_sip(IMX_SIP_GPC, IMX_SIP_GPC_PM_DOMAIN, - pdata->resource_id, 0, 0); + arm_smccc_smc(IMX_SIP_GPC, IMX_SIP_GPC_PM_DOMAIN, + pdata->resource_id, 0, 0, 0, 0, 0, NULL); if (pdata->has_pd) power_domain_off(&pdata->pd); |