summaryrefslogtreecommitdiff
path: root/drivers/usb/da8xx_usb.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/da8xx_usb.h')
-rw-r--r--drivers/usb/da8xx_usb.h73
1 files changed, 73 insertions, 0 deletions
diff --git a/drivers/usb/da8xx_usb.h b/drivers/usb/da8xx_usb.h
new file mode 100644
index 0000000000..ffc0be39b1
--- /dev/null
+++ b/drivers/usb/da8xx_usb.h
@@ -0,0 +1,73 @@
+/*
+ * TI's DA8xx platform specific usb wrapper functions.
+ *
+ * Copyright (c) 2004 Texas Instruments
+ *
+ * This package is free software; you can redistribute it and/or
+ * modify it under the terms of the license found in the file
+ * named COPYING that should have accompanied this file.
+ *
+ * THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+ * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * Author: Thomas Abraham t-abraham@ti.com, Texas Instruments
+ *
+ * Copyright (c) 2003 Wolfgang Denk, wd@denx.de
+ *
+ */
+
+#ifndef __DA8XX_MUSB_H__
+#define __DA8XX_MUSB_H__
+
+#include "musbhdrc.h"
+
+/* Base address of da8xx usb0 wrapper */
+#define DA8XX_USB0_BASE 0x01E00000
+
+/* Base address of da8xx musb core */
+#define MENTOR_USB0_BASE (DA8XX_USB0_BASE+0x400)
+
+/* For now include usb OTG module registers here */
+#define DA8XX_USB_VERSION_REG 0x00
+#define DA8XX_USB_CTRL_REG 0x04
+#define DA8XX_USB_STAT_REG 0x08
+#define DA8XX_MODE_TGCR_REG 0x10 /* Mode reg RNDIS */
+#define DA8XX_AUTOREQ_REG 0x14
+#define DA8XX_SRP_FIXTIME_REG 0x18 /* SRP Fixtime reg */
+#define DA8XX_TEARDOWN_REG 0x1C /* TearDown Register*/
+#define DA8XX_USB_INT_SOURCE_REG 0x20
+#define DA8XX_USB_INT_SET_REG 0x24
+#define DA8XX_USB_INT_SRC_CLR_REG 0x28
+#define DA8XX_USB_INT_MASK_REG 0x2c
+#define DA8XX_USB_INT_MASK_SET_REG 0x30
+#define DA8XX_USB_INT_MASK_CLR_REG 0x34
+#define DA8XX_USB_INT_SRC_MASKED_REG 0x38
+#define DA8XX_USB_EOI_REG 0x3c
+#define DA8XX_USB_EOI_INTVEC 0x40
+#define DA8XX_GRNDIS_EP1SIZE_REG 0x50
+#define DA8XX_GRNDIS_EP2SIZE_REG 0x54
+#define DA8XX_GRNDIS_EP3SIZE_REG 0x58
+#define DA8XX_GRNDIS_EP4SIZE_REG 0x5C
+
+
+#define DA8XX_USB_TX_ENDPTS_MASK 0x1f /* ep0 + 4 tx */
+#define DA8XX_USB_RX_ENDPTS_MASK 0x1e /* 4 rx */
+
+#define DA8XX_USB_USBINT_SHIFT 16
+#define DA8XX_USB_TXINT_SHIFT 0
+#define DA8XX_USB_RXINT_SHIFT 8
+
+#define DA8XX_INTR_DRVVBUS 0x0100
+
+#define DA8XX_USB_USBINT_MASK 0x01ff0000 /* 8 Mentor, DRVVBUS */
+#define DA8XX_USB_TXINT_MASK \
+ (DA8XX_USB_TX_ENDPTS_MASK << DA8XX_USB_TXINT_SHIFT)
+#define DA8XX_USB_RXINT_MASK \
+ (DA8XX_USB_RX_ENDPTS_MASK << DA8XX_USB_RXINT_SHIFT)
+
+#define MGC_BUSCTL_OFFSET(_bEnd, _bOffset) \
+ (0x80 + (8*(_bEnd)) + (_bOffset))
+
+#endif /* __DA8XX_MUSB_H__ */
+