From: Peter Chen <peter.chen@nxp.com>
To: balbi@kernel.org, mathias.nyman@intel.com, gregkh@linuxfoundation.org
Cc: linux-usb@vger.kernel.org, linux-imx@nxp.com, pawell@cadence.com,
rogerq@ti.com, jun.li@nxp.com, Peter Chen <peter.chen@nxp.com>
Subject: [PATCH v5 7/9] usb: host: xhci-plat: add priv quirk for skip PHY initialization
Date: Tue, 7 Jul 2020 15:49:39 +0800 [thread overview]
Message-ID: <20200707074941.28078-8-peter.chen@nxp.com> (raw)
In-Reply-To: <20200707074941.28078-1-peter.chen@nxp.com>
Some DRD controllers (eg, dwc3 & cdns3) have PHY management at
their own driver to cover both device and host mode, so add one
priv quirk for such users to skip PHY management from HCD core.
Signed-off-by: Peter Chen <peter.chen@nxp.com>
---
drivers/usb/host/xhci-plat.c | 8 ++++++--
drivers/usb/host/xhci.h | 1 +
2 files changed, 7 insertions(+), 2 deletions(-)
diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
index 03d6bbe51919..cebe24ec80a5 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -183,6 +183,8 @@ static int xhci_plat_probe(struct platform_device *pdev)
struct usb_hcd *hcd;
int ret;
int irq;
+ struct xhci_plat_priv *priv = NULL;
+
if (usb_disabled())
return -ENODEV;
@@ -280,8 +282,7 @@ static int xhci_plat_probe(struct platform_device *pdev)
priv_match = dev_get_platdata(&pdev->dev);
if (priv_match) {
- struct xhci_plat_priv *priv = hcd_to_xhci_priv(hcd);
-
+ priv = hcd_to_xhci_priv(hcd);
/* Just copy data for now */
*priv = *priv_match;
}
@@ -329,6 +330,9 @@ static int xhci_plat_probe(struct platform_device *pdev)
hcd->tpl_support = of_usb_host_tpl_support(sysdev->of_node);
xhci->shared_hcd->tpl_support = hcd->tpl_support;
+ if (priv && (priv->quirks & XHCI_SKIP_PHY_INIT))
+ hcd->skip_phy_initialization = 1;
+
ret = usb_add_hcd(hcd, irq, IRQF_SHARED);
if (ret)
goto disable_usb_phy;
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index c295e8a7f5ae..07d71fec18d5 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1874,6 +1874,7 @@ struct xhci_hcd {
#define XHCI_RESET_PLL_ON_DISCONNECT BIT_ULL(34)
#define XHCI_SNPS_BROKEN_SUSPEND BIT_ULL(35)
#define XHCI_RENESAS_FW_QUIRK BIT_ULL(36)
+#define XHCI_SKIP_PHY_INIT BIT_ULL(37)
unsigned int num_active_eps;
unsigned int limit_active_eps;
--
2.17.1
next prev parent reply other threads:[~2020-07-07 7:50 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-07-07 7:49 [PATCH v5 0/9] usb: some PM changes for cdns3 and xhci-plat Peter Chen
2020-07-07 7:49 ` [PATCH v5 1/9] usb: cdns3: introduce set_phy_power_on{off} APIs Peter Chen
2020-08-13 12:09 ` Pawel Laszczak
2020-08-14 5:29 ` Peter Chen
2020-07-07 7:49 ` [PATCH v5 2/9] usb: cdns3: add runtime PM support Peter Chen
2020-08-13 13:10 ` Pawel Laszczak
2020-07-07 7:49 ` [PATCH v5 3/9] usb: cdns3: imx: add glue layer runtime pm implementation Peter Chen
2020-08-13 13:20 ` Pawel Laszczak
2020-07-07 7:49 ` [PATCH v5 4/9] usb: host: xhci-plat: add platform data support Peter Chen
2020-07-07 7:49 ` [PATCH v5 5/9] usb: host: xhci-plat: add .suspend_quirk for struct xhci_plat_priv Peter Chen
2020-07-07 7:49 ` [PATCH v5 6/9] usb: host: xhci-plat: delete the unnecessary code Peter Chen
2020-07-07 7:49 ` Peter Chen [this message]
2020-07-24 6:24 ` [PATCH v5 7/9] usb: host: xhci-plat: add priv quirk for skip PHY initialization Peter Chen
2020-07-07 7:49 ` [PATCH v5 8/9] usb: cdns3: host: add .suspend_quirk for xhci-plat.c Peter Chen
2020-08-17 4:39 ` Pawel Laszczak
2020-07-07 7:49 ` [PATCH v5 9/9] usb: cdns3: host: add xhci_plat_priv quirk XHCI_SKIP_PHY_INIT Peter Chen
2020-08-17 4:37 ` Pawel Laszczak
2020-07-17 6:13 ` [PATCH v5 0/9] usb: some PM changes for cdns3 and xhci-plat Peter Chen
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=20200707074941.28078-8-peter.chen@nxp.com \
--to=peter.chen@nxp.com \
--cc=balbi@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=jun.li@nxp.com \
--cc=linux-imx@nxp.com \
--cc=linux-usb@vger.kernel.org \
--cc=mathias.nyman@intel.com \
--cc=pawell@cadence.com \
--cc=rogerq@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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.