summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorHemant Kumar <hemantk@codeaurora.org>2017-08-18 16:40:58 -0700
committerAjay Agarwal <ajaya@codeaurora.org>2017-11-24 14:50:11 +0530
commit03a86f5cb1adaa2e30a70eefd7bc1ab9509eea46 (patch)
treedb60032fbe17831a7d5b4734ebcef7846f9a4542 /drivers/usb
parentd33ed6b2cc80c5bbe156a1c3efb101f564a4e6ef (diff)
usb: host: Add support for usb core indexing
Unique usb core id is used to differentiate between different usb controllers. Change-Id: Ibd886f704e7ecedfbf035b8e5adea2852ddf25bf Signed-off-by: Hemant Kumar <hemantk@codeaurora.org>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/host/xhci-plat.c4
-rw-r--r--drivers/usb/host/xhci.h2
2 files changed, 6 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-plat.c b/drivers/usb/host/xhci-plat.c
index c6998f086e12..be72953f9737 100644
--- a/drivers/usb/host/xhci-plat.c
+++ b/drivers/usb/host/xhci-plat.c
@@ -233,6 +233,10 @@ static int xhci_plat_probe(struct platform_device *pdev)
hcd_to_bus(xhci->shared_hcd)->skip_resume = true;
+ if (device_property_read_u32(pdev->dev.parent, "usb-core-id",
+ &xhci->core_id))
+ xhci->core_id = -EINVAL;
+
hcd->usb_phy = devm_usb_get_phy_by_phandle(&pdev->dev, "usb-phy", 0);
if (IS_ERR(hcd->usb_phy)) {
ret = PTR_ERR(hcd->usb_phy);
diff --git a/drivers/usb/host/xhci.h b/drivers/usb/host/xhci.h
index c665806983be..f583cefecee0 100644
--- a/drivers/usb/host/xhci.h
+++ b/drivers/usb/host/xhci.h
@@ -1519,6 +1519,8 @@ struct xhci_hcd {
/* secondary interrupter */
struct xhci_intr_reg __iomem **sec_ir_set;
+ int core_id;
+
/* Cached register copies of read-only HC data */
__u32 hcs_params1;
__u32 hcs_params2;