summaryrefslogtreecommitdiff
path: root/arch/arm/mach-imx/imx8m
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-imx/imx8m')
-rw-r--r--arch/arm/mach-imx/imx8m/soc.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/imx8m/soc.c b/arch/arm/mach-imx/imx8m/soc.c
index ea2c1045a12..5d1ead9a9c3 100644
--- a/arch/arm/mach-imx/imx8m/soc.c
+++ b/arch/arm/mach-imx/imx8m/soc.c
@@ -488,3 +488,22 @@ int arch_misc_init(void)
return 0;
}
#endif
+
+#ifdef CONFIG_USB_XHCI_IMX8M
+#define FSL_SIP_GPC 0xC2000000
+#define FSL_SIP_CONFIG_GPC_PM_DOMAIN 0x03
+int imx8m_usb_power(int usb_id, bool on)
+{
+ unsigned long ret;
+
+ if (usb_id > 1)
+ return -EINVAL;
+
+ ret = call_imx_sip(FSL_SIP_GPC,
+ FSL_SIP_CONFIG_GPC_PM_DOMAIN, 2 + usb_id, on, 0);
+ if (ret)
+ return -EPERM;
+
+ return 0;
+}
+#endif