2018-05-07 10:07:32 +00:00
|
|
|
From b6712b72d1273e792ee8a533048ba731a3709163 Mon Sep 17 00:00:00 2001
|
|
|
|
From: Chunfeng Yun <chunfeng.yun@mediatek.com>
|
|
|
|
Date: Fri, 13 Oct 2017 17:10:44 +0800
|
|
|
|
Subject: [PATCH 110/224] usb: mtu3: get optional vbus for host only mode
|
|
|
|
|
|
|
|
When dr_mode is set as USB_DR_MODE_HOST, it's better to try to
|
|
|
|
get optional vbus, this can increase flexibility, although we
|
|
|
|
can set vbus as always on for regulator or put it in host driver
|
|
|
|
to turn it on.
|
|
|
|
|
|
|
|
Signed-off-by: Chunfeng Yun <chunfeng.yun@mediatek.com>
|
|
|
|
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
|
|
|
|
---
|
|
|
|
drivers/usb/mtu3/mtu3_plat.c | 8 ++++----
|
|
|
|
1 file changed, 4 insertions(+), 4 deletions(-)
|
|
|
|
|
|
|
|
--- a/drivers/usb/mtu3/mtu3_plat.c
|
|
|
|
+++ b/drivers/usb/mtu3/mtu3_plat.c
|
2018-05-28 21:10:44 +00:00
|
|
|
@@ -300,10 +300,6 @@ static int get_ssusb_rscs(struct platfor
|
2018-05-07 10:07:32 +00:00
|
|
|
of_property_read_u32(node, "mediatek,u3p-dis-msk",
|
|
|
|
&ssusb->u3p_dis_msk);
|
|
|
|
|
|
|
|
- if (ssusb->dr_mode != USB_DR_MODE_OTG)
|
|
|
|
- return 0;
|
|
|
|
-
|
|
|
|
- /* if dual-role mode is supported */
|
|
|
|
vbus = devm_regulator_get(&pdev->dev, "vbus");
|
|
|
|
if (IS_ERR(vbus)) {
|
|
|
|
dev_err(dev, "failed to get vbus\n");
|
2018-05-28 21:10:44 +00:00
|
|
|
@@ -311,6 +307,10 @@ static int get_ssusb_rscs(struct platfor
|
2018-05-07 10:07:32 +00:00
|
|
|
}
|
|
|
|
otg_sx->vbus = vbus;
|
|
|
|
|
|
|
|
+ if (ssusb->dr_mode == USB_DR_MODE_HOST)
|
|
|
|
+ return 0;
|
|
|
|
+
|
|
|
|
+ /* if dual-role mode is supported */
|
|
|
|
otg_sx->is_u3_drd = of_property_read_bool(node, "mediatek,usb3-drd");
|
|
|
|
otg_sx->manual_drd_enabled =
|
|
|
|
of_property_read_bool(node, "enable-manual-drd");
|