|
@@ -108,6 +108,9 @@
|
|
|
#define DWC3_GPRTBIMAP_FS0 0xc188
|
|
|
#define DWC3_GPRTBIMAP_FS1 0xc18c
|
|
|
|
|
|
+#define DWC3_VER_NUMBER 0xc1a0
|
|
|
+#define DWC3_VER_TYPE 0xc1a4
|
|
|
+
|
|
|
#define DWC3_GUSB2PHYCFG(n) (0xc200 + (n * 0x04))
|
|
|
#define DWC3_GUSB2I2CCTL(n) (0xc240 + (n * 0x04))
|
|
|
|
|
@@ -771,6 +774,14 @@ struct dwc3 {
|
|
|
u32 num_event_buffers;
|
|
|
u32 u1u2;
|
|
|
u32 maximum_speed;
|
|
|
+
|
|
|
+ /*
|
|
|
+ * All 3.1 IP version constants are greater than the 3.0 IP
|
|
|
+ * version constants. This works for most version checks in
|
|
|
+ * dwc3. However, in the future, this may not apply as
|
|
|
+ * features may be developed on newer versions of the 3.0 IP
|
|
|
+ * that are not in the 3.1 IP.
|
|
|
+ */
|
|
|
u32 revision;
|
|
|
|
|
|
#define DWC3_REVISION_173A 0x5533173a
|
|
@@ -793,6 +804,13 @@ struct dwc3 {
|
|
|
#define DWC3_REVISION_270A 0x5533270a
|
|
|
#define DWC3_REVISION_280A 0x5533280a
|
|
|
|
|
|
+/*
|
|
|
+ * NOTICE: we're using bit 31 as a "is usb 3.1" flag. This is really
|
|
|
+ * just so dwc31 revisions are always larger than dwc3.
|
|
|
+ */
|
|
|
+#define DWC3_REVISION_IS_DWC31 0x80000000
|
|
|
+#define DWC3_USB31_REVISION_110A (0x3131302a | DWC3_REVISION_IS_USB31)
|
|
|
+
|
|
|
enum dwc3_ep0_next ep0_next_event;
|
|
|
enum dwc3_ep0_state ep0state;
|
|
|
enum dwc3_link_state link_state;
|