All of lore.kernel.org
 help / color / mirror / Atom feed
* [U-Boot] [PATCH 1/2] drivers: usb: fsl: Add support for two USB XHCI controllers
@ 2015-03-16  3:32 Nikhil Badola
  0 siblings, 0 replies; only message in thread
From: Nikhil Badola @ 2015-03-16  3:32 UTC (permalink / raw)
  To: u-boot

Add support for two USB XHCI controllers for fsl platforms

Signed-off-by: Nikhil Badola <nikhil.badola@freescale.com>
---
Depends on "fsl/usb: Add USB XHCI support"

 drivers/usb/host/xhci-fsl.c  | 17 ++++++++++++++---
 include/linux/usb/xhci-fsl.h |  5 -----
 2 files changed, 14 insertions(+), 8 deletions(-)

diff --git a/drivers/usb/host/xhci-fsl.c b/drivers/usb/host/xhci-fsl.c
index 381c322..1d25084 100644
--- a/drivers/usb/host/xhci-fsl.c
+++ b/drivers/usb/host/xhci-fsl.c
@@ -113,8 +113,19 @@ int xhci_hcd_init(int index, struct xhci_hccr **hccr, struct xhci_hcor **hcor)
 	struct fsl_xhci *ctx = &fsl_xhci;
 	int ret = 0;
 
-	ctx->hcd = (struct xhci_hccr *)FSL_XHCI_BASE;
-	ctx->dwc3_reg = (struct dwc3 *)(FSL_XHCI_BASE + DWC3_REG_OFFSET);
+	switch (index) {
+	case 0:
+		ctx->hcd = (struct xhci_hccr *)CONFIG_SYS_FSL_XHCI_USB1_ADDR;
+		break;
+	case 1:
+		ctx->hcd = (struct xhci_hccr *)CONFIG_SYS_FSL_XHCI_USB2_ADDR;
+		break;
+	default:
+		printf("ERROR: wrong controller index!!\n");
+		break;
+	};
+
+	ctx->dwc3_reg = (struct dwc3 *)((char *)(ctx->hcd) + DWC3_REG_OFFSET);
 
 	ret = board_usb_init(index, USB_INIT_HOST);
 	if (ret != 0) {
@@ -128,7 +139,7 @@ int xhci_hcd_init(int index, struct xhci_hccr **hccr, struct xhci_hcor **hcor)
 		return ret;
 	}
 
-	*hccr = (struct xhci_hccr *)(FSL_XHCI_BASE);
+	*hccr = (ctx->hcd);
 	*hcor = (struct xhci_hcor *)((uint32_t) *hccr
 				+ HC_LENGTH(xhci_readl(&(*hccr)->cr_capbase)));
 
diff --git a/include/linux/usb/xhci-fsl.h b/include/linux/usb/xhci-fsl.h
index 1dc1e12..0019a16 100644
--- a/include/linux/usb/xhci-fsl.h
+++ b/include/linux/usb/xhci-fsl.h
@@ -10,9 +10,6 @@
 #ifndef _ASM_ARCH_XHCI_FSL_H_
 #define _ASM_ARCH_XHCI_FSL_H_
 
-/* Default to the FSL XHCI defines */
-#define FSL_XHCI_BASE 0x3100000
-
 /* USBOTGSS_WRAPPER definitions */
 #define USBOTGSS_WRAPRESET	(1 << 17)
 #define USBOTGSS_DMADISABLE (1 << 16)
@@ -38,8 +35,6 @@
 #define USBOTGSS_IRQ_SET_1_OEVT_EN	(1 << 16)
 #define USBOTGSS_IRQ_SET_1_DMADISABLECLR_EN	(1 << 17)
 
-#define DWC3_REG_OFFSET	0xc100
-
 struct fsl_xhci {
 	struct xhci_hccr *hcd;
 	struct dwc3 *dwc3_reg;
-- 
1.7.11.7

^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2015-03-16  3:32 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-16  3:32 [U-Boot] [PATCH 1/2] drivers: usb: fsl: Add support for two USB XHCI controllers Nikhil Badola

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.