aboutsummaryrefslogtreecommitdiffstats
path: root/src/atsam/sam3_usb.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/atsam/sam3_usb.c')
-rw-r--r--src/atsam/sam3_usb.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/atsam/sam3_usb.c b/src/atsam/sam3_usb.c
index d8d00914..a76d7c75 100644
--- a/src/atsam/sam3_usb.c
+++ b/src/atsam/sam3_usb.c
@@ -11,6 +11,14 @@
#include "internal.h" // UOTGHS
#include "sched.h" // DECL_INIT
+#if CONFIG_MACH_SAME70
+#include "same70_usb.h" // Fixes for upstream header changes
+#define CFG_UOTGHS_CTRL (UOTGHS_CTRL_UIMOD | UOTGHS_CTRL_USBE)
+#else
+#define CFG_UOTGHS_CTRL (UOTGHS_CTRL_UIMOD | UOTGHS_CTRL_OTGPADE | \
+ UOTGHS_CTRL_USBE)
+#endif
+
#define EP_SIZE(s) ((s)==64 ? UOTGHS_DEVEPTCFG_EPSIZE_64_BYTE : \
((s)==32 ? UOTGHS_DEVEPTCFG_EPSIZE_32_BYTE : \
((s)==16 ? UOTGHS_DEVEPTCFG_EPSIZE_16_BYTE : \
@@ -216,8 +224,7 @@ usbserial_init(void)
;
// Enable USB
- UOTGHS->UOTGHS_CTRL = (UOTGHS_CTRL_UIMOD | UOTGHS_CTRL_OTGPADE
- | UOTGHS_CTRL_USBE);
+ UOTGHS->UOTGHS_CTRL = CFG_UOTGHS_CTRL;
UOTGHS->UOTGHS_DEVCTRL = UOTGHS_DEVCTRL_SPDCONF_FORCED_FS;
// Enable interrupts