summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/atsam/libraries/libchip
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2016-12-13 15:18:00 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2016-12-14 13:09:27 +0100
commitf74e2959ded6b0e1e750b539df27ba18eeceb46f (patch)
treee3f67aee65f28451e029bf256a7c412158f7d74a /c/src/lib/libbsp/arm/atsam/libraries/libchip
parentbsp/atsam: Optimize transfer setup checks (diff)
downloadrtems-f74e2959ded6b0e1e750b539df27ba18eeceb46f.tar.bz2
bsp/atsam: Speed up SPI DMA transfer start
Diffstat (limited to 'c/src/lib/libbsp/arm/atsam/libraries/libchip')
-rw-r--r--c/src/lib/libbsp/arm/atsam/libraries/libchip/include/xdmac.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/arm/atsam/libraries/libchip/include/xdmac.h b/c/src/lib/libbsp/arm/atsam/libraries/libchip/include/xdmac.h
index 34d4faaef7..058bcf90c3 100644
--- a/c/src/lib/libbsp/arm/atsam/libraries/libchip/include/xdmac.h
+++ b/c/src/lib/libbsp/arm/atsam/libraries/libchip/include/xdmac.h
@@ -122,6 +122,12 @@
extern "C" {
#endif
+static inline void XDMAC_StartTransfer(Xdmac *pXdmac, uint8_t iChannel)
+{
+ pXdmac->XDMAC_GE = (XDMAC_GE_EN0 << iChannel);
+ pXdmac->XDMAC_GIE = (XDMAC_GIE_IE0 << iChannel);
+}
+
extern uint32_t XDMAC_GetType(Xdmac *pXdmac);
extern uint32_t XDMAC_GetConfig(Xdmac *pXdmac);
extern uint32_t XDMAC_GetArbiter(Xdmac *pXdmac);