summaryrefslogtreecommitdiff
path: root/src/device
diff options
context:
space:
mode:
Diffstat (limited to 'src/device')
-rw-r--r--src/device/dcd.h4
-rw-r--r--src/device/dcd_attr.h4
-rw-r--r--src/device/usbd.c5
3 files changed, 11 insertions, 2 deletions
diff --git a/src/device/dcd.h b/src/device/dcd.h
index c042cc708..fbcef40d4 100644
--- a/src/device/dcd.h
+++ b/src/device/dcd.h
@@ -106,12 +106,12 @@ typedef struct TU_ATTR_ALIGNED(4)
void dcd_init (uint8_t rhport);
// Interrupt Handler
-#if __GNUC__
+#if __GNUC__ && !defined(__ARMCC_VERSION)
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wredundant-decls"
#endif
void dcd_int_handler(uint8_t rhport);
-#if __GNUC__
+#if __GNUC__ && !defined(__ARMCC_VERSION)
#pragma GCC diagnostic pop
#endif
diff --git a/src/device/dcd_attr.h b/src/device/dcd_attr.h
index 3c5dadaf4..695a4a05a 100644
--- a/src/device/dcd_attr.h
+++ b/src/device/dcd_attr.h
@@ -197,6 +197,10 @@
#elif TU_CHECK_MCU(OPT_MCU_XMC4000)
#define DCD_ATTR_ENDPOINT_MAX 8
+//------------ Allwinner -------------//
+#elif TU_CHECK_MCU(OPT_MCU_F1C100S)
+ #define DCD_ATTR_ENDPOINT_MAX 4
+
#else
#warning "DCD_ATTR_ENDPOINT_MAX is not defined for this MCU, default to 8"
#define DCD_ATTR_ENDPOINT_MAX 8
diff --git a/src/device/usbd.c b/src/device/usbd.c
index 6a5210b34..0e31f47c7 100644
--- a/src/device/usbd.c
+++ b/src/device/usbd.c
@@ -44,6 +44,11 @@
#define CFG_TUD_TASK_QUEUE_SZ 16
#endif
+#ifdef __ARMCC_VERSION
+// Supress "statement is unreachable" warning
+#pragma diag_suppress 111
+#endif
+
//--------------------------------------------------------------------+
// Device Data
//--------------------------------------------------------------------+