From: "Ivan T. Ivanov" <iivanov@mm-sol.com>
To: Felipe Balbi <balbi@ti.com>
Cc: Tim Bird <tbird20d@gmail.com>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org,
linux-arm-msm@vger.kernel.org, Tim Bird <tim.bird@sonymobile.com>
Subject: [PATCH v8 16/20] usb: phy: msm: Fix PTS definitions for MSM USB controller
Date: Mon, 28 Apr 2014 16:34:19 +0300 [thread overview]
Message-ID: <1398692063-11372-17-git-send-email-iivanov@mm-sol.com> (raw)
In-Reply-To: <1398692063-11372-1-git-send-email-iivanov@mm-sol.com>
From: Tim Bird <tbird20d@gmail.com>
Fix the value used for Parallel Transceiver Select (PTS) for the MSM USB
controller. This is a standard chipidea PORTSC definition, where
a PHY_TYPE of 10b (<<30) is ULPI and 11b (<<30) is SERIAL.
Fix the definitions and use them correctly in the driver code.
Signed-off-by: Tim Bird <tim.bird@sonymobile.com>
---
drivers/usb/phy/phy-msm-usb.c | 8 +++++---
include/linux/usb/msm_hsusb_hw.h | 5 +++--
2 files changed, 8 insertions(+), 5 deletions(-)
diff --git a/drivers/usb/phy/phy-msm-usb.c b/drivers/usb/phy/phy-msm-usb.c
index bb33996..db8d963 100644
--- a/drivers/usb/phy/phy-msm-usb.c
+++ b/drivers/usb/phy/phy-msm-usb.c
@@ -287,8 +287,9 @@ static int msm_link_reset(struct msm_otg *motg)
if (motg->phy_number)
writel(readl(USB_PHY_CTRL2) | BIT(16), USB_PHY_CTRL2);
+ /* put transceiver in serial mode as part of reset */
val = readl(USB_PORTSC) & ~PORTSC_PTS_MASK;
- writel(val | PORTSC_PTS_ULPI, USB_PORTSC);
+ writel(val | PORTSC_PTS_SERIAL, USB_PORTSC);
return 0;
}
@@ -308,8 +309,9 @@ static int msm_otg_reset(struct usb_phy *phy)
if (cnt >= LINK_RESET_TIMEOUT_USEC)
return -ETIMEDOUT;
- /* select ULPI phy */
- writel(0x80000000, USB_PORTSC);
+ /* select ULPI phy and clear other status/control bits in PORTSC */
+ writel(PORTSC_PTS_ULPI, USB_PORTSC);
+
writel(0x0, USB_AHBBURST);
writel(0x08, USB_AHBMODE);
diff --git a/include/linux/usb/msm_hsusb_hw.h b/include/linux/usb/msm_hsusb_hw.h
index 575c743..98d3dd8 100644
--- a/include/linux/usb/msm_hsusb_hw.h
+++ b/include/linux/usb/msm_hsusb_hw.h
@@ -31,8 +31,9 @@
#define USB_USBINTR (MSM_USB_BASE + 0x0148)
#define PORTSC_PHCD (1 << 23) /* phy suspend mode */
-#define PORTSC_PTS_MASK (3 << 30)
-#define PORTSC_PTS_ULPI (3 << 30)
+#define PORTSC_PTS_MASK (3 << 30)
+#define PORTSC_PTS_ULPI (2 << 30)
+#define PORTSC_PTS_SERIAL (3 << 30)
#define USB_ULPI_VIEWPORT (MSM_USB_BASE + 0x0170)
#define ULPI_RUN (1 << 30)
--
1.8.3.2
next prev parent reply other threads:[~2014-04-28 13:36 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1398692063-11372-1-git-send-email-iivanov@mm-sol.com>
2014-04-28 13:34 ` [PATCH v8 01/20] usb: phy: msm: Make driver selectable on ARCH_QCOM Ivan T. Ivanov
2014-04-28 13:34 ` [PATCH v8 02/20] usb: phy: msm: Remove __init macro from driver probe method Ivan T. Ivanov
[not found] ` <535E893B.7050609@cogentembedded.com>
[not found] ` <20140428170357.GP30292@saruman.home>
2014-04-28 17:52 ` Ivan T. Ivanov
2014-04-28 17:54 ` Felipe Balbi
2014-04-28 17:57 ` Ivan T. Ivanov
2014-04-28 13:34 ` [PATCH v8 03/20] usb: phy: msm: Move global regulators variables to driver state Ivan T. Ivanov
2014-04-28 13:34 ` [PATCH v8 04/20] usb: phy: msm: Enable deferred driver probing Ivan T. Ivanov
2014-04-28 13:34 ` [PATCH v8 05/20] usb: phy: msm: Migrate to Managed Device Resource allocation Ivan T. Ivanov
2014-04-28 13:34 ` [PATCH v8 06/20] usb: phy: msm: Remove unnecessarily check for valid regulators Ivan T. Ivanov
2014-04-28 13:34 ` [PATCH v8 07/20] usb: phy: msm: Fix checkpatch.pl warnings Ivan T. Ivanov
2014-04-28 13:34 ` [PATCH v8 08/20] usb: phy: msm: Replace custom enum usb_mode_type with enum usb_dr_mode Ivan T. Ivanov
2014-04-28 13:34 ` [PATCH v8 09/20] usb: phy: msm: Remove unused pclk_src_name Ivan T. Ivanov
2014-04-28 13:34 ` [PATCH v8 10/20] usb: phy: msm: Remove HSUSB prefix from regulator names Ivan T. Ivanov
2014-04-28 13:34 ` [PATCH v8 11/20] usb: phy: msm: Properly check result from platform_get_irq() Ivan T. Ivanov
2014-04-28 13:34 ` [PATCH v8 12/20] usb: phy: msm: Add device tree support and binding information Ivan T. Ivanov
2014-04-28 13:34 ` [PATCH v8 13/20] usb: phy: msm: Use reset framework for LINK and PHY resets Ivan T. Ivanov
2014-04-28 13:34 ` [PATCH v8 14/20] usb: phy: msm: Add support for secondary PHY control Ivan T. Ivanov
2014-04-30 16:22 ` Felipe Balbi
2014-04-28 13:34 ` [PATCH v8 15/20] usb: phy: msm: Correct USB PHY Reset sequence for newer platform Ivan T. Ivanov
2014-04-28 13:34 ` Ivan T. Ivanov [this message]
2014-04-28 13:34 ` [PATCH v8 17/20] usb: phy: msm: Select secondary PHY via TCSR Ivan T. Ivanov
2014-04-30 16:23 ` Felipe Balbi
2014-05-03 6:45 ` Ivan T. Ivanov
2014-04-28 13:34 ` [PATCH v8 18/20] usb: phy: msm: Handle disconnect events Ivan T. Ivanov
2014-04-28 13:34 ` [PATCH v8 19/20] usb: phy: msm: Vote for corner of VDD CX instead of voltage of VDD CX Ivan T. Ivanov
2014-04-28 13:34 ` [PATCH v8 20/20] usb: phy: msm: Use usb_add_phy_dev() to register device Ivan T. Ivanov
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=1398692063-11372-17-git-send-email-iivanov@mm-sol.com \
--to=iivanov@mm-sol.com \
--cc=balbi@ti.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=tbird20d@gmail.com \
--cc=tim.bird@sonymobile.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
all inboxes | Powered by JetHome®