public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Alexandre Bailon <abailon@baylibre.com>
To: david@lechnology.com, b-liu@ti.com, balbi@kernel.org
Cc: kishon@ti.com, khilman@baylibre.com,
	linux-kernel@vger.kernel.org, linux-usb@vger.kernel.org,
	nsekhar@ti.com, Alexandre Bailon <abailon@baylibre.com>
Subject: [PATCH v3 5/5] usb: musb: da8xx: Remove set_mode callback
Date: Thu,  3 Nov 2016 16:26:05 +0100	[thread overview]
Message-ID: <1478186765-19840-6-git-send-email-abailon@baylibre.com> (raw)
In-Reply-To: <1478186765-19840-1-git-send-email-abailon@baylibre.com>

The USB PHY is able to operate in OTG, host or peripheral.
Some board may be wired to work act only as host or peripheral.
In such case, the dr_mode property of controller must be set to
host or peripheral. But doing that will also configure the PHY
in host or peripheral mode whereas OTG is able to detect which
role the USB controller should take.
The PHY's host or peripheral mode are actually only useful when
hardware doesn't allow OTG to detect it's role.

The set_mode callback is used by the musb driver to set mode
of the PHY. But in the case of DA8xx, the PHY have some issues.
The OTG mode work correctly but the host and peripheral don't.
In host mode, the PHY stops to work after the first disconnect.
In device mode, the PHY doesn't detect any disconnect.
As the OTG mode is working properly, let the PHY in OTG mode,
whatever is the controller mode.

Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
---
 drivers/usb/musb/da8xx.c | 23 -----------------------
 1 file changed, 23 deletions(-)

diff --git a/drivers/usb/musb/da8xx.c b/drivers/usb/musb/da8xx.c
index 6749aa1..581f830 100644
--- a/drivers/usb/musb/da8xx.c
+++ b/drivers/usb/musb/da8xx.c
@@ -335,28 +335,6 @@ static irqreturn_t da8xx_musb_interrupt(int irq, void *hci)
 	return ret;
 }
 
-static int da8xx_musb_set_mode(struct musb *musb, u8 musb_mode)
-{
-	struct da8xx_glue *glue = dev_get_drvdata(musb->controller->parent);
-	enum phy_mode phy_mode;
-
-	switch (musb_mode) {
-	case MUSB_HOST:		/* Force VBUS valid, ID = 0 */
-		phy_mode = PHY_MODE_USB_HOST;
-		break;
-	case MUSB_PERIPHERAL:	/* Force VBUS valid, ID = 1 */
-		phy_mode = PHY_MODE_USB_DEVICE;
-		break;
-	case MUSB_OTG:		/* Don't override the VBUS/ID comparators */
-		phy_mode = PHY_MODE_USB_OTG;
-		break;
-	default:
-		return -EINVAL;
-	}
-
-	return phy_set_mode(glue->phy, phy_mode);
-}
-
 static int da8xx_musb_init(struct musb *musb)
 {
 	struct da8xx_glue *glue = dev_get_drvdata(musb->controller->parent);
@@ -445,7 +423,6 @@ static const struct musb_platform_ops da8xx_ops = {
 	.enable		= da8xx_musb_enable,
 	.disable	= da8xx_musb_disable,
 
-	.set_mode	= da8xx_musb_set_mode,
 	.try_idle	= da8xx_musb_try_idle,
 
 	.set_vbus	= da8xx_musb_set_vbus,
-- 
2.7.3

  parent reply	other threads:[~2016-11-03 15:27 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-03 15:26 [PATCH v3 0/5] usb: musb: da8xx: Fix few issues Alexandre Bailon
2016-11-03 15:26 ` [PATCH v3 1/5] usb: musb: da8xx: Call earlier clk_prepare_enable() Alexandre Bailon
2016-11-03 15:26 ` [PATCH v3 2/5] phy: da8xx-usb: Configure CFGCHIP2 to support OTG workaround Alexandre Bailon
2016-11-03 17:00   ` David Lechner
2016-11-03 15:26 ` [PATCH v3 3/5] dt/bindings: Add a new property to DA8xx USB PHY Alexandre Bailon
2016-11-03 16:34   ` Kishon Vijay Abraham I
2016-11-03 17:26     ` Alexandre Bailon
2016-11-03 17:50       ` Kishon Vijay Abraham I
2016-11-04 11:07         ` Alexandre Bailon
2016-11-03 16:53   ` David Lechner
2016-11-03 17:33     ` Alexandre Bailon
2016-11-03 17:53       ` David Lechner
2016-11-03 15:26 ` [PATCH v3 4/5] phy: da8xx-usb: Use usb20_force_mode property to configure the phy mode Alexandre Bailon
2016-11-03 15:26 ` Alexandre Bailon [this message]
2016-11-03 17:18   ` [PATCH v3 5/5] usb: musb: da8xx: Remove set_mode callback David Lechner
2016-11-03 17:27     ` Bin Liu
2016-11-03 17:42       ` Alexandre Bailon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1478186765-19840-6-git-send-email-abailon@baylibre.com \
    --to=abailon@baylibre.com \
    --cc=b-liu@ti.com \
    --cc=balbi@kernel.org \
    --cc=david@lechnology.com \
    --cc=khilman@baylibre.com \
    --cc=kishon@ti.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=nsekhar@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox