summaryrefslogtreecommitdiff
path: root/src/stmf0/ao_arch_funcs.h
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2015-01-26 22:12:40 -0800
committerKeith Packard <keithp@keithp.com>2015-01-26 22:12:40 -0800
commita01effc2f64c757c907e0f4937b4d3710b97bde0 (patch)
treeeec9ef09003e12073016422205ab2829986cce18 /src/stmf0/ao_arch_funcs.h
parente1d5bcb1968e280b8ebdf6c8b12e8a87167fd890 (diff)
altos/stmf0: Add faster USB path
This adds a way to allocate private USB buffers for sending data without needing to copy it again. It requires ensuring that all accesses are 16 bits aligned to 16 bit boundaries. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/stmf0/ao_arch_funcs.h')
-rw-r--r--src/stmf0/ao_arch_funcs.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/stmf0/ao_arch_funcs.h b/src/stmf0/ao_arch_funcs.h
index a5c6764b..3db96be2 100644
--- a/src/stmf0/ao_arch_funcs.h
+++ b/src/stmf0/ao_arch_funcs.h
@@ -384,4 +384,17 @@ static inline void ao_arch_start_scheduler(void) {
ao_arch_irqrestore(__mask); \
} while (0)
+/* ao_usb_stm.c */
+
+#if AO_USB_DIRECTIO
+uint16_t *
+ao_usb_alloc(void);
+
+void
+ao_usb_free(uint16_t *buffer);
+
+void
+ao_usb_write(uint16_t *buffer, uint16_t len);
+#endif /* AO_USB_DIRECTIO */
+
#endif /* _AO_ARCH_FUNCS_H_ */