Test
Diff: MODDMA.h
- Revision:
- 12:1dfee7208043
- Parent:
- 8:cb4d323ce6fd
- Child:
- 16:cb10aec6feb1
--- a/MODDMA.h Sun Mar 13 12:46:55 2011 +0000 +++ b/MODDMA.h Sun Mar 13 23:28:21 2011 +0000 @@ -64,6 +64,7 @@ uint32_t SrcConn; //!< Peripheral Source Connection type, used in case TransferType is chosen as uint32_t DstConn; //!< Peripheral Destination Connection type, used in case TransferType is chosen as uint32_t DMALLI; //!< Linker List Item structure data address if there's no Linker List, set as '0' + uint32_t DMACSync; //!< DMACSync if required. // Mbed specifics. @@ -81,6 +82,7 @@ SrcConn = 0; DstConn = 0; DMALLI = 0; + DMACSync = 0; } ~MODDMA_Config() { @@ -97,6 +99,7 @@ class MODDMA_Config * srcConn(uint32_t n) { SrcConn = n; return this; } class MODDMA_Config * dstConn(uint32_t n) { DstConn = n; return this; } class MODDMA_Config * dmaLLI(uint32_t n) { DMALLI = n; return this; } + class MODDMA_Config * dmacSync(uint32_t n) { DMACSync = n; return this; } uint32_t channelNum(void) { return ChannelNum; } uint32_t transferSize(void) { return TransferSize; } @@ -107,7 +110,8 @@ uint32_t srcConn(void) { return SrcConn; } uint32_t dstConn(void) { return DstConn; } uint32_t dmaLLI(void) { return DMALLI; } - + uint32_t dmacSync(void) { return DMACSync; } + /** * Attach a callback to the TC IRQ configuration. * @@ -306,7 +310,9 @@ m2m = 0UL /*!< Memory to memory - DMA control */ , m2p = 1UL /*!< Memory to peripheral - DMA control */ , p2m = 2UL /*!< Peripheral to memory - DMA control */ - , p2p = 3UL /*!< Src peripheral to dest peripheral - DMA control */ + , p2p = 3UL /*!< Src peripheral to dest peripheral - DMA control */ + , g2m = 4UL /*!< Psuedo special case for reading "peripheral GPIO" that's memory mapped. */ + , m2g = 5UL /*!< Psuedo Special case for writing "peripheral GPIO" that's memory mapped. */ }; //! Burst size in Source and Destination definitions */ @@ -651,13 +657,15 @@ */ FunctionPointer isrIntErrStat; + uint32_t Channel_p(int channel); + protected: // Data LUTs. uint32_t LUTPerAddr(int n); uint8_t LUTPerBurst(int n); uint8_t LUTPerWid(int n); - uint32_t Channel_p(int channel); + //uint32_t Channel_p(int channel); CHANNELS IrqProcessingChannel;