| #define DMA_TCD_ATTR_SIZE_8BIT 0 | #define DMA_TCD_ATTR_SIZE_8BIT 0 | ||||
| #define DMA_TCD_ATTR_SIZE_16BIT 1 | #define DMA_TCD_ATTR_SIZE_16BIT 1 | ||||
| #define DMA_TCD_ATTR_SIZE_32BIT 2 | #define DMA_TCD_ATTR_SIZE_32BIT 2 | ||||
| #define DMA_TCD_ATTR_SIZE_16BYTE 4 | |||||
| #define DMA_TCD_ATTR_SIZE_32BYTE 5 // caution: this might not be supported in newer chips? | |||||
| #define DMA_TCD_ATTR_SIZE_64BIT 3 | |||||
| #define DMA_TCD_ATTR_SIZE_32BYTE 5 | |||||
| #define DMA_TCD_CSR_BWC(n) (((n) & 0x3) << 14) | #define DMA_TCD_CSR_BWC(n) (((n) & 0x3) << 14) | ||||
| #define DMA_TCD_CSR_BWC_MASK 0xC000 | #define DMA_TCD_CSR_BWC_MASK 0xC000 | ||||
| #define DMA_TCD_CSR_MAJORLINKCH(n) (((n) & 0xF) << 8) | |||||
| #define DMA_TCD_CSR_MAJORLINKCH_MASK 0x0F00 | |||||
| #define DMA_TCD_CSR_MAJORLINKCH(n) (((n) & 0x1F) << 8) | |||||
| #define DMA_TCD_CSR_MAJORLINKCH_MASK 0x1F00 | |||||
| #define DMA_TCD_CSR_DONE 0x0080 | #define DMA_TCD_CSR_DONE 0x0080 | ||||
| #define DMA_TCD_CSR_ACTIVE 0x0040 | #define DMA_TCD_CSR_ACTIVE 0x0040 | ||||
| #define DMA_TCD_CSR_MAJORELINK 0x0020 | #define DMA_TCD_CSR_MAJORELINK 0x0020 | ||||
| #define DMA_TCD_BITER_MASK ((uint16_t)0x7FFF) // Loop count mask | #define DMA_TCD_BITER_MASK ((uint16_t)0x7FFF) // Loop count mask | ||||
| #define DMA_TCD_BITER_ELINK ((uint16_t)1<<15) // Enable channel linking on minor-loop complete | #define DMA_TCD_BITER_ELINK ((uint16_t)1<<15) // Enable channel linking on minor-loop complete | ||||
| #define DMA_TCD_BITER_ELINKYES_ELINK 0x8000 | #define DMA_TCD_BITER_ELINKYES_ELINK 0x8000 | ||||
| #define DMA_TCD_BITER_ELINKYES_LINKCH(n) (((n) & 0xF) << 9) | |||||
| #define DMA_TCD_BITER_ELINKYES_LINKCH_MASK 0x1E00 | |||||
| #define DMA_TCD_BITER_ELINKYES_LINKCH(n) (((n) & 0x1F) << 9) | |||||
| #define DMA_TCD_BITER_ELINKYES_LINKCH_MASK 0x3E00 | |||||
| #define DMA_TCD_BITER_ELINKYES_BITER(n) (((n) & 0x1FF) << 0) | #define DMA_TCD_BITER_ELINKYES_BITER(n) (((n) & 0x1FF) << 0) | ||||
| #define DMA_TCD_BITER_ELINKYES_BITER_MASK 0x01FF | #define DMA_TCD_BITER_ELINKYES_BITER_MASK 0x01FF | ||||
| #define DMA_TCD_CITER_ELINKYES_ELINK 0x8000 | #define DMA_TCD_CITER_ELINKYES_ELINK 0x8000 | ||||
| #define DMA_TCD_CITER_ELINKYES_LINKCH(n) (((n) & 0xF) << 9) | |||||
| #define DMA_TCD_CITER_ELINKYES_LINKCH_MASK 0x1E00 | |||||
| #define DMA_TCD_CITER_ELINKYES_LINKCH(n) (((n) & 0x1F) << 9) | |||||
| #define DMA_TCD_CITER_ELINKYES_LINKCH_MASK 0x3E00 | |||||
| #define DMA_TCD_CITER_ELINKYES_CITER(n) (((n) & 0x1FF) << 0) | #define DMA_TCD_CITER_ELINKYES_CITER(n) (((n) & 0x1FF) << 0) | ||||
| #define DMA_TCD_CITER_ELINKYES_CITER_MASK 0x01FF | #define DMA_TCD_CITER_ELINKYES_CITER_MASK 0x01FF | ||||
| #define DMA_TCD_NBYTES_SMLOE ((uint32_t)1<<31) // Source Minor Loop Offset Enable | #define DMA_TCD_NBYTES_SMLOE ((uint32_t)1<<31) // Source Minor Loop Offset Enable |