]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/usb/chipidea/core.c
ENGR00277805-6 usb: chipidea: add ci_hdrc_enter_lpm API
[karo-tx-linux.git] / drivers / usb / chipidea / core.c
index c47a6b46dea3b05a23f43ae77b98f96bab3a0b74..a68e281f923674be258d6efbbcf974bab1decda3 100644 (file)
@@ -451,6 +451,20 @@ void ci_hdrc_remove_device(struct platform_device *pdev)
 }
 EXPORT_SYMBOL_GPL(ci_hdrc_remove_device);
 
+void ci_hdrc_enter_lpm(struct platform_device *pdev, bool enable)
+{
+       struct ci_hdrc *ci = platform_get_drvdata(pdev);
+       enum ci_hw_regs reg = ci->hw_bank.lpm ? OP_DEVLC : OP_PORTSC;
+
+       if (enable)
+               hw_write(ci, reg, PORTSC_PHCD(ci->hw_bank.lpm),
+                               PORTSC_PHCD(ci->hw_bank.lpm));
+       else
+               hw_write(ci, reg, PORTSC_PHCD(ci->hw_bank.lpm),
+                               0);
+}
+EXPORT_SYMBOL_GPL(ci_hdrc_enter_lpm);
+
 static inline void ci_role_destroy(struct ci_hdrc *ci)
 {
        ci_hdrc_gadget_destroy(ci);