Files
2026-03-31 13:10:37 +02:00

7967 lines
554 KiB
C

/*
PDD layer implementation for peripheral type DMA
(C) 2013 Freescale, Inc. All rights reserved.
This file is static and it is generated from API-Factory
*/
#if !defined(DMA_PDD_H_)
#define DMA_PDD_H_
/* ----------------------------------------------------------------------------
-- Test if supported MCU is active
---------------------------------------------------------------------------- */
#if !defined(MCU_ACTIVE)
// No MCU is active
#error DMA PDD library: No derivative is active. Place proper #include with PDD memory map before including PDD library.
#elif \
!defined(MCU_MK10D10) /* DMA */ && \
!defined(MCU_MK10D5) /* DMA */ && \
!defined(MCU_MK10D7) /* DMA */ && \
!defined(MCU_MK10F12) /* DMA */ && \
!defined(MCU_MK10DZ10) /* DMA */ && \
!defined(MCU_MK11D5) /* DMA */ && \
!defined(MCU_MK11D5WS) /* DMA */ && \
!defined(MCU_MK12D5) /* DMA */ && \
!defined(MCU_MK20D10) /* DMA */ && \
!defined(MCU_MK20D5) /* DMA */ && \
!defined(MCU_MK20D7) /* DMA */ && \
!defined(MCU_MK20F12) /* DMA */ && \
!defined(MCU_MK20DZ10) /* DMA */ && \
!defined(MCU_MK21D5) /* DMA */ && \
!defined(MCU_MK21D5WS) /* DMA */ && \
!defined(MCU_MK21F12) /* DMA */ && \
!defined(MCU_MK21F12WS) /* DMA */ && \
!defined(MCU_MK22D5) /* DMA */ && \
!defined(MCU_MK22F12810) /* DMA */ && \
!defined(MCU_MK22F12) /* DMA */ && \
!defined(MCU_MK22F25612) /* DMA */ && \
!defined(MCU_MK22F51212) /* DMA */ && \
!defined(MCU_MK24F12) /* DMA */ && \
!defined(MCU_MK30D10) /* DMA */ && \
!defined(MCU_MK30D7) /* DMA */ && \
!defined(MCU_MK30DZ10) /* DMA */ && \
!defined(MCU_MK40D10) /* DMA */ && \
!defined(MCU_MK40D7) /* DMA */ && \
!defined(MCU_MK40DZ10) /* DMA */ && \
!defined(MCU_MK40X256VMD100) /* DMA */ && \
!defined(MCU_MK50D10) /* DMA */ && \
!defined(MCU_MK50D7) /* DMA */ && \
!defined(MCU_MK50DZ10) /* DMA */ && \
!defined(MCU_MK51D10) /* DMA */ && \
!defined(MCU_MK51D7) /* DMA */ && \
!defined(MCU_MK51DZ10) /* DMA */ && \
!defined(MCU_MK52D10) /* DMA */ && \
!defined(MCU_MK52DZ10) /* DMA */ && \
!defined(MCU_MK53D10) /* DMA */ && \
!defined(MCU_MK53DZ10) /* DMA */ && \
!defined(MCU_MK60D10) /* DMA */ && \
!defined(MCU_MK60F12) /* DMA */ && \
!defined(MCU_MK60F15) /* DMA */ && \
!defined(MCU_MK60DZ10) /* DMA */ && \
!defined(MCU_MK60N512VMD100) /* DMA */ && \
!defined(MCU_MK61F12) /* DMA */ && \
!defined(MCU_MK61F15) /* DMA */ && \
!defined(MCU_MK61F12WS) /* DMA */ && \
!defined(MCU_MK61F15WS) /* DMA */ && \
!defined(MCU_MK63F12) /* DMA */ && \
!defined(MCU_MK63F12WS) /* DMA */ && \
!defined(MCU_MK64F12) /* DMA */ && \
!defined(MCU_MK65F18) /* DMA */ && \
!defined(MCU_MK65F18WS) /* DMA */ && \
!defined(MCU_MK66F18) /* DMA */ && \
!defined(MCU_MK70F12) /* DMA */ && \
!defined(MCU_MK70F15) /* DMA */ && \
!defined(MCU_MK70F12WS) /* DMA */ && \
!defined(MCU_MK70F15WS) /* DMA */ && \
!defined(MCU_MKL04Z4) /* DMA */ && \
!defined(MCU_MKL05Z4) /* DMA */ && \
!defined(MCU_MKL14Z4) /* DMA */ && \
!defined(MCU_MKL15Z4) /* DMA */ && \
!defined(MCU_MKL16Z4) /* DMA */ && \
!defined(MCU_MKL24Z4) /* DMA */ && \
!defined(MCU_MKL25Z4) /* DMA */ && \
!defined(MCU_MKL26Z4) /* DMA */ && \
!defined(MCU_MKL34Z4) /* DMA */ && \
!defined(MCU_MKL36Z4) /* DMA */ && \
!defined(MCU_MKL46Z4) /* DMA */ && \
!defined(MCU_MKV10Z7) /* DMA */ && \
!defined(MCU_MKV31F12810) /* DMA */ && \
!defined(MCU_MKV31F25612) /* DMA */ && \
!defined(MCU_MKV31F51212) /* DMA */ && \
!defined(MCU_MKW01Z4) /* DMA */ && \
!defined(MCU_MKW21D5) /* DMA */ && \
!defined(MCU_MKW21D5WS) /* DMA */ && \
!defined(MCU_MKW22D5) /* DMA */ && \
!defined(MCU_MKW22D5WS) /* DMA */ && \
!defined(MCU_MKW24D5) /* DMA */ && \
!defined(MCU_MKW24D5WS) /* DMA */ && \
!defined(MCU_PCK20L4) /* DMA */
// Unsupported MCU is active
#error DMA PDD library: Unsupported derivative is active.
#endif
#include "PDD_Types.h"
/* ----------------------------------------------------------------------------
-- Method symbol definitions
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK10D5)) || (defined(MCU_MK20D5)) || (defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/* DMA channel number constants */
#define DMA_PDD_CHANNEL_0 0U /**< Channel 0. */
#define DMA_PDD_CHANNEL_1 0x1U /**< Channel 1. */
#define DMA_PDD_CHANNEL_2 0x2U /**< Channel 2. */
#define DMA_PDD_CHANNEL_3 0x3U /**< Channel 3. */
#elif ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/* DMA channel constants */
#define DMA_PDD_CHANNEL_0 0U /**< Channel 0. */
#define DMA_PDD_CHANNEL_1 0x1U /**< Channel 1. */
#define DMA_PDD_CHANNEL_2 0x2U /**< Channel 2. */
#define DMA_PDD_CHANNEL_3 0x3U /**< Channel 3. */
#elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)))
/* DMA channel number constants */
#define DMA_PDD_CHANNEL_0 0U /**< Channel 0. */
#define DMA_PDD_CHANNEL_1 0x1U /**< Channel 1. */
#define DMA_PDD_CHANNEL_2 0x2U /**< Channel 2. */
#define DMA_PDD_CHANNEL_3 0x3U /**< Channel 3. */
#define DMA_PDD_CHANNEL_4 0x4U /**< Channel 4. */
#define DMA_PDD_CHANNEL_5 0x5U /**< Channel 5. */
#define DMA_PDD_CHANNEL_6 0x6U /**< Channel 6. */
#define DMA_PDD_CHANNEL_7 0x7U /**< Channel 7. */
#define DMA_PDD_CHANNEL_8 0x8U /**< Channel 8. */
#define DMA_PDD_CHANNEL_9 0x9U /**< Channel 9. */
#define DMA_PDD_CHANNEL_10 0xAU /**< Channel 10. */
#define DMA_PDD_CHANNEL_11 0xBU /**< Channel 11. */
#define DMA_PDD_CHANNEL_12 0xCU /**< Channel 12. */
#define DMA_PDD_CHANNEL_13 0xDU /**< Channel 13. */
#define DMA_PDD_CHANNEL_14 0xEU /**< Channel 14. */
#define DMA_PDD_CHANNEL_15 0xFU /**< Channel 15. */
#define DMA_PDD_CHANNEL_16 0x10U /**< Channel 16. */
#define DMA_PDD_CHANNEL_17 0x11U /**< Channel 17. */
#define DMA_PDD_CHANNEL_18 0x12U /**< Channel 18. */
#define DMA_PDD_CHANNEL_19 0x13U /**< Channel 19. */
#define DMA_PDD_CHANNEL_20 0x14U /**< Channel 20. */
#define DMA_PDD_CHANNEL_21 0x15U /**< Channel 21. */
#define DMA_PDD_CHANNEL_22 0x16U /**< Channel 22. */
#define DMA_PDD_CHANNEL_23 0x17U /**< Channel 23. */
#define DMA_PDD_CHANNEL_24 0x18U /**< Channel 24. */
#define DMA_PDD_CHANNEL_25 0x19U /**< Channel 25. */
#define DMA_PDD_CHANNEL_26 0x1AU /**< Channel 26. */
#define DMA_PDD_CHANNEL_27 0x1BU /**< Channel 27. */
#define DMA_PDD_CHANNEL_28 0x1CU /**< Channel 28. */
#define DMA_PDD_CHANNEL_29 0x1DU /**< Channel 29. */
#define DMA_PDD_CHANNEL_30 0x1EU /**< Channel 30. */
#define DMA_PDD_CHANNEL_31 0x1FU /**< Channel 31. */
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* DMA channel number constants */
#define DMA_PDD_CHANNEL_0 0U /**< Channel 0. */
#define DMA_PDD_CHANNEL_1 0x1U /**< Channel 1. */
#define DMA_PDD_CHANNEL_2 0x2U /**< Channel 2. */
#define DMA_PDD_CHANNEL_3 0x3U /**< Channel 3. */
#define DMA_PDD_CHANNEL_4 0x4U /**< Channel 4. */
#define DMA_PDD_CHANNEL_5 0x5U /**< Channel 5. */
#define DMA_PDD_CHANNEL_6 0x6U /**< Channel 6. */
#define DMA_PDD_CHANNEL_7 0x7U /**< Channel 7. */
#define DMA_PDD_CHANNEL_8 0x8U /**< Channel 8. */
#define DMA_PDD_CHANNEL_9 0x9U /**< Channel 9. */
#define DMA_PDD_CHANNEL_10 0xAU /**< Channel 10. */
#define DMA_PDD_CHANNEL_11 0xBU /**< Channel 11. */
#define DMA_PDD_CHANNEL_12 0xCU /**< Channel 12. */
#define DMA_PDD_CHANNEL_13 0xDU /**< Channel 13. */
#define DMA_PDD_CHANNEL_14 0xEU /**< Channel 14. */
#define DMA_PDD_CHANNEL_15 0xFU /**< Channel 15. */
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
#if ((defined(MCU_MK10D5)) || (defined(MCU_MK20D5)) || (defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/* DMA channel mask constants */
#define DMA_PDD_CHANNEL_MASK_0 0x1U /**< Channel 0. */
#define DMA_PDD_CHANNEL_MASK_1 0x2U /**< Channel 1. */
#define DMA_PDD_CHANNEL_MASK_2 0x4U /**< Channel 2. */
#define DMA_PDD_CHANNEL_MASK_3 0x8U /**< Channel 3. */
#elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)))
/* DMA channel mask constants */
#define DMA_PDD_CHANNEL_MASK_0 0x1U /**< Channel 0. */
#define DMA_PDD_CHANNEL_MASK_1 0x2U /**< Channel 1. */
#define DMA_PDD_CHANNEL_MASK_2 0x4U /**< Channel 2. */
#define DMA_PDD_CHANNEL_MASK_3 0x8U /**< Channel 3. */
#define DMA_PDD_CHANNEL_MASK_4 0x10U /**< Channel 4. */
#define DMA_PDD_CHANNEL_MASK_5 0x20U /**< Channel 5. */
#define DMA_PDD_CHANNEL_MASK_6 0x40U /**< Channel 6. */
#define DMA_PDD_CHANNEL_MASK_7 0x80U /**< Channel 7. */
#define DMA_PDD_CHANNEL_MASK_8 0x100U /**< Channel 8. */
#define DMA_PDD_CHANNEL_MASK_9 0x200U /**< Channel 9. */
#define DMA_PDD_CHANNEL_MASK_10 0x400U /**< Channel 10. */
#define DMA_PDD_CHANNEL_MASK_11 0x800U /**< Channel 11. */
#define DMA_PDD_CHANNEL_MASK_12 0x1000U /**< Channel 12. */
#define DMA_PDD_CHANNEL_MASK_13 0x2000U /**< Channel 13. */
#define DMA_PDD_CHANNEL_MASK_14 0x4000U /**< Channel 14. */
#define DMA_PDD_CHANNEL_MASK_15 0x8000U /**< Channel 15. */
#define DMA_PDD_CHANNEL_MASK_16 0x10000U /**< Channel 16. */
#define DMA_PDD_CHANNEL_MASK_17 0x20000U /**< Channel 17. */
#define DMA_PDD_CHANNEL_MASK_18 0x40000U /**< Channel 18. */
#define DMA_PDD_CHANNEL_MASK_19 0x80000U /**< Channel 19. */
#define DMA_PDD_CHANNEL_MASK_20 0x100000U /**< Channel 20. */
#define DMA_PDD_CHANNEL_MASK_21 0x200000U /**< Channel 21. */
#define DMA_PDD_CHANNEL_MASK_22 0x400000U /**< Channel 22. */
#define DMA_PDD_CHANNEL_MASK_23 0x800000U /**< Channel 23. */
#define DMA_PDD_CHANNEL_MASK_24 0x1000000U /**< Channel 24. */
#define DMA_PDD_CHANNEL_MASK_25 0x2000000U /**< Channel 25. */
#define DMA_PDD_CHANNEL_MASK_26 0x4000000U /**< Channel 26. */
#define DMA_PDD_CHANNEL_MASK_27 0x8000000U /**< Channel 27. */
#define DMA_PDD_CHANNEL_MASK_28 0x10000000U /**< Channel 28. */
#define DMA_PDD_CHANNEL_MASK_29 0x20000000U /**< Channel 29. */
#define DMA_PDD_CHANNEL_MASK_30 0x40000000U /**< Channel 30. */
#define DMA_PDD_CHANNEL_MASK_31 0x80000000U /**< Channel 31. */
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* DMA channel mask constants */
#define DMA_PDD_CHANNEL_MASK_0 0x1U /**< Channel 0. */
#define DMA_PDD_CHANNEL_MASK_1 0x2U /**< Channel 1. */
#define DMA_PDD_CHANNEL_MASK_2 0x4U /**< Channel 2. */
#define DMA_PDD_CHANNEL_MASK_3 0x8U /**< Channel 3. */
#define DMA_PDD_CHANNEL_MASK_4 0x10U /**< Channel 4. */
#define DMA_PDD_CHANNEL_MASK_5 0x20U /**< Channel 5. */
#define DMA_PDD_CHANNEL_MASK_6 0x40U /**< Channel 6. */
#define DMA_PDD_CHANNEL_MASK_7 0x80U /**< Channel 7. */
#define DMA_PDD_CHANNEL_MASK_8 0x100U /**< Channel 8. */
#define DMA_PDD_CHANNEL_MASK_9 0x200U /**< Channel 9. */
#define DMA_PDD_CHANNEL_MASK_10 0x400U /**< Channel 10. */
#define DMA_PDD_CHANNEL_MASK_11 0x800U /**< Channel 11. */
#define DMA_PDD_CHANNEL_MASK_12 0x1000U /**< Channel 12. */
#define DMA_PDD_CHANNEL_MASK_13 0x2000U /**< Channel 13. */
#define DMA_PDD_CHANNEL_MASK_14 0x4000U /**< Channel 14. */
#define DMA_PDD_CHANNEL_MASK_15 0x8000U /**< Channel 15. */
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* Channel major loop linking disabled bit mask */
#define DMA_PDD_MAJOR_LINK_DISABLED 0U /**< Channel major loop linking disabled */
/* Channel major loop linking enabled bit mask */
#define DMA_PDD_MAJOR_LINK_ENABLED DMA_CSR_MAJORELINK_MASK /**< Channel major loop linking enabled */
/* Channel scatter/gather disabled bit mask */
#define DMA_PDD_SCATTER_GATHER_DISABLED 0U /**< Channel scatter/gather disabled */
/* Channel scatter/gather enabled bit mask */
#define DMA_PDD_SCATTER_GATHER_ENABLED DMA_CSR_ESG_MASK /**< Channel scatter/gather enabled */
/* Enable channel after request bit mask */
#define DMA_PDD_ENABLE_AFTER_REQUEST 0U /**< Enable channel after request */
/* Disable channel after request bit mask */
#define DMA_PDD_DISABLE_AFTER_REQUEST DMA_CSR_DREQ_MASK /**< Disable channel after request */
/* Minor loop offset bit position value */
#define DMA_PDD_MINOR_LOOP_OFFSET_SHIFT 0U /**< Minor loop offset bit position value. */
/* Minor loop enable bit position value */
#define DMA_PDD_MINOR_LOOP_ENABLE_SHIFT 0x1EU /**< Minor loop enable bit position value. */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/* Channel error status constants */
#define DMA_PDD_CONFIGURATION_ERROR_FLAG DMA_DSR_BCR_CE_MASK /**< Configuration error flag. */
#define DMA_PDD_ERROR_ON_SOURCE_FLAG DMA_DSR_BCR_BES_MASK /**< Error on source side flag. */
#define DMA_PDD_ERROR_ON_DESTINATION_FLAG DMA_DSR_BCR_BED_MASK /**< Error on destination side flag. */
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* Channel-related error flags. Bit mask of flags associated with specific
channel (use GetErrorStatusChannel to obtain associated channel number). */
#define DMA_PDD_CHANNEL_ERROR_FLAGS 0x100FFU /**< All channel-related error flags mask. */
#define DMA_PDD_ERROR_TRANSFER_CANCELED_FLAG DMA_ES_ECX_MASK /**< Canceled transfer by the error cancel transfer input. */
#define DMA_PDD_ERROR_SOURCE_ADDRESS_FLAG DMA_ES_SAE_MASK /**< Source address error. */
#define DMA_PDD_ERROR_SOURCE_OFFSET_FLAG DMA_ES_SOE_MASK /**< Source offset error. */
#define DMA_PDD_ERROR_DESTINATION_ADDRESS_FLAG DMA_ES_DAE_MASK /**< Destination address error. */
#define DMA_PDD_ERROR_DESTINATION_OFFSET_FLAG DMA_ES_DOE_MASK /**< Source offset error. */
#define DMA_PDD_ERROR_COUNT_FLAG DMA_ES_NCE_MASK /**< Error detected in minor loop byte count or major loop iteration count. */
#define DMA_PDD_ERROR_SCATTER_GATHER_FLAG DMA_ES_SGE_MASK /**< Scatter/gather configuration error. */
#define DMA_PDD_ERROR_ON_SOURCE_FLAG DMA_ES_SBE_MASK /**< Error on source side flag. */
#define DMA_PDD_ERROR_ON_DESTINATION_FLAG DMA_ES_DBE_MASK /**< Error on destination side flag. */
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
#if ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)))
/* Device-related error flags. Bit mask of flags associated with whole DMA
device or multiple channels. */
#define DMA_PDD_DEVICE_ERROR_FLAGS 0xC000U /**< All device-related error flags mask. */
#define DMA_PDD_ERROR_CHANNEL_PRIORITY_FLAG DMA_ES_CPE_MASK /**< Configuration error in the channel priorities (channel priorities are not unique). */
#define DMA_PDD_ERROR_GROUP_PRIORITY_FLAG DMA_ES_GPE_MASK /**< Configuration error in the group priorities (group priorities are not unique). */
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* Device-related error flags. Bit mask of flags associated with whole DMA
device or multiple channels. */
#define DMA_PDD_DEVICE_ERROR_FLAGS 0x4000U /**< All device-related error flags mask. */
#define DMA_PDD_ERROR_CHANNEL_PRIORITY_FLAG DMA_ES_CPE_MASK /**< Configuration error in the channel priorities (channel priorities are not unique). */
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* Constants used in SetChannelPriority */
#define DMA_PDD_DCHPRI_DPA_MASK DMA_DCHPRI3_DPA_MASK /**< Disable preempt ability bit mask. */
#define DMA_PDD_DCHPRI_CHPRI_MASK DMA_DCHPRI3_CHPRI_MASK /**< Channel arbitration priority bit group mask. */
#define DMA_PDD_DCHPRI_ECP_SHIFT 0x7U /**< Enable channel preemption bit position. */
#define DMA_PDD_DCHPRI_CHPRI_SHIFT 0U /**< Channel arbitration priority bit group position. */
/* Constant specifying if DMA channel can be temporarily suspended by the
service request of a higher priority channel */
#define DMA_PDD_CHANNEL_CAN_BE_PREEMPTED 0U /**< Channel can be preempted. */
#define DMA_PDD_CHANNEL_CANNOT_BE_PREEMPTED DMA_DCHPRI3_ECP_MASK /**< Channel can't be preempted. */
/* Constant specifying if DMA channel can suspend a lower priority channel */
#define DMA_PDD_CHANNEL_CAN_PREEMPT_OTHER 0U /**< Channel can suspend other channels. */
#define DMA_PDD_CHANNEL_CANNOT_PREEMPT_OTHER DMA_DCHPRI3_DPA_MASK /**< Channel can't suspend other channels. */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/* Circular buffer size constants */
#define DMA_PDD_CIRCULAR_BUFFER_DISABLED 0U /**< Circular buffer disabled. */
#define DMA_PDD_CIRCULAR_BUFFER_16_BYTES 0x1U /**< 16 bytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_32_BYTES 0x2U /**< 32 bytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_64_BYTES 0x3U /**< 64 bytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_128_BYTES 0x4U /**< 128 bytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_256_BYTES 0x5U /**< 256 bytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_512_BYTES 0x6U /**< 512 bytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_1_KBYTE 0x7U /**< 1 Kbyte circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_2_KBYTES 0x8U /**< 2 Kbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_4_KBYTES 0x9U /**< 4 Kbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_8_KBYTES 0xAU /**< 8 Kbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_16_KBYTES 0xBU /**< 16 Kbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_32_KBYTES 0xCU /**< 32 Kbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_64_KBYTES 0xDU /**< 64 Kbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_128_KBYTES 0xEU /**< 128 Kbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_256_KBYTES 0xFU /**< 256 Kbytes circular buffer. */
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* Circular buffer size constants */
#define DMA_PDD_CIRCULAR_BUFFER_DISABLED 0U /**< Circular buffer disabled. */
#define DMA_PDD_CIRCULAR_BUFFER_2_BYTES 0x1U /**< 2 bytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_4_BYTES 0x2U /**< 4 bytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_8_BYTES 0x3U /**< 8 bytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_16_BYTES 0x4U /**< 16 bytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_32_BYTES 0x5U /**< 32 bytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_64_BYTES 0x6U /**< 64 bytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_128_BYTES 0x7U /**< 128 bytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_256_BYTES 0x8U /**< 256 bytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_512_BYTES 0x9U /**< 512 bytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_1_KBYTE 0xAU /**< 1 Kbyte circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_2_KBYTES 0xBU /**< 2 Kbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_4_KBYTES 0xCU /**< 4 Kbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_8_KBYTES 0xDU /**< 8 Kbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_16_KBYTES 0xEU /**< 16 Kbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_32_KBYTES 0xFU /**< 32 Kbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_64_KBYTES 0x10U /**< 64 Kbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_128_KBYTES 0x11U /**< 128 Kbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_256_KBYTES 0x12U /**< 256 Kbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_512_KBYTES 0x13U /**< 512 Kbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_1_MBYTE 0x14U /**< 1 Mbyte circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_2_MBYTES 0x15U /**< 2 Mbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_4_MBYTES 0x16U /**< 4 Mbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_8_MBYTES 0x17U /**< 8 Mbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_16_MBYTES 0x18U /**< 16 Mbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_32_MBYTES 0x19U /**< 32 Mbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_64_MBYTES 0x1AU /**< 64 Mbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_128_MBYTES 0x1BU /**< 128 Mbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_256_MBYTES 0x1CU /**< 256 Mbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_512_MBYTES 0x1DU /**< 512 Mbytes circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_1_GBYTE 0x1EU /**< 1 Gbyte circular buffer. */
#define DMA_PDD_CIRCULAR_BUFFER_2_GBYTES 0x1FU /**< 2 Gbytes circular buffer. */
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/* Channel activity status constants */
#define DMA_PDD_TRANSFER_DONE_FLAG DMA_DSR_BCR_DONE_MASK /**< Transfer done flag. */
#define DMA_PDD_TRANSFER_BUSY_FLAG DMA_DSR_BCR_BSY_MASK /**< Transfer in progress flag. */
#define DMA_PDD_TRANSFER_REQUEST_PENDING_FLAG DMA_DSR_BCR_REQ_MASK /**< Transfer request pending flag. */
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* Channel activity status constants */
#define DMA_PDD_TRANSFER_DONE_FLAG DMA_CSR_DONE_MASK /**< Transfer done flag. */
#define DMA_PDD_TRANSFER_ACTIVE_FLAG DMA_CSR_ACTIVE_MASK /**< Transfer in progress flag. */
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/* Transfer complete interrupt enable/disable constants */
#define DMA_PDD_TRANSFER_COMPLETE_ENABLE DMA_DCR_EINT_MASK /**< Transfer complete interrupt enabled. */
#define DMA_PDD_TRANSFER_COMPLETE_DISABLE 0U /**< Transfer complete interrupt disabled. */
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* Transfer complete interrupt enable/disable constants */
#define DMA_PDD_TRANSFER_COMPLETE_ENABLE DMA_CSR_INTMAJOR_MASK /**< Transfer complete interrupt enabled. */
#define DMA_PDD_TRANSFER_COMPLETE_DISABLE 0U /**< Transfer complete interrupt disabled. */
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* Interrupts' mask */
#define DMA_PDD_TRANSFER_COMPLETE_INTERRUPT DMA_DCR_EINT_MASK /**< Transfer complete interrupt mask. */
/* Interrupts' flags */
#define DMA_PDD_TRANSFER_COMPLETE_FLAG DMA_DSR_BCR_DONE_MASK /**< Transfer complete flag. */
/* Channel request source constants */
#define DMA_PDD_CHANNEL_SOURCE_0 0U /**< Channel request source 0. */
#define DMA_PDD_CHANNEL_SOURCE_1 0x1U /**< Channel request source 1. */
#define DMA_PDD_CHANNEL_SOURCE_2 0x2U /**< Channel request source 2. */
#define DMA_PDD_CHANNEL_SOURCE_3 0x3U /**< Channel request source 3. */
#define DMA_PDD_CHANNEL_SOURCE_4 0x4U /**< Channel request source 4. */
#define DMA_PDD_CHANNEL_SOURCE_5 0x5U /**< Channel request source 5. */
#define DMA_PDD_CHANNEL_SOURCE_6 0x6U /**< Channel request source 6. */
#define DMA_PDD_CHANNEL_SOURCE_7 0x7U /**< Channel request source 7. */
#define DMA_PDD_CHANNEL_SOURCE_8 0x8U /**< Channel request source 8. */
#define DMA_PDD_CHANNEL_SOURCE_9 0x9U /**< Channel request source 9. */
#define DMA_PDD_CHANNEL_SOURCE_10 0xAU /**< Channel request source 10. */
#define DMA_PDD_CHANNEL_SOURCE_11 0xBU /**< Channel request source 11. */
#define DMA_PDD_CHANNEL_SOURCE_12 0xCU /**< Channel request source 12. */
#define DMA_PDD_CHANNEL_SOURCE_13 0xDU /**< Channel request source 13. */
#define DMA_PDD_CHANNEL_SOURCE_14 0xEU /**< Channel request source 14. */
#define DMA_PDD_CHANNEL_SOURCE_15 0xFU /**< Channel request source 15. */
/* Set all or only one DMA channel. Used in Set/Clear macros to distinct between
setting/clearing attribute of one specified channel or of all channels. */
#define DMA_PDD_ONE_CHANNEL 0U /**< Set only one DMA channel. */
#define DMA_PDD_ALL_CHANNELS DMA_SERQ_SAER_MASK /**< Set all DMA channels. */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/* DMA data transfer block size. */
#define DMA_PDD_8_BIT 0x1U /**< 8-bit transfer size. */
#define DMA_PDD_16_BIT 0x2U /**< 16-bit transfer size. */
#define DMA_PDD_32_BIT 0U /**< 32-bit transfer size. */
#elif ((defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)))
/* DMA data transfer block size. */
#define DMA_PDD_8_BIT 0U /**< 8-bit transfer size. */
#define DMA_PDD_16_BIT 0x1U /**< 16-bit transfer size. */
#define DMA_PDD_32_BIT 0x2U /**< 32-bit transfer size. */
#define DMA_PDD_16_BYTE 0x4U /**< 16-byte transfer size. */
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK50D10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* DMA data transfer block size. */
#define DMA_PDD_8_BIT 0U /**< 8-bit transfer size. */
#define DMA_PDD_16_BIT 0x1U /**< 16-bit transfer size. */
#define DMA_PDD_32_BIT 0x2U /**< 32-bit transfer size. */
#define DMA_PDD_16_BYTE 0x4U /**< 16-byte transfer size. */
#define DMA_PDD_32_BYTE 0x5U /**< 32-byte transfer size. */
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK50D10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* DMA stall time value. */
#define DMA_PDD_NO_STALL 0U /**< No stall. */
#define DMA_PDD_STALL_4_CYCLES 0x8000U /**< Stall 4 cycles. */
#define DMA_PDD_STALL_8_CYCLES 0xC000U /**< Stall 8 cycles. */
/* DMA data transfer size. */
#define DMA_PDD_LINKING_DISABLED 0U /**< Channel linking disabled. */
#define DMA_PDD_CYCLE_STEAL_AND_TRANSFER_COMPLETE_LINKING 0x10U /**< Channel linked after each cycle-steal transfer and after transfer complete. */
#define DMA_PDD_CYCLE_STEAL_LINKING 0x20U /**< Channel linked only after each cycle-steal transfer. */
#define DMA_PDD_TRANSFER_COMPLETE_LINKING 0x30U /**< Channel linked only after transfer complete. */
/* ----------------------------------------------------------------------------
-- WriteControlReg
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Writes to DMA channel control register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param Value DMA channel control register value. This parameter is a 32-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CR, DCR[Channel]
* (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_WriteControlReg(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0, 1);
* @endcode
*/
#define DMA_PDD_WriteControlReg(PeripheralBase, Channel, Value) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) = \
(uint32)(Value) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Writes to DMA control register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Value DMA control register value. This parameter is a 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CR, DCR[Channel]
* (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_WriteControlReg(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_WriteControlReg(PeripheralBase, Value) ( \
DMA_CR_REG(PeripheralBase) = \
(uint32)(Value) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- ReadControlReg
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Returns DMA control register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_CR, DCR[Channel]
* (depending on the peripheral).
* @par Example:
* @code
* uint32 result = DMA_PDD_ReadControlReg(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_ReadControlReg(PeripheralBase, Channel) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Returns DMA control register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_CR, DCR[Channel]
* (depending on the peripheral).
* @par Example:
* @code
* uint32 result = DMA_PDD_ReadControlReg(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_ReadControlReg(PeripheralBase) ( \
DMA_CR_REG(PeripheralBase) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- CancelTransfer
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Cancels remaining data transfer.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CR, DSR_BCR[Channel]
* (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_CancelTransfer(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_CancelTransfer(PeripheralBase, Channel) ( \
DMA_DSR_BCR_REG(PeripheralBase,(Channel)) |= \
DMA_DSR_BCR_DONE_MASK \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Cancels remaining data transfer.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CR, DSR_BCR[Channel]
* (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_CancelTransfer(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_CancelTransfer(PeripheralBase) ( \
DMA_CR_REG(PeripheralBase) |= \
DMA_CR_CX_MASK \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- ErrorCancelTransfer
---------------------------------------------------------------------------- */
/**
* @brief Cancels remaining data transfer with error generation.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CR.
* @par Example:
* @code
* DMA_PDD_ErrorCancelTransfer(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_ErrorCancelTransfer(PeripheralBase) ( \
DMA_CR_REG(PeripheralBase) |= \
DMA_CR_ECX_MASK \
)
/* ----------------------------------------------------------------------------
-- EnableMinorLoopMapping
---------------------------------------------------------------------------- */
/**
* @brief Enables or disables minor loop mapping.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param State Parameter specifying if minor loop mapping will be enabled or
* disabled. This parameter is of "Global enumeration used for specifying
* general enable/disable states (PDD_DISABLE and PDD_ENABLE defined in
* PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CR.
* @par Example:
* @code
* DMA_PDD_EnableMinorLoopMapping(<peripheral>_BASE_PTR, PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableMinorLoopMapping(PeripheralBase, State) ( \
DMA_CR_REG(PeripheralBase) = \
(uint32)(( \
(uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_EMLM_MASK))) | ( \
(uint32)((uint32)(State) << DMA_CR_EMLM_SHIFT))) \
)
/* ----------------------------------------------------------------------------
-- GetMinorLoopMappingEnabled
---------------------------------------------------------------------------- */
/**
* @brief Returns minor loop mapping state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_CR.
* @par Example:
* @code
* uint32 result =
* DMA_PDD_GetMinorLoopMappingEnabled(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_GetMinorLoopMappingEnabled(PeripheralBase) ( \
(uint32)(DMA_CR_REG(PeripheralBase) & DMA_CR_EMLM_MASK) \
)
/* ----------------------------------------------------------------------------
-- EnableContinuousLinkMode
---------------------------------------------------------------------------- */
/**
* @brief Enables or disables minor loop continuous link mode.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param State Parameter specifying if minor loop continuous link mode will be
* enabled or disabled. This parameter is of "Global enumeration used for
* specifying general enable/disable states (PDD_DISABLE and PDD_ENABLE
* defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CR.
* @par Example:
* @code
* DMA_PDD_EnableContinuousLinkMode(<peripheral>_BASE_PTR, PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableContinuousLinkMode(PeripheralBase, State) ( \
DMA_CR_REG(PeripheralBase) = \
(uint32)(( \
(uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_CLM_MASK))) | ( \
(uint32)((uint32)(State) << DMA_CR_CLM_SHIFT))) \
)
/* ----------------------------------------------------------------------------
-- GetContinuousLinkModeEnabled
---------------------------------------------------------------------------- */
/**
* @brief Returns minor loop continuous link mode state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_CR.
* @par Example:
* @code
* uint32 result =
* DMA_PDD_GetContinuousLinkModeEnabled(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_GetContinuousLinkModeEnabled(PeripheralBase) ( \
(uint32)(DMA_CR_REG(PeripheralBase) & DMA_CR_CLM_MASK) \
)
/* ----------------------------------------------------------------------------
-- HaltOperations
---------------------------------------------------------------------------- */
/**
* @brief Halts DMA operations.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CR.
* @par Example:
* @code
* DMA_PDD_HaltOperations(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_HaltOperations(PeripheralBase) ( \
DMA_CR_REG(PeripheralBase) |= \
DMA_CR_HALT_MASK \
)
/* ----------------------------------------------------------------------------
-- ResumeOperations
---------------------------------------------------------------------------- */
/**
* @brief Resumes halted DMA operations.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CR.
* @par Example:
* @code
* DMA_PDD_ResumeOperations(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_ResumeOperations(PeripheralBase) ( \
DMA_CR_REG(PeripheralBase) &= \
(uint32)(~(uint32)DMA_CR_HALT_MASK) \
)
/* ----------------------------------------------------------------------------
-- EnableHaltOnError
---------------------------------------------------------------------------- */
/**
* @brief Enables or disables stalling of DMA operations after error occurs.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param State Parameter specifying if error occurance halts DMA operations.
* This parameter is of "Global enumeration used for specifying general
* enable/disable states (PDD_DISABLE and PDD_ENABLE defined in PDD_Types.h)"
* type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CR.
* @par Example:
* @code
* DMA_PDD_EnableHaltOnError(<peripheral>_BASE_PTR, PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableHaltOnError(PeripheralBase, State) ( \
DMA_CR_REG(PeripheralBase) = \
(uint32)(( \
(uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_HOE_MASK))) | ( \
(uint32)((uint32)(State) << DMA_CR_HOE_SHIFT))) \
)
/* ----------------------------------------------------------------------------
-- GetHaltOnErrorEnabled
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA operations halt on error state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_CR.
* @par Example:
* @code
* uint32 result = DMA_PDD_GetHaltOnErrorEnabled(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_GetHaltOnErrorEnabled(PeripheralBase) ( \
(uint32)(DMA_CR_REG(PeripheralBase) & DMA_CR_HOE_MASK) \
)
/* ----------------------------------------------------------------------------
-- EnableRoundRobinArbitration
---------------------------------------------------------------------------- */
/**
* @brief Enables or disables round robin channel arbitration.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param State Parameter specifying if round robin channel arbitration is
* enabled or disabled. This parameter is of "Global enumeration used for
* specifying general enable/disable states (PDD_DISABLE and PDD_ENABLE defined
* in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CR.
* @par Example:
* @code
* DMA_PDD_EnableRoundRobinArbitration(<peripheral>_BASE_PTR, PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableRoundRobinArbitration(PeripheralBase, State) ( \
DMA_CR_REG(PeripheralBase) = \
(uint32)(( \
(uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_ERCA_MASK))) | ( \
(uint32)((uint32)(State) << DMA_CR_ERCA_SHIFT))) \
)
/* ----------------------------------------------------------------------------
-- GetRoundRobinArbitrationEnabled
---------------------------------------------------------------------------- */
/**
* @brief Returns round robin channel arbitration state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_CR.
* @par Example:
* @code
* uint32 result =
* DMA_PDD_GetRoundRobinArbitrationEnabled(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_GetRoundRobinArbitrationEnabled(PeripheralBase) ( \
(uint32)(DMA_CR_REG(PeripheralBase) & DMA_CR_ERCA_MASK) \
)
/* ----------------------------------------------------------------------------
-- EnableDebug
---------------------------------------------------------------------------- */
/**
* @brief Enables or disables DMA operations in debug mode.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param State Parameter specifying if DMA operations in debug mode are enabled
* or disabled. This parameter is of "Global enumeration used for
* specifying general enable/disable states (PDD_DISABLE and PDD_ENABLE defined
* in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CR.
* @par Example:
* @code
* DMA_PDD_EnableDebug(<peripheral>_BASE_PTR, PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableDebug(PeripheralBase, State) ( \
DMA_CR_REG(PeripheralBase) = \
(uint32)(( \
(uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_EDBG_MASK))) | ( \
(uint32)((uint32)(State) << DMA_CR_EDBG_SHIFT))) \
)
/* ----------------------------------------------------------------------------
-- GetDebugEnabled
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA operations in debug mode state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_CR.
* @par Example:
* @code
* uint32 result = DMA_PDD_GetDebugEnabled(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_GetDebugEnabled(PeripheralBase) ( \
(uint32)(DMA_CR_REG(PeripheralBase) & DMA_CR_EDBG_MASK) \
)
/* ----------------------------------------------------------------------------
-- ReadErrorStatusReg
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel error status register provading information about
* last recorded channel error.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_ES.
* @par Example:
* @code
* uint32 result = DMA_PDD_ReadErrorStatusReg(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_ReadErrorStatusReg(PeripheralBase) ( \
DMA_ES_REG(PeripheralBase) \
)
/* ----------------------------------------------------------------------------
-- GetErrorStatusRegister
---------------------------------------------------------------------------- */
/**
* @brief Deprecated. Use ReadErrorStatusReg PDD macro instead.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_ES.
* @par Example:
* @code
* uint32 result = DMA_PDD_GetErrorStatusRegister(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_GetErrorStatusRegister(PeripheralBase) ( \
DMA_ES_REG(PeripheralBase) \
)
/* ----------------------------------------------------------------------------
-- GetErrorStatusFlags
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)))
/**
* @brief Returns DMA channel error status flags provading information about
* last recorded channel error.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_ES.
* @par Example:
* @code
* uint32 result = DMA_PDD_GetErrorStatusFlags(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_GetErrorStatusFlags(PeripheralBase) ( \
(uint32)(( \
DMA_ES_REG(PeripheralBase)) & ( \
(uint32)(( \
DMA_ES_ECX_MASK) | (( \
DMA_ES_GPE_MASK) | (( \
DMA_ES_CPE_MASK) | (( \
DMA_ES_SAE_MASK) | (( \
DMA_ES_SOE_MASK) | (( \
DMA_ES_DAE_MASK) | (( \
DMA_ES_DOE_MASK) | (( \
DMA_ES_NCE_MASK) | (( \
DMA_ES_SGE_MASK) | (( \
DMA_ES_SBE_MASK) | ( \
DMA_ES_DBE_MASK))))))))))))) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Returns DMA channel error status flags provading information about
* last recorded channel error.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_ES.
* @par Example:
* @code
* uint32 result = DMA_PDD_GetErrorStatusFlags(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_GetErrorStatusFlags(PeripheralBase) ( \
(uint32)(( \
DMA_ES_REG(PeripheralBase)) & ( \
(uint32)(( \
DMA_ES_ECX_MASK) | (( \
DMA_ES_CPE_MASK) | (( \
DMA_ES_SAE_MASK) | (( \
DMA_ES_SOE_MASK) | (( \
DMA_ES_DAE_MASK) | (( \
DMA_ES_DOE_MASK) | (( \
DMA_ES_NCE_MASK) | (( \
DMA_ES_SGE_MASK) | (( \
DMA_ES_SBE_MASK) | ( \
DMA_ES_DBE_MASK)))))))))))) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetErrorStatusChannel
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Returns DMA channel provading information about last recorded channel
* error.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 2-bit value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: DMA_ES.
* @par Example:
* @code
* uint8 result = DMA_PDD_GetErrorStatusChannel(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_GetErrorStatusChannel(PeripheralBase) ( \
(uint8)(( \
(uint32)(DMA_ES_REG(PeripheralBase) & DMA_ES_ERRCHN_MASK)) >> ( \
DMA_ES_ERRCHN_SHIFT)) \
)
#elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)))
/**
* @brief Returns DMA channel provading information about last recorded channel
* error.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 5-bit value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: DMA_ES.
* @par Example:
* @code
* uint8 result = DMA_PDD_GetErrorStatusChannel(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_GetErrorStatusChannel(PeripheralBase) ( \
(uint8)(( \
(uint32)(DMA_ES_REG(PeripheralBase) & DMA_ES_ERRCHN_MASK)) >> ( \
DMA_ES_ERRCHN_SHIFT)) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Returns DMA channel provading information about last recorded channel
* error.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 4-bit value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: DMA_ES.
* @par Example:
* @code
* uint8 result = DMA_PDD_GetErrorStatusChannel(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_GetErrorStatusChannel(PeripheralBase) ( \
(uint8)(( \
(uint32)(DMA_ES_REG(PeripheralBase) & DMA_ES_ERRCHN_MASK)) >> ( \
DMA_ES_ERRCHN_SHIFT)) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- WriteChannelPriorityReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA channel priority register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel index. This parameter is of index type.
* @param Value Register value. This parameter is a 8-bit value.
* @return Returns a value of void type.
* @par Example:
* @code
* DMA_PDD_WriteChannelPriorityReg(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_WriteChannelPriorityReg(PeripheralBase, Channel, Value) ( \
(DMA_PDD_DCHPRI_REG(PeripheralBase, Channel) = (uint8)(Value)) \
)
/* ----------------------------------------------------------------------------
-- ReadChannelPriorityReg
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel priority register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel index. This parameter is of index type.
* @return Returns a 8-bit value.
* @par Example:
* @code
* uint8 result = DMA_PDD_ReadChannelPriorityReg(<peripheral>_BASE_PTR,
* periphID);
* @endcode
*/
#define DMA_PDD_ReadChannelPriorityReg(PeripheralBase, Channel) ( \
(DMA_PDD_DCHPRI_REG(PeripheralBase, Channel)) \
)
/* ----------------------------------------------------------------------------
-- DCHPRI_REG
---------------------------------------------------------------------------- */
/**
* @brief SetChannelPriority channel parameter conversion.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel index. This parameter is of index type.
* @return Returns a value of void type.
* @par Example:
* @code
* DMA_PDD_DCHPRI_REG(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_DCHPRI_REG(PeripheralBase, Channel) ( \
(&DMA_DCHPRI3_REG(PeripheralBase))[Channel^3U] \
)
/* ----------------------------------------------------------------------------
-- SetChannelPriority
---------------------------------------------------------------------------- */
/**
* @brief Sets DMA channel priority register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel index. This parameter is of index type.
* @param EnablePreemption Parameter specifying if DMA channel can be
* temporarily suspended by the service request of a higher priority channel. This
* parameter is a 8-bit value.
* @param EnablePreemptAbility Parameter specifying if DMA channel can suspend a
* lower priority channel. This parameter is a 8-bit value.
* @param Priority Data word value. This parameter is a 4-bit value.
* @return Returns a value of void type.
* @par Example:
* @code
* DMA_PDD_SetChannelPriority(<peripheral>_BASE_PTR, periphID, 1, 1, 1);
* @endcode
*/
#define DMA_PDD_SetChannelPriority(PeripheralBase, Channel, EnablePreemption, EnablePreemptAbility, Priority) ( \
(DMA_PDD_DCHPRI_REG(PeripheralBase, Channel) = ( \
(EnablePreemptAbility) ? ( \
(uint8)((uint8)(EnablePreemption) << DMA_DCHPRI3_ECP_SHIFT) | \
(uint8)((((uint8)(Priority) & DMA_DCHPRI3_CHPRI_MASK) << DMA_DCHPRI3_CHPRI_SHIFT)) \
) : ( \
(uint8)((uint8)(EnablePreemption) << DMA_DCHPRI3_ECP_SHIFT) | \
(uint8)((((uint8)(Priority) & DMA_DCHPRI3_CHPRI_MASK) << DMA_DCHPRI3_CHPRI_SHIFT)) | \
(DMA_DCHPRI3_DPA_MASK) \
) \
)) \
)
/* ----------------------------------------------------------------------------
-- WriteEnableRegs
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA set/clear error interrupts and channel requests enable
* registers.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Value DMA control registers value. This parameter is a 32-bit value.
* @return Returns a value of void type.
* @par Example:
* @code
* DMA_PDD_WriteEnableRegs(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_WriteEnableRegs(PeripheralBase, Value) ( \
DMA_CEEI_REG(PeripheralBase) = (uint32)(Value) \
)
/* ----------------------------------------------------------------------------
-- WriteFlagRegs
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA clear done status, clear error and interrupt flags and
* set start channel request registers.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Value DMA flag registers value. This parameter is a 32-bit value.
* @return Returns a value of void type.
* @par Example:
* @code
* DMA_PDD_WriteFlagRegs(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_WriteFlagRegs(PeripheralBase, Value) ( \
DMA_CDNE_REG(PeripheralBase) = (uint32)(Value) \
)
/* ----------------------------------------------------------------------------
-- WriteEnableRequestReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA enable request register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Value Register value. This parameter is a 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_ERQ.
* @par Example:
* @code
* DMA_PDD_WriteEnableRequestReg(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_WriteEnableRequestReg(PeripheralBase, Value) ( \
DMA_ERQ_REG(PeripheralBase) = \
(uint32)(Value) \
)
/* ----------------------------------------------------------------------------
-- ReadEnableRequestReg
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA enable request register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_ERQ.
* @par Example:
* @code
* uint32 result = DMA_PDD_ReadEnableRequestReg(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_ReadEnableRequestReg(PeripheralBase) ( \
DMA_ERQ_REG(PeripheralBase) \
)
/* ----------------------------------------------------------------------------
-- EnableRequestMask
---------------------------------------------------------------------------- */
/**
* @brief Enables DMA channels requests specified by Mask parameter, rest is not
* changed.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Mask Mask of DMA requests to be enabled. This parameter is a 32-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_ERQ.
* @par Example:
* @code
* DMA_PDD_EnableRequestMask(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_EnableRequestMask(PeripheralBase, Mask) ( \
DMA_ERQ_REG(PeripheralBase) |= \
(uint32)(Mask) \
)
/* ----------------------------------------------------------------------------
-- DisableRequestMask
---------------------------------------------------------------------------- */
/**
* @brief Disables DMA channels requests specified by Mask parameter, rest is
* not changed.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Mask Mask of DMA requests to be disabled. This parameter is a 32-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_ERQ.
* @par Example:
* @code
* DMA_PDD_DisableRequestMask(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_DisableRequestMask(PeripheralBase, Mask) ( \
DMA_ERQ_REG(PeripheralBase) &= \
(uint32)(~(uint32)(Mask)) \
)
/* ----------------------------------------------------------------------------
-- SetRequestEnableMask
---------------------------------------------------------------------------- */
/**
* @brief Sets DMA channels requests.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Mask Mask of DMA requests to be enabled. This parameter is a 32-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_ERQ.
* @par Example:
* @code
* DMA_PDD_SetRequestEnableMask(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_SetRequestEnableMask(PeripheralBase, Mask) ( \
DMA_ERQ_REG(PeripheralBase) = \
(uint32)(Mask) \
)
/* ----------------------------------------------------------------------------
-- GetRequestEnableMask
---------------------------------------------------------------------------- */
/**
* @brief Returns mask of enabled DMA channels requests.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_ERQ.
* @par Example:
* @code
* uint32 result = DMA_PDD_GetRequestEnableMask(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_GetRequestEnableMask(PeripheralBase) ( \
DMA_ERQ_REG(PeripheralBase) \
)
/* ----------------------------------------------------------------------------
-- WriteSetEnableRequestReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA set enable request register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Value Register value. This parameter is a 8-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_SERQ.
* @par Example:
* @code
* DMA_PDD_WriteSetEnableRequestReg(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_WriteSetEnableRequestReg(PeripheralBase, Value) ( \
DMA_SERQ_REG(PeripheralBase) = \
(uint8)(Value) \
)
/* ----------------------------------------------------------------------------
-- SetRequestEnable
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Sets DMA channel request. If AllChannels = '1' then all requests are
* enabled regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Enable all DMA channel requests. This parameter is of "Set
* all or only one DMA channel. Used in Set/Clear macros to distinct
* between setting/clearing attribute of one specified channel or of all
* channels." type.
* @param Channel DMA channel request number. This parameter is a 2-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_SERQ.
* @par Example:
* @code
* DMA_PDD_SetRequestEnable(<peripheral>_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1);
* @endcode
*/
#define DMA_PDD_SetRequestEnable(PeripheralBase, AllChannels, Channel) ( \
DMA_SERQ_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)))
/**
* @brief Sets DMA channel request. If AllChannels = '1' then all requests are
* enabled regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Enable all DMA channel requests. This parameter is of "Set
* all or only one DMA channel. Used in Set/Clear macros to distinct
* between setting/clearing attribute of one specified channel or of all
* channels." type.
* @param Channel DMA channel request number. This parameter is a 5-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_SERQ.
* @par Example:
* @code
* DMA_PDD_SetRequestEnable(<peripheral>_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1);
* @endcode
*/
#define DMA_PDD_SetRequestEnable(PeripheralBase, AllChannels, Channel) ( \
DMA_SERQ_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Sets DMA channel request. If AllChannels = '1' then all requests are
* enabled regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Enable all DMA channel requests. This parameter is of "Set
* all or only one DMA channel. Used in Set/Clear macros to distinct
* between setting/clearing attribute of one specified channel or of all
* channels." type.
* @param Channel DMA channel request number. This parameter is a 4-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_SERQ.
* @par Example:
* @code
* DMA_PDD_SetRequestEnable(<peripheral>_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1);
* @endcode
*/
#define DMA_PDD_SetRequestEnable(PeripheralBase, AllChannels, Channel) ( \
DMA_SERQ_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- EnableRequest
---------------------------------------------------------------------------- */
/**
* @brief Enables DMA channel peripheral request.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel request number. This parameter is a 8-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_SERQ.
* @par Example:
* @code
* DMA_PDD_EnableRequest(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_EnableRequest(PeripheralBase, Channel) ( \
DMA_SERQ_REG(PeripheralBase) = \
(uint8)(Channel) \
)
/* ----------------------------------------------------------------------------
-- WriteClearEnableRequestReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA clear enable request register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Value Register value. This parameter is a 8-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CERQ.
* @par Example:
* @code
* DMA_PDD_WriteClearEnableRequestReg(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_WriteClearEnableRequestReg(PeripheralBase, Value) ( \
DMA_CERQ_REG(PeripheralBase) = \
(uint8)(Value) \
)
/* ----------------------------------------------------------------------------
-- DisableRequest
---------------------------------------------------------------------------- */
/**
* @brief Disables DMA channel peripheral request.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel request number. This parameter is a 8-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CERQ.
* @par Example:
* @code
* DMA_PDD_DisableRequest(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_DisableRequest(PeripheralBase, Channel) ( \
DMA_CERQ_REG(PeripheralBase) = \
(uint8)(Channel) \
)
/* ----------------------------------------------------------------------------
-- ClearRequestEnable
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Clears DMA channel request. If AllChannels = '1' then all requests are
* disabled regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Disable all DMA channel requests. This parameter is of
* "Set all or only one DMA channel. Used in Set/Clear macros to distinct
* between setting/clearing attribute of one specified channel or of all
* channels." type.
* @param Channel DMA channel request number. This parameter is a 2-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CERQ.
* @par Example:
* @code
* DMA_PDD_ClearRequestEnable(<peripheral>_BASE_PTR, DMA_PDD_ONE_CHANNEL,
* 1);
* @endcode
*/
#define DMA_PDD_ClearRequestEnable(PeripheralBase, AllChannels, Channel) ( \
DMA_CERQ_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)))
/**
* @brief Clears DMA channel request. If AllChannels = '1' then all requests are
* disabled regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Disable all DMA channel requests. This parameter is of
* "Set all or only one DMA channel. Used in Set/Clear macros to distinct
* between setting/clearing attribute of one specified channel or of all
* channels." type.
* @param Channel DMA channel request number. This parameter is a 5-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CERQ.
* @par Example:
* @code
* DMA_PDD_ClearRequestEnable(<peripheral>_BASE_PTR, DMA_PDD_ONE_CHANNEL,
* 1);
* @endcode
*/
#define DMA_PDD_ClearRequestEnable(PeripheralBase, AllChannels, Channel) ( \
DMA_CERQ_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Clears DMA channel request. If AllChannels = '1' then all requests are
* disabled regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Disable all DMA channel requests. This parameter is of
* "Set all or only one DMA channel. Used in Set/Clear macros to distinct
* between setting/clearing attribute of one specified channel or of all
* channels." type.
* @param Channel DMA channel request number. This parameter is a 4-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CERQ.
* @par Example:
* @code
* DMA_PDD_ClearRequestEnable(<peripheral>_BASE_PTR, DMA_PDD_ONE_CHANNEL,
* 1);
* @endcode
*/
#define DMA_PDD_ClearRequestEnable(PeripheralBase, AllChannels, Channel) ( \
DMA_CERQ_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- EnablePeripheralRequest
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Enables or disables peripheral requests.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param State Parameter specifying if DMA channel peripheral requests will be
* enabled or ignored. This parameter is of "Global enumeration used for
* specifying general enable/disable states (PDD_DISABLE and PDD_ENABLE
* defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CERQ, DMA_SERQ,
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_EnablePeripheralRequest(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0, PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnablePeripheralRequest(PeripheralBase, Channel, State) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(( \
DMA_DCR_REG(PeripheralBase,(Channel))) & ( \
(uint32)(~(uint32)DMA_DCR_ERQ_MASK)))) | ( \
(uint32)((uint32)(State) << DMA_DCR_ERQ_SHIFT))) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Enables or disables peripheral requests.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel request number. This parameter is a 8-bit value.
* @param State Parameter specifying if DMA channel peripheral requests will be
* enabled or ignored. This parameter is of "Global enumeration used for
* specifying general enable/disable states (PDD_DISABLE and PDD_ENABLE
* defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CERQ, DMA_SERQ,
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_EnablePeripheralRequest(<peripheral>_BASE_PTR, 1, PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnablePeripheralRequest(PeripheralBase, Channel, State) ( \
((State) == PDD_DISABLE) ? ( \
DMA_CERQ_REG(PeripheralBase) = \
(uint8)(Channel)) : ( \
DMA_SERQ_REG(PeripheralBase) = \
(uint8)(Channel)) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- WriteEnableErrorInterruptReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA enable error interrupt register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Value Register value. This parameter is a 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_EEI.
* @par Example:
* @code
* DMA_PDD_WriteEnableErrorInterruptReg(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_WriteEnableErrorInterruptReg(PeripheralBase, Value) ( \
DMA_EEI_REG(PeripheralBase) = \
(uint32)(Value) \
)
/* ----------------------------------------------------------------------------
-- ReadEnableErrorInterruptReg
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA enable error interrupt register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_EEI.
* @par Example:
* @code
* uint32 result =
* DMA_PDD_ReadEnableErrorInterruptReg(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_ReadEnableErrorInterruptReg(PeripheralBase) ( \
DMA_EEI_REG(PeripheralBase) \
)
/* ----------------------------------------------------------------------------
-- EnableErrorInterruptMask
---------------------------------------------------------------------------- */
/**
* @brief Enables DMA channels error interrupts specified by Mask parameter,
* rest is not changed.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Mask Mask of DMA error interrupts to be enabled. This parameter is a
* 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_EEI.
* @par Example:
* @code
* DMA_PDD_EnableErrorInterruptMask(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_EnableErrorInterruptMask(PeripheralBase, Mask) ( \
DMA_EEI_REG(PeripheralBase) |= \
(uint32)(Mask) \
)
/* ----------------------------------------------------------------------------
-- DisableErrorInterruptMask
---------------------------------------------------------------------------- */
/**
* @brief Disables DMA channels error interrupts specified by Mask parameter,
* rest is not changed.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Mask Mask of DMA error interrupts to be disabled. This parameter is a
* 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_EEI.
* @par Example:
* @code
* DMA_PDD_DisableErrorInterruptMask(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_DisableErrorInterruptMask(PeripheralBase, Mask) ( \
DMA_EEI_REG(PeripheralBase) &= \
(uint32)(~(uint32)(Mask)) \
)
/* ----------------------------------------------------------------------------
-- SetErrorInterruptEnableMask
---------------------------------------------------------------------------- */
/**
* @brief Sets DMA channels error interrupts.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Mask Mask of DMA error interrupts to be enabled. This parameter is a
* 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_EEI.
* @par Example:
* @code
* DMA_PDD_SetErrorInterruptEnableMask(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_SetErrorInterruptEnableMask(PeripheralBase, Mask) ( \
DMA_EEI_REG(PeripheralBase) = \
(uint32)(Mask) \
)
/* ----------------------------------------------------------------------------
-- GetErrorInterruptEnableMask
---------------------------------------------------------------------------- */
/**
* @brief Returns mask of DMA channels error interrupts.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_EEI.
* @par Example:
* @code
* uint32 result =
* DMA_PDD_GetErrorInterruptEnableMask(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_GetErrorInterruptEnableMask(PeripheralBase) ( \
DMA_EEI_REG(PeripheralBase) \
)
/* ----------------------------------------------------------------------------
-- WriteSetEnableErrorInterruptReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA set enable error interrupt register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Value Register value. This parameter is a 8-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_SEEI.
* @par Example:
* @code
* DMA_PDD_WriteSetEnableErrorInterruptReg(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_WriteSetEnableErrorInterruptReg(PeripheralBase, Value) ( \
DMA_SEEI_REG(PeripheralBase) = \
(uint8)(Value) \
)
/* ----------------------------------------------------------------------------
-- SetErrorInterruptEnable
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Sets DMA channel error interrupt. If AllChannels = '1' then all
* interrupts are enabled regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Enable all DMA error interrupts. This parameter is of "Set
* all or only one DMA channel. Used in Set/Clear macros to distinct
* between setting/clearing attribute of one specified channel or of all
* channels." type.
* @param Channel DMA error interrupt channel number. This parameter is a 2-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_SEEI.
* @par Example:
* @code
* DMA_PDD_SetErrorInterruptEnable(<peripheral>_BASE_PTR,
* DMA_PDD_ONE_CHANNEL, 1);
* @endcode
*/
#define DMA_PDD_SetErrorInterruptEnable(PeripheralBase, AllChannels, Channel) ( \
DMA_SEEI_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)))
/**
* @brief Sets DMA channel error interrupt. If AllChannels = '1' then all
* interrupts are enabled regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Enable all DMA error interrupts. This parameter is of "Set
* all or only one DMA channel. Used in Set/Clear macros to distinct
* between setting/clearing attribute of one specified channel or of all
* channels." type.
* @param Channel DMA error interrupt channel number. This parameter is a 5-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_SEEI.
* @par Example:
* @code
* DMA_PDD_SetErrorInterruptEnable(<peripheral>_BASE_PTR,
* DMA_PDD_ONE_CHANNEL, 1);
* @endcode
*/
#define DMA_PDD_SetErrorInterruptEnable(PeripheralBase, AllChannels, Channel) ( \
DMA_SEEI_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Sets DMA channel error interrupt. If AllChannels = '1' then all
* interrupts are enabled regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Enable all DMA error interrupts. This parameter is of "Set
* all or only one DMA channel. Used in Set/Clear macros to distinct
* between setting/clearing attribute of one specified channel or of all
* channels." type.
* @param Channel DMA error interrupt channel number. This parameter is a 4-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_SEEI.
* @par Example:
* @code
* DMA_PDD_SetErrorInterruptEnable(<peripheral>_BASE_PTR,
* DMA_PDD_ONE_CHANNEL, 1);
* @endcode
*/
#define DMA_PDD_SetErrorInterruptEnable(PeripheralBase, AllChannels, Channel) ( \
DMA_SEEI_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- EnableErrorInterrupt
---------------------------------------------------------------------------- */
/**
* @brief Enables DMA channel error interrupt.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is a 8-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_SEEI.
* @par Example:
* @code
* DMA_PDD_EnableErrorInterrupt(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_EnableErrorInterrupt(PeripheralBase, Channel) ( \
DMA_SEEI_REG(PeripheralBase) = \
(uint8)(Channel) \
)
/* ----------------------------------------------------------------------------
-- WriteClearEnableErrorInterruptReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA clear enable error interrupt register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Value Register value. This parameter is a 8-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CEEI.
* @par Example:
* @code
* DMA_PDD_WriteClearEnableErrorInterruptReg(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_WriteClearEnableErrorInterruptReg(PeripheralBase, Value) ( \
DMA_CEEI_REG(PeripheralBase) = \
(uint8)(Value) \
)
/* ----------------------------------------------------------------------------
-- ClearErrorInterruptEnable
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Clears DMA channel error interrupt. If AllChannels = '1' then all
* interrupts are disabled regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Disable all DMA error interrupts. This parameter is of
* "Set all or only one DMA channel. Used in Set/Clear macros to distinct
* between setting/clearing attribute of one specified channel or of all
* channels." type.
* @param Channel DMA error interrupt channel number. This parameter is a 2-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CEEI.
* @par Example:
* @code
* DMA_PDD_ClearErrorInterruptEnable(<peripheral>_BASE_PTR,
* DMA_PDD_ONE_CHANNEL, 1);
* @endcode
*/
#define DMA_PDD_ClearErrorInterruptEnable(PeripheralBase, AllChannels, Channel) ( \
DMA_CEEI_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)))
/**
* @brief Clears DMA channel error interrupt. If AllChannels = '1' then all
* interrupts are disabled regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Disable all DMA error interrupts. This parameter is of
* "Set all or only one DMA channel. Used in Set/Clear macros to distinct
* between setting/clearing attribute of one specified channel or of all
* channels." type.
* @param Channel DMA error interrupt channel number. This parameter is a 5-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CEEI.
* @par Example:
* @code
* DMA_PDD_ClearErrorInterruptEnable(<peripheral>_BASE_PTR,
* DMA_PDD_ONE_CHANNEL, 1);
* @endcode
*/
#define DMA_PDD_ClearErrorInterruptEnable(PeripheralBase, AllChannels, Channel) ( \
DMA_CEEI_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Clears DMA channel error interrupt. If AllChannels = '1' then all
* interrupts are disabled regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Disable all DMA error interrupts. This parameter is of
* "Set all or only one DMA channel. Used in Set/Clear macros to distinct
* between setting/clearing attribute of one specified channel or of all
* channels." type.
* @param Channel DMA error interrupt channel number. This parameter is a 4-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CEEI.
* @par Example:
* @code
* DMA_PDD_ClearErrorInterruptEnable(<peripheral>_BASE_PTR,
* DMA_PDD_ONE_CHANNEL, 1);
* @endcode
*/
#define DMA_PDD_ClearErrorInterruptEnable(PeripheralBase, AllChannels, Channel) ( \
DMA_CEEI_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- DisableErrorInterrupt
---------------------------------------------------------------------------- */
/**
* @brief Disables DMA channel error interrupt.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is a 8-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CEEI.
* @par Example:
* @code
* DMA_PDD_DisableErrorInterrupt(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_DisableErrorInterrupt(PeripheralBase, Channel) ( \
DMA_CEEI_REG(PeripheralBase) = \
(uint8)(Channel) \
)
/* ----------------------------------------------------------------------------
-- WriteClearInterruptRequestReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA clear interrupt request register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Value Register value. This parameter is a 8-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CINT.
* @par Example:
* @code
* DMA_PDD_WriteClearInterruptRequestReg(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_WriteClearInterruptRequestReg(PeripheralBase, Value) ( \
DMA_CINT_REG(PeripheralBase) = \
(uint8)(Value) \
)
/* ----------------------------------------------------------------------------
-- ClearInterruptFlags
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Clears DMA channel interrupt request flag. If AllChannels = '1' then
* all requests are cleared regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Clear all DMA interrupt requests. This parameter is of
* "Set all or only one DMA channel. Used in Set/Clear macros to distinct
* between setting/clearing attribute of one specified channel or of all
* channels." type.
* @param Channel DMA interrupt request channel number. This parameter is a
* 2-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CINT,
* DSR_BCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_ClearInterruptFlags(<peripheral>_BASE_PTR, DMA_PDD_ONE_CHANNEL,
* 1);
* @endcode
*/
#define DMA_PDD_ClearInterruptFlags(PeripheralBase, AllChannels, Channel) ( \
DMA_CINT_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#elif ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Clears interrupt flag bits defined by mask parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param Mask Mask of interrupt's flags to clear. Use constants from group
* "Interrupts' flags". This parameter is 32 bits wide.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CINT,
* DSR_BCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_ClearInterruptFlags(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0,
* DMA_PDD_TRANSFER_COMPLETE_FLAG);
* @endcode
*/
#define DMA_PDD_ClearInterruptFlags(PeripheralBase, Channel, Mask) ( \
DMA_DSR_BCR_REG(PeripheralBase,(Channel)) |= \
(uint32)(Mask) \
)
#elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)))
/**
* @brief Clears DMA channel interrupt request flag. If AllChannels = '1' then
* all requests are cleared regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Clear all DMA interrupt requests. This parameter is of
* "Set all or only one DMA channel. Used in Set/Clear macros to distinct
* between setting/clearing attribute of one specified channel or of all
* channels." type.
* @param Channel DMA interrupt request channel number. This parameter is a
* 5-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CINT,
* DSR_BCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_ClearInterruptFlags(<peripheral>_BASE_PTR, DMA_PDD_ONE_CHANNEL,
* 1);
* @endcode
*/
#define DMA_PDD_ClearInterruptFlags(PeripheralBase, AllChannels, Channel) ( \
DMA_CINT_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Clears DMA channel interrupt request flag. If AllChannels = '1' then
* all requests are cleared regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Clear all DMA interrupt requests. This parameter is of
* "Set all or only one DMA channel. Used in Set/Clear macros to distinct
* between setting/clearing attribute of one specified channel or of all
* channels." type.
* @param Channel DMA interrupt request channel number. This parameter is a
* 4-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CINT,
* DSR_BCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_ClearInterruptFlags(<peripheral>_BASE_PTR, DMA_PDD_ONE_CHANNEL,
* 1);
* @endcode
*/
#define DMA_PDD_ClearInterruptFlags(PeripheralBase, AllChannels, Channel) ( \
DMA_CINT_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- ClearChannelInterruptFlag
---------------------------------------------------------------------------- */
/**
* @brief Clears DMA channel interrupt flag.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is a 8-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CINT.
* @par Example:
* @code
* DMA_PDD_ClearChannelInterruptFlag(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_ClearChannelInterruptFlag(PeripheralBase, Channel) ( \
DMA_CINT_REG(PeripheralBase) = \
(uint8)(Channel) \
)
/* ----------------------------------------------------------------------------
-- WriteInterruptRequestReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA interrupt request register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Value Register value. This parameter is a 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_INT.
* @par Example:
* @code
* DMA_PDD_WriteInterruptRequestReg(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_WriteInterruptRequestReg(PeripheralBase, Value) ( \
DMA_INT_REG(PeripheralBase) = \
(uint32)(Value) \
)
/* ----------------------------------------------------------------------------
-- ReadInterruptRequestReg
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA interrupt request register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_INT.
* @par Example:
* @code
* uint32 result =
* DMA_PDD_ReadInterruptRequestReg(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_ReadInterruptRequestReg(PeripheralBase) ( \
DMA_INT_REG(PeripheralBase) \
)
/* ----------------------------------------------------------------------------
-- ClearInterruptFlagsMask
---------------------------------------------------------------------------- */
/**
* @brief Clears DMA channels interrupt requests specified by Mask parameter,
* rest is not changed.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Mask Mask of DMA interrupt requests to be cleared. This parameter is a
* 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_INT.
* @par Example:
* @code
* DMA_PDD_ClearInterruptFlagsMask(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_ClearInterruptFlagsMask(PeripheralBase, Mask) ( \
DMA_INT_REG(PeripheralBase) &= \
(uint32)(~(uint32)(Mask)) \
)
/* ----------------------------------------------------------------------------
-- GetInterruptFlagsMask
---------------------------------------------------------------------------- */
/**
* @brief Returns mask of DMA channels interrupt requests.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_INT.
* @par Example:
* @code
* uint32 result = DMA_PDD_GetInterruptFlagsMask(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_GetInterruptFlagsMask(PeripheralBase) ( \
DMA_INT_REG(PeripheralBase) \
)
/* ----------------------------------------------------------------------------
-- WriteClearErrorReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA clear error register register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Value Register value. This parameter is a 8-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CERR.
* @par Example:
* @code
* DMA_PDD_WriteClearErrorReg(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_WriteClearErrorReg(PeripheralBase, Value) ( \
DMA_CERR_REG(PeripheralBase) = \
(uint8)(Value) \
)
/* ----------------------------------------------------------------------------
-- ClearChannelErrorFlag
---------------------------------------------------------------------------- */
/**
* @brief Clears DMA channel error flag.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is a 8-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CERR.
* @par Example:
* @code
* DMA_PDD_ClearChannelErrorFlag(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_ClearChannelErrorFlag(PeripheralBase, Channel) ( \
DMA_CERR_REG(PeripheralBase) = \
(uint8)(Channel) \
)
/* ----------------------------------------------------------------------------
-- ClearErrorFlags
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Clears DMA channel error flag. If AllChannels = '1' then all errors
* are cleared regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Clear all DMA errors. This parameter is of "Set all or
* only one DMA channel. Used in Set/Clear macros to distinct between
* setting/clearing attribute of one specified channel or of all channels." type.
* @param Channel DMA error channel number. This parameter is a 2-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CERR.
* @par Example:
* @code
* DMA_PDD_ClearErrorFlags(<peripheral>_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1);
* @endcode
*/
#define DMA_PDD_ClearErrorFlags(PeripheralBase, AllChannels, Channel) ( \
DMA_CERR_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)))
/**
* @brief Clears DMA channel error flag. If AllChannels = '1' then all errors
* are cleared regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Clear all DMA errors. This parameter is of "Set all or
* only one DMA channel. Used in Set/Clear macros to distinct between
* setting/clearing attribute of one specified channel or of all channels." type.
* @param Channel DMA error channel number. This parameter is a 5-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CERR.
* @par Example:
* @code
* DMA_PDD_ClearErrorFlags(<peripheral>_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1);
* @endcode
*/
#define DMA_PDD_ClearErrorFlags(PeripheralBase, AllChannels, Channel) ( \
DMA_CERR_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Clears DMA channel error flag. If AllChannels = '1' then all errors
* are cleared regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Clear all DMA errors. This parameter is of "Set all or
* only one DMA channel. Used in Set/Clear macros to distinct between
* setting/clearing attribute of one specified channel or of all channels." type.
* @param Channel DMA error channel number. This parameter is a 4-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CERR.
* @par Example:
* @code
* DMA_PDD_ClearErrorFlags(<peripheral>_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1);
* @endcode
*/
#define DMA_PDD_ClearErrorFlags(PeripheralBase, AllChannels, Channel) ( \
DMA_CERR_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- WriteErrorReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA error register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Value Register value. This parameter is a 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_ERR.
* @par Example:
* @code
* DMA_PDD_WriteErrorReg(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_WriteErrorReg(PeripheralBase, Value) ( \
DMA_ERR_REG(PeripheralBase) = \
(uint32)(Value) \
)
/* ----------------------------------------------------------------------------
-- ReadErrorReg
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA error register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_ERR.
* @par Example:
* @code
* uint32 result = DMA_PDD_ReadErrorReg(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_ReadErrorReg(PeripheralBase) ( \
DMA_ERR_REG(PeripheralBase) \
)
/* ----------------------------------------------------------------------------
-- ClearErrorFlagsMask
---------------------------------------------------------------------------- */
/**
* @brief Clears DMA channels error flags specified by Mask parameter, rest is
* not changed.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Mask Mask of DMA errors to be cleared. This parameter is a 32-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_ERR.
* @par Example:
* @code
* DMA_PDD_ClearErrorFlagsMask(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_ClearErrorFlagsMask(PeripheralBase, Mask) ( \
DMA_ERR_REG(PeripheralBase) &= \
(uint32)(~(uint32)(Mask)) \
)
/* ----------------------------------------------------------------------------
-- GetErrorFlagsMask
---------------------------------------------------------------------------- */
/**
* @brief Returns mask of DMA channel error flags.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_ERR.
* @par Example:
* @code
* uint32 result = DMA_PDD_GetErrorFlagsMask(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_GetErrorFlagsMask(PeripheralBase) ( \
DMA_ERR_REG(PeripheralBase) \
)
/* ----------------------------------------------------------------------------
-- GetChannelErrorFlag
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel error flag.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is a 8-bit value.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_ERR.
* @par Example:
* @code
* uint32 result = DMA_PDD_GetChannelErrorFlag(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_GetChannelErrorFlag(PeripheralBase, Channel) ( \
(uint32)(DMA_ERR_REG(PeripheralBase) & (uint32)((uint32)0x1U << (uint8)(Channel))) \
)
/* ----------------------------------------------------------------------------
-- WriteSetStartBitReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA set START bit register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Value Register value. This parameter is a 8-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_SSRT.
* @par Example:
* @code
* DMA_PDD_WriteSetStartBitReg(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_WriteSetStartBitReg(PeripheralBase, Value) ( \
DMA_SSRT_REG(PeripheralBase) = \
(uint8)(Value) \
)
/* ----------------------------------------------------------------------------
-- StartTransfer
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Starts DMA channel transfer request via a software initiated service
* request. If AllChannels = '1' then transfer start is requested for all channels
* regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Request transfer start for all channels. This parameter is
* of "Set all or only one DMA channel. Used in Set/Clear macros to
* distinct between setting/clearing attribute of one specified channel or of
* all channels." type.
* @param Channel DMA channel number. This parameter is a 2-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_SSRT, DCR[Channel]
* (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_StartTransfer(<peripheral>_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1);
* @endcode
*/
#define DMA_PDD_StartTransfer(PeripheralBase, AllChannels, Channel) ( \
DMA_SSRT_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#elif ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Starts DMA channel transfer request via a software initiated service
* request. If AllChannels = '1' then transfer start is requested for all channels
* regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_SSRT, DCR[Channel]
* (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_StartTransfer(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_StartTransfer(PeripheralBase, Channel) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) |= \
DMA_DCR_START_MASK \
)
#elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)))
/**
* @brief Starts DMA channel transfer request via a software initiated service
* request. If AllChannels = '1' then transfer start is requested for all channels
* regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Request transfer start for all channels. This parameter is
* of "Set all or only one DMA channel. Used in Set/Clear macros to
* distinct between setting/clearing attribute of one specified channel or of
* all channels." type.
* @param Channel DMA channel number. This parameter is a 5-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_SSRT, DCR[Channel]
* (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_StartTransfer(<peripheral>_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1);
* @endcode
*/
#define DMA_PDD_StartTransfer(PeripheralBase, AllChannels, Channel) ( \
DMA_SSRT_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Starts DMA channel transfer request via a software initiated service
* request. If AllChannels = '1' then transfer start is requested for all channels
* regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Request transfer start for all channels. This parameter is
* of "Set all or only one DMA channel. Used in Set/Clear macros to
* distinct between setting/clearing attribute of one specified channel or of
* all channels." type.
* @param Channel DMA channel number. This parameter is a 4-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_SSRT, DCR[Channel]
* (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_StartTransfer(<peripheral>_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1);
* @endcode
*/
#define DMA_PDD_StartTransfer(PeripheralBase, AllChannels, Channel) ( \
DMA_SSRT_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- WriteClearDoneBitReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA clear DONE status bit register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Value Register value. This parameter is a 8-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CDNE.
* @par Example:
* @code
* DMA_PDD_WriteClearDoneBitReg(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_WriteClearDoneBitReg(PeripheralBase, Value) ( \
DMA_CDNE_REG(PeripheralBase) = \
(uint8)(Value) \
)
/* ----------------------------------------------------------------------------
-- ClearDoneFlags
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Clears DMA channel done status. If AllChannels = '1' then all status
* of all channels are cleared regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Clear all DMA channels status. This parameter is of "Set
* all or only one DMA channel. Used in Set/Clear macros to distinct
* between setting/clearing attribute of one specified channel or of all
* channels." type.
* @param Channel DMA status channel number. This parameter is a 2-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CDNE.
* @par Example:
* @code
* DMA_PDD_ClearDoneFlags(<peripheral>_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1);
* @endcode
*/
#define DMA_PDD_ClearDoneFlags(PeripheralBase, AllChannels, Channel) ( \
DMA_CDNE_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)))
/**
* @brief Clears DMA channel done status. If AllChannels = '1' then all status
* of all channels are cleared regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Clear all DMA channels status. This parameter is of "Set
* all or only one DMA channel. Used in Set/Clear macros to distinct
* between setting/clearing attribute of one specified channel or of all
* channels." type.
* @param Channel DMA status channel number. This parameter is a 5-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CDNE.
* @par Example:
* @code
* DMA_PDD_ClearDoneFlags(<peripheral>_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1);
* @endcode
*/
#define DMA_PDD_ClearDoneFlags(PeripheralBase, AllChannels, Channel) ( \
DMA_CDNE_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Clears DMA channel done status. If AllChannels = '1' then all status
* of all channels are cleared regardless of Channel parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param AllChannels Clear all DMA channels status. This parameter is of "Set
* all or only one DMA channel. Used in Set/Clear macros to distinct
* between setting/clearing attribute of one specified channel or of all
* channels." type.
* @param Channel DMA status channel number. This parameter is a 4-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CDNE.
* @par Example:
* @code
* DMA_PDD_ClearDoneFlags(<peripheral>_BASE_PTR, DMA_PDD_ONE_CHANNEL, 1);
* @endcode
*/
#define DMA_PDD_ClearDoneFlags(PeripheralBase, AllChannels, Channel) ( \
DMA_CDNE_REG(PeripheralBase) = \
(uint8)((uint8)(AllChannels) | (uint8)(Channel)) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- ClearDoneFlag
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Clears channel done status.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_CDNE,
* DSR_BCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint32 result = DMA_PDD_ClearDoneFlag(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_ClearDoneFlag(PeripheralBase, Channel) ( \
DMA_DSR_BCR_REG(PeripheralBase,(Channel)) |= \
DMA_DSR_BCR_DONE_MASK \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Clears DMA channel done status.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is a 8-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CDNE,
* DSR_BCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_ClearDoneFlag(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_ClearDoneFlag(PeripheralBase, Channel) ( \
DMA_CDNE_REG(PeripheralBase) = \
(uint8)(Channel) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- WriteHwRequestStatusReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA hardware request status register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Value Register value. This parameter is a 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_HRS.
* @par Example:
* @code
* DMA_PDD_WriteHwRequestStatusReg(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_WriteHwRequestStatusReg(PeripheralBase, Value) ( \
DMA_HRS_REG(PeripheralBase) = \
(uint32)(Value) \
)
/* ----------------------------------------------------------------------------
-- ReadHwRequestStatusReg
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA hardware request status register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_HRS.
* @par Example:
* @code
* uint32 result = DMA_PDD_ReadHwRequestStatusReg(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_ReadHwRequestStatusReg(PeripheralBase) ( \
DMA_HRS_REG(PeripheralBase) \
)
/* ----------------------------------------------------------------------------
-- GetRequestFlagsMask
---------------------------------------------------------------------------- */
/**
* @brief Returns mask of DMA channels requests status.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_HRS.
* @par Example:
* @code
* uint32 result = DMA_PDD_GetRequestFlagsMask(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_GetRequestFlagsMask(PeripheralBase) ( \
DMA_HRS_REG(PeripheralBase) \
)
/* ----------------------------------------------------------------------------
-- WriteSourceAddressReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA TCD source address register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value Register value. This parameter is a 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: SADDR[Channel].
* @par Example:
* @code
* DMA_PDD_WriteSourceAddressReg(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_WriteSourceAddressReg(PeripheralBase, Channel, Value) ( \
DMA_SADDR_REG(PeripheralBase,(Channel)) = \
(uint32)(Value) \
)
/* ----------------------------------------------------------------------------
-- ReadSourceAddressReg
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA TCD source address register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: SADDR[Channel].
* @par Example:
* @code
* uint32 result = DMA_PDD_ReadSourceAddressReg(<peripheral>_BASE_PTR,
* periphID);
* @endcode
*/
#define DMA_PDD_ReadSourceAddressReg(PeripheralBase, Channel) ( \
DMA_SADDR_REG(PeripheralBase,(Channel)) \
)
/* ----------------------------------------------------------------------------
-- SetSourceAddress
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Sets DMA channel source address.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param Address DMA channel source address. This parameter is a 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: SADDR[Channel],
* SAR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_SetSourceAddress(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0, 1);
* @endcode
*/
#define DMA_PDD_SetSourceAddress(PeripheralBase, Channel, Address) ( \
DMA_SAR_REG(PeripheralBase,(Channel)) = \
(uint32)(Address) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Sets DMA channel source address.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Address DMA channel source address. This parameter is a 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: SADDR[Channel],
* SAR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_SetSourceAddress(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetSourceAddress(PeripheralBase, Channel, Address) ( \
DMA_SADDR_REG(PeripheralBase,(Channel)) = \
(uint32)(Address) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetSourceAddress
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Returns DMA channel source address.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: SADDR[Channel],
* SAR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint32 result = DMA_PDD_GetSourceAddress(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetSourceAddress(PeripheralBase, Channel) ( \
DMA_SAR_REG(PeripheralBase,(Channel)) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Returns DMA channel source address.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: SADDR[Channel],
* SAR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint32 result = DMA_PDD_GetSourceAddress(<peripheral>_BASE_PTR,
* periphID);
* @endcode
*/
#define DMA_PDD_GetSourceAddress(PeripheralBase, Channel) ( \
DMA_SADDR_REG(PeripheralBase,(Channel)) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- WriteDestinationAddressReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA TCD destination address register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value Register value. This parameter is a 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DADDR[Channel].
* @par Example:
* @code
* DMA_PDD_WriteDestinationAddressReg(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_WriteDestinationAddressReg(PeripheralBase, Channel, Value) ( \
DMA_DADDR_REG(PeripheralBase,(Channel)) = \
(uint32)(Value) \
)
/* ----------------------------------------------------------------------------
-- ReadDestinationAddressReg
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA TCD destination address register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DADDR[Channel].
* @par Example:
* @code
* uint32 result =
* DMA_PDD_ReadDestinationAddressReg(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_ReadDestinationAddressReg(PeripheralBase, Channel) ( \
DMA_DADDR_REG(PeripheralBase,(Channel)) \
)
/* ----------------------------------------------------------------------------
-- SetDestinationAddress
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Sets DMA channel destination address.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param Address DMA channel destination address. This parameter is a 32-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DADDR[Channel],
* DAR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_SetDestinationAddress(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0,
* 1);
* @endcode
*/
#define DMA_PDD_SetDestinationAddress(PeripheralBase, Channel, Address) ( \
DMA_DAR_REG(PeripheralBase,(Channel)) = \
(uint32)(Address) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Sets DMA channel destination address.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Address DMA channel destination address. This parameter is a 32-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DADDR[Channel],
* DAR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_SetDestinationAddress(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetDestinationAddress(PeripheralBase, Channel, Address) ( \
DMA_DADDR_REG(PeripheralBase,(Channel)) = \
(uint32)(Address) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetDestinationAddress
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Returns DMA channel destination address.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DADDR[Channel],
* DAR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint32 result = DMA_PDD_GetDestinationAddress(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetDestinationAddress(PeripheralBase, Channel) ( \
DMA_DAR_REG(PeripheralBase,(Channel)) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Returns DMA channel destination address.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DADDR[Channel],
* DAR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint32 result = DMA_PDD_GetDestinationAddress(<peripheral>_BASE_PTR,
* periphID);
* @endcode
*/
#define DMA_PDD_GetDestinationAddress(PeripheralBase, Channel) ( \
DMA_DADDR_REG(PeripheralBase,(Channel)) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- WriteSourceAddressOffsetReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA TCD source address offset register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value Register value. This parameter is a 16-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: SOFF[Channel].
* @par Example:
* @code
* DMA_PDD_WriteSourceAddressOffsetReg(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_WriteSourceAddressOffsetReg(PeripheralBase, Channel, Value) ( \
DMA_SOFF_REG(PeripheralBase,(Channel)) = \
(uint16)(Value) \
)
/* ----------------------------------------------------------------------------
-- ReadSourceAddressOffsetReg
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA TCD source address offset register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 16-bit value.
* @remarks The macro accesses the following registers: SOFF[Channel].
* @par Example:
* @code
* uint16 result =
* DMA_PDD_ReadSourceAddressOffsetReg(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_ReadSourceAddressOffsetReg(PeripheralBase, Channel) ( \
DMA_SOFF_REG(PeripheralBase,(Channel)) \
)
/* ----------------------------------------------------------------------------
-- SetSourceAddressOffset
---------------------------------------------------------------------------- */
/**
* @brief Sets DMA channel source address offset.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Offset DMA channel source address offset. This parameter is a 16-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: SOFF[Channel].
* @par Example:
* @code
* DMA_PDD_SetSourceAddressOffset(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetSourceAddressOffset(PeripheralBase, Channel, Offset) ( \
DMA_SOFF_REG(PeripheralBase,(Channel)) = \
(uint16)(Offset) \
)
/* ----------------------------------------------------------------------------
-- GetSourceAddressOffset
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel source address offset.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 16-bit value.
* @remarks The macro accesses the following registers: SOFF[Channel].
* @par Example:
* @code
* uint16 result = DMA_PDD_GetSourceAddressOffset(<peripheral>_BASE_PTR,
* periphID);
* @endcode
*/
#define DMA_PDD_GetSourceAddressOffset(PeripheralBase, Channel) ( \
DMA_SOFF_REG(PeripheralBase,(Channel)) \
)
/* ----------------------------------------------------------------------------
-- WriteDestinationAddressOffsetReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA TCD destination address offset register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value Register value. This parameter is a 16-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DOFF[Channel].
* @par Example:
* @code
* DMA_PDD_WriteDestinationAddressOffsetReg(<peripheral>_BASE_PTR,
* periphID, 1);
* @endcode
*/
#define DMA_PDD_WriteDestinationAddressOffsetReg(PeripheralBase, Channel, Value) ( \
DMA_DOFF_REG(PeripheralBase,(Channel)) = \
(uint16)(Value) \
)
/* ----------------------------------------------------------------------------
-- ReadDestinationAddressOffsetReg
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA TCD destination address offset register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 16-bit value.
* @remarks The macro accesses the following registers: DOFF[Channel].
* @par Example:
* @code
* uint16 result =
* DMA_PDD_ReadDestinationAddressOffsetReg(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_ReadDestinationAddressOffsetReg(PeripheralBase, Channel) ( \
DMA_DOFF_REG(PeripheralBase,(Channel)) \
)
/* ----------------------------------------------------------------------------
-- SetDestinationAddressOffset
---------------------------------------------------------------------------- */
/**
* @brief Sets DMA channel destination address offset.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Offset DMA channel destination address offset. This parameter is a
* 16-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DOFF[Channel].
* @par Example:
* @code
* DMA_PDD_SetDestinationAddressOffset(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetDestinationAddressOffset(PeripheralBase, Channel, Offset) ( \
DMA_DOFF_REG(PeripheralBase,(Channel)) = \
(uint16)(Offset) \
)
/* ----------------------------------------------------------------------------
-- GetDestinationAddressOffset
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel destination address offset.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 16-bit value.
* @remarks The macro accesses the following registers: DOFF[Channel].
* @par Example:
* @code
* uint16 result =
* DMA_PDD_GetDestinationAddressOffset(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetDestinationAddressOffset(PeripheralBase, Channel) ( \
DMA_DOFF_REG(PeripheralBase,(Channel)) \
)
/* ----------------------------------------------------------------------------
-- WriteTransferAttributesReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA channel transfer attributes register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value Transfer attributes register value. This parameter is a 16-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: ATTR[Channel].
* @par Example:
* @code
* DMA_PDD_WriteTransferAttributesReg(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_WriteTransferAttributesReg(PeripheralBase, Channel, Value) ( \
DMA_ATTR_REG(PeripheralBase,(Channel)) = \
(uint16)(Value) \
)
/* ----------------------------------------------------------------------------
-- ReadTransferAttributesReg
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel transfer attributes register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 16-bit value.
* @remarks The macro accesses the following registers: ATTR[Channel].
* @par Example:
* @code
* uint16 result =
* DMA_PDD_ReadTransferAttributesReg(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_ReadTransferAttributesReg(PeripheralBase, Channel) ( \
DMA_ATTR_REG(PeripheralBase,(Channel)) \
)
/* ----------------------------------------------------------------------------
-- SetSourceAddressModulo
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Sets DMA channel source address modulo.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param Modulo DMA channel source address modulo. Use constants from group
* "Circular buffer size constants". This parameter is 4 bits wide.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: ATTR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_SetSourceAddressModulo(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0, DMA_PDD_CIRCULAR_BUFFER_DISABLED);
* @endcode
*/
#define DMA_PDD_SetSourceAddressModulo(PeripheralBase, Channel, Modulo) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(( \
DMA_DCR_REG(PeripheralBase,(Channel))) & ( \
(uint32)(~(uint32)DMA_DCR_SMOD_MASK)))) | ( \
(uint32)((uint32)(Modulo) << DMA_DCR_SMOD_SHIFT))) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Sets DMA channel source address modulo.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Modulo DMA channel source address modulo. This parameter is a 5-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: ATTR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_SetSourceAddressModulo(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetSourceAddressModulo(PeripheralBase, Channel, Modulo) ( \
DMA_ATTR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_ATTR_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_ATTR_SMOD_MASK)))) | ( \
(uint16)((uint16)(Modulo) << DMA_ATTR_SMOD_SHIFT))) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetSourceAddressModulo
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Returns DMA channel source address modulo.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Use constants from group "Circular buffer size constants" for
* processing return value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: ATTR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint8 result = DMA_PDD_GetSourceAddressModulo(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetSourceAddressModulo(PeripheralBase, Channel) ( \
(uint8)(( \
(uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_SMOD_MASK)) >> ( \
DMA_DCR_SMOD_SHIFT)) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Returns DMA channel source address modulo.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 5-bit value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: ATTR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint8 result = DMA_PDD_GetSourceAddressModulo(<peripheral>_BASE_PTR,
* periphID);
* @endcode
*/
#define DMA_PDD_GetSourceAddressModulo(PeripheralBase, Channel) ( \
(uint8)(( \
(uint16)(DMA_ATTR_REG(PeripheralBase,(Channel)) & DMA_ATTR_SMOD_MASK)) >> ( \
DMA_ATTR_SMOD_SHIFT)) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- SetSourceDataTransferSize
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Sets DMA channel source data tranfer size.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param Size DMA channel source data tranfer block size. This parameter is of
* "DMA data transfer block size." type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: ATTR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_SetSourceDataTransferSize(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0, DMA_PDD_8_BIT);
* @endcode
*/
#define DMA_PDD_SetSourceDataTransferSize(PeripheralBase, Channel, Size) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(( \
DMA_DCR_REG(PeripheralBase,(Channel))) & ( \
(uint32)(~(uint32)DMA_DCR_SSIZE_MASK)))) | ( \
(uint32)((uint32)(Size) << DMA_DCR_SSIZE_SHIFT))) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Sets DMA channel source data tranfer size.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Size DMA channel source data tranfer block size. This parameter is of
* "DMA data transfer block size." type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: ATTR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_SetSourceDataTransferSize(<peripheral>_BASE_PTR, periphID,
* DMA_PDD_8_BIT);
* @endcode
*/
#define DMA_PDD_SetSourceDataTransferSize(PeripheralBase, Channel, Size) ( \
DMA_ATTR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_ATTR_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_ATTR_SSIZE_MASK)))) | ( \
(uint16)((uint16)(Size) << DMA_ATTR_SSIZE_SHIFT))) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetSourceDataTransferSize
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Returns DMA channel source data tranfer size.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 2-bit value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: ATTR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint8 result =
* DMA_PDD_GetSourceDataTransferSize(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetSourceDataTransferSize(PeripheralBase, Channel) ( \
(uint8)(( \
(uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_SSIZE_MASK)) >> ( \
DMA_DCR_SSIZE_SHIFT)) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Returns DMA channel source data tranfer size.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 3-bit value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: ATTR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint8 result =
* DMA_PDD_GetSourceDataTransferSize(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetSourceDataTransferSize(PeripheralBase, Channel) ( \
(uint8)(( \
(uint16)(DMA_ATTR_REG(PeripheralBase,(Channel)) & DMA_ATTR_SSIZE_MASK)) >> ( \
DMA_ATTR_SSIZE_SHIFT)) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- SetDestinationAddressModulo
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Sets DMA channel destination address modulo.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param Modulo DMA channel destination address modulo. Use constants from
* group "Circular buffer size constants". This parameter is 4 bits wide.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: ATTR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_SetDestinationAddressModulo(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0, DMA_PDD_CIRCULAR_BUFFER_DISABLED);
* @endcode
*/
#define DMA_PDD_SetDestinationAddressModulo(PeripheralBase, Channel, Modulo) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(( \
DMA_DCR_REG(PeripheralBase,(Channel))) & ( \
(uint32)(~(uint32)DMA_DCR_DMOD_MASK)))) | ( \
(uint32)((uint32)(Modulo) << DMA_DCR_DMOD_SHIFT))) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Sets DMA channel destination address modulo.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Modulo DMA channel destination address modulo. This parameter is a
* 5-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: ATTR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_SetDestinationAddressModulo(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetDestinationAddressModulo(PeripheralBase, Channel, Modulo) ( \
DMA_ATTR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_ATTR_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_ATTR_DMOD_MASK)))) | ( \
(uint16)((uint16)(Modulo) << DMA_ATTR_DMOD_SHIFT))) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetDestinationAddressModulo
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Returns DMA channel destination address modulo.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Use constants from group "Circular buffer size constants" for
* processing return value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: ATTR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint8 result =
* DMA_PDD_GetDestinationAddressModulo(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetDestinationAddressModulo(PeripheralBase, Channel) ( \
(uint8)(( \
(uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_DMOD_MASK)) >> ( \
DMA_DCR_DMOD_SHIFT)) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Returns DMA channel destination address modulo.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 5-bit value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: ATTR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint8 result =
* DMA_PDD_GetDestinationAddressModulo(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetDestinationAddressModulo(PeripheralBase, Channel) ( \
(uint8)(( \
(uint16)(DMA_ATTR_REG(PeripheralBase,(Channel)) & DMA_ATTR_DMOD_MASK)) >> ( \
DMA_ATTR_DMOD_SHIFT)) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- SetDestinationDataTransferSize
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Sets DMA channel destination data tranfer size.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param Size DMA channel destination data tranfer block size. This parameter
* is of "DMA data transfer block size." type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: ATTR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_SetDestinationDataTransferSize(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0, DMA_PDD_8_BIT);
* @endcode
*/
#define DMA_PDD_SetDestinationDataTransferSize(PeripheralBase, Channel, Size) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(( \
DMA_DCR_REG(PeripheralBase,(Channel))) & ( \
(uint32)(~(uint32)DMA_DCR_DSIZE_MASK)))) | ( \
(uint32)((uint32)(Size) << DMA_DCR_DSIZE_SHIFT))) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Sets DMA channel destination data tranfer size.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Size DMA channel destination data tranfer block size. This parameter
* is of "DMA data transfer block size." type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: ATTR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_SetDestinationDataTransferSize(<peripheral>_BASE_PTR, periphID,
* DMA_PDD_8_BIT);
* @endcode
*/
#define DMA_PDD_SetDestinationDataTransferSize(PeripheralBase, Channel, Size) ( \
DMA_ATTR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_ATTR_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_ATTR_DSIZE_MASK)))) | ( \
(uint16)(Size))) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetDestinationDataTransferSize
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Returns DMA channel destination data tranfer size.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 2-bit value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: ATTR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint8 result =
* DMA_PDD_GetDestinationDataTransferSize(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetDestinationDataTransferSize(PeripheralBase, Channel) ( \
(uint8)(( \
(uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_DSIZE_MASK)) >> ( \
DMA_DCR_DSIZE_SHIFT)) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Returns DMA channel destination data tranfer size.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 3-bit value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: ATTR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint8 result =
* DMA_PDD_GetDestinationDataTransferSize(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetDestinationDataTransferSize(PeripheralBase, Channel) ( \
(uint8)(DMA_ATTR_REG(PeripheralBase,(Channel)) & DMA_ATTR_DSIZE_MASK) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- WriteMinorLoopReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA channel minor loop register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value DMA channel minor loop register value. This parameter is a
* 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: NBYTES_MLNO[Channel].
* @par Example:
* @code
* DMA_PDD_WriteMinorLoopReg(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_WriteMinorLoopReg(PeripheralBase, Channel, Value) ( \
DMA_NBYTES_MLNO_REG(PeripheralBase,(Channel)) = \
(uint32)(Value) \
)
/* ----------------------------------------------------------------------------
-- ReadMinorLoopReg
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel minor loop register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: NBYTES_MLNO[Channel].
* @par Example:
* @code
* uint32 result = DMA_PDD_ReadMinorLoopReg(<peripheral>_BASE_PTR,
* periphID);
* @endcode
*/
#define DMA_PDD_ReadMinorLoopReg(PeripheralBase, Channel) ( \
DMA_NBYTES_MLNO_REG(PeripheralBase,(Channel)) \
)
/* ----------------------------------------------------------------------------
-- SetByteCount32
---------------------------------------------------------------------------- */
/**
* @brief Sets DMA channel minor byte transfer count.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value 32-bit DMA channel byte count. This parameter is a 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: NBYTES_MLNO[Channel].
* @par Example:
* @code
* DMA_PDD_SetByteCount32(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetByteCount32(PeripheralBase, Channel, Value) ( \
DMA_NBYTES_MLNO_REG(PeripheralBase,(Channel)) = \
(uint32)(Value) \
)
/* ----------------------------------------------------------------------------
-- GetByteCount32
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel minor byte transfer count.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: NBYTES_MLNO[Channel].
* @par Example:
* @code
* uint32 result = DMA_PDD_GetByteCount32(<peripheral>_BASE_PTR,
* periphID);
* @endcode
*/
#define DMA_PDD_GetByteCount32(PeripheralBase, Channel) ( \
DMA_NBYTES_MLNO_REG(PeripheralBase,(Channel)) \
)
/* ----------------------------------------------------------------------------
-- SetByteCount30
---------------------------------------------------------------------------- */
/**
* @brief Sets DMA channel minor byte transfer count.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value 30-bit DMA channel byte count. This parameter is a 30-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: NBYTES_MLOFFNO[Channel].
* @par Example:
* @code
* DMA_PDD_SetByteCount30(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetByteCount30(PeripheralBase, Channel, Value) ( \
DMA_NBYTES_MLOFFNO_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(( \
DMA_NBYTES_MLOFFNO_REG(PeripheralBase,(Channel))) & ( \
(uint32)(~(uint32)DMA_NBYTES_MLOFFNO_NBYTES_MASK)))) | ( \
(uint32)(Value))) \
)
/* ----------------------------------------------------------------------------
-- GetByteCount30
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel minor byte transfer count.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 30-bit value. The value is cast to "uint32".
* @remarks The macro accesses the following registers: NBYTES_MLOFFNO[Channel].
* @par Example:
* @code
* uint32 result = DMA_PDD_GetByteCount30(<peripheral>_BASE_PTR,
* periphID);
* @endcode
*/
#define DMA_PDD_GetByteCount30(PeripheralBase, Channel) ( \
(uint32)(( \
DMA_NBYTES_MLOFFNO_REG(PeripheralBase,(Channel))) & ( \
DMA_NBYTES_MLOFFNO_NBYTES_MASK)) \
)
/* ----------------------------------------------------------------------------
-- SetByteCount10
---------------------------------------------------------------------------- */
/**
* @brief Sets DMA channel minor byte transfer count.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value 10-bit DMA channel byte count. This parameter is a 10-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: NBYTES_MLOFFYES[Channel].
* @par Example:
* @code
* DMA_PDD_SetByteCount10(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetByteCount10(PeripheralBase, Channel, Value) ( \
DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(( \
DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel))) & ( \
(uint32)(~(uint32)DMA_NBYTES_MLOFFYES_NBYTES_MASK)))) | ( \
(uint32)(Value))) \
)
/* ----------------------------------------------------------------------------
-- GetByteCount10
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel minor byte transfer count.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: NBYTES_MLOFFYES[Channel].
* @par Example:
* @code
* uint32 result = DMA_PDD_GetByteCount10(<peripheral>_BASE_PTR,
* periphID);
* @endcode
*/
#define DMA_PDD_GetByteCount10(PeripheralBase, Channel) ( \
(uint32)(( \
DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel))) & ( \
DMA_NBYTES_MLOFFYES_NBYTES_MASK)) \
)
/* ----------------------------------------------------------------------------
-- EnableSourceMinorLoopOffset
---------------------------------------------------------------------------- */
/**
* @brief Enables or disables DMA channel source minor loop offset.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param State Parameter specifying if DMA channel source minor loop offset
* will be enabled or disabled. This parameter is of "Global enumeration
* used for specifying general enable/disable states (PDD_DISABLE and
* PDD_ENABLE defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: NBYTES_MLOFFYES[Channel].
* @par Example:
* @code
* DMA_PDD_EnableSourceMinorLoopOffset(<peripheral>_BASE_PTR, periphID,
* PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableSourceMinorLoopOffset(PeripheralBase, Channel, State) ( \
DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(( \
DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel))) & ( \
(uint32)(~(uint32)DMA_NBYTES_MLOFFYES_SMLOE_MASK)))) | ( \
(uint32)((uint32)(State) << DMA_NBYTES_MLOFFYES_SMLOE_SHIFT))) \
)
/* ----------------------------------------------------------------------------
-- EnableDestinationMinorLoopOffset
---------------------------------------------------------------------------- */
/**
* @brief Enables or disables DMA channel destination minor loop offset.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param State Parameter specifying if DMA channel source minor loop offset
* will be enabled or disabled. This parameter is of "Global enumeration
* used for specifying general enable/disable states (PDD_DISABLE and
* PDD_ENABLE defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: NBYTES_MLOFFYES[Channel].
* @par Example:
* @code
* DMA_PDD_EnableDestinationMinorLoopOffset(<peripheral>_BASE_PTR,
* periphID, PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableDestinationMinorLoopOffset(PeripheralBase, Channel, State) ( \
DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(( \
DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel))) & ( \
(uint32)(~(uint32)DMA_NBYTES_MLOFFYES_DMLOE_MASK)))) | ( \
(uint32)((uint32)(State) << DMA_NBYTES_MLOFFYES_DMLOE_SHIFT))) \
)
/* ----------------------------------------------------------------------------
-- GetMinorLoopOffsetEnabled
---------------------------------------------------------------------------- */
/**
* @brief Returns source and destination minor loop offset enable bits state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: NBYTES_MLOFFYES[Channel].
* @par Example:
* @code
* uint32 result =
* DMA_PDD_GetMinorLoopOffsetEnabled(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetMinorLoopOffsetEnabled(PeripheralBase, Channel) ( \
(uint32)(( \
DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel))) & ( \
(uint32)(DMA_NBYTES_MLOFFYES_SMLOE_MASK | DMA_NBYTES_MLOFFYES_DMLOE_MASK))) \
)
/* ----------------------------------------------------------------------------
-- SetMinorLoopOffset
---------------------------------------------------------------------------- */
/**
* @brief Sets DMA channel minor loop offset.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param AddressOffset Address offset added to source and/or destination
* address. This parameter is a 20-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: NBYTES_MLOFFYES[Channel].
* @par Example:
* @code
* DMA_PDD_SetMinorLoopOffset(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetMinorLoopOffset(PeripheralBase, Channel, AddressOffset) ( \
DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(( \
DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel))) & ( \
(uint32)(~(uint32)DMA_NBYTES_MLOFFYES_MLOFF_MASK)))) | ( \
(uint32)((uint32)(AddressOffset) << DMA_NBYTES_MLOFFYES_MLOFF_SHIFT))) \
)
/* ----------------------------------------------------------------------------
-- GetMinorLoopOffset
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel minor loop offset.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 20-bit value. The value is cast to "uint32".
* @remarks The macro accesses the following registers: NBYTES_MLOFFYES[Channel].
* @par Example:
* @code
* uint32 result = DMA_PDD_GetMinorLoopOffset(<peripheral>_BASE_PTR,
* periphID);
* @endcode
*/
#define DMA_PDD_GetMinorLoopOffset(PeripheralBase, Channel) ( \
(uint32)(( \
(uint32)(( \
DMA_NBYTES_MLOFFYES_REG(PeripheralBase,(Channel))) & ( \
DMA_NBYTES_MLOFFYES_MLOFF_MASK))) >> ( \
DMA_NBYTES_MLOFFYES_MLOFF_SHIFT)) \
)
/* ----------------------------------------------------------------------------
-- WriteCurrentMajorLoopCountReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA channel current minor loop link major loop count
* register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value DMA channel minor loop link major loop count register value.
* This parameter is a 16-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CITER_ELINKNO[Channel].
* @par Example:
* @code
* DMA_PDD_WriteCurrentMajorLoopCountReg(<peripheral>_BASE_PTR, periphID,
* 1);
* @endcode
*/
#define DMA_PDD_WriteCurrentMajorLoopCountReg(PeripheralBase, Channel, Value) ( \
DMA_CITER_ELINKNO_REG(PeripheralBase,(Channel)) = \
(uint16)(Value) \
)
/* ----------------------------------------------------------------------------
-- ReadCurrentMajorLoopCountReg
---------------------------------------------------------------------------- */
/**
* @brief Reads DMA channel current minor loop link major loop count register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value DMA channel minor loop link major loop count register value.
* This parameter is a 16-bit value.
* @return Returns a 16-bit value.
* @remarks The macro accesses the following registers: CITER_ELINKNO[Channel].
* @par Example:
* @code
* uint16 result =
* DMA_PDD_ReadCurrentMajorLoopCountReg(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_ReadCurrentMajorLoopCountReg(PeripheralBase, Channel, Value) ( \
DMA_CITER_ELINKNO_REG(PeripheralBase,(Channel)) \
)
/* ----------------------------------------------------------------------------
-- EnableCurrentMinorLoopLinking
---------------------------------------------------------------------------- */
/**
* @brief Enables or disables DMA channel current minor loop linking.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param State Parameter specifying if DMA channel linking will be enabled or
* disabled. This parameter is of "Global enumeration used for specifying
* general enable/disable states (PDD_DISABLE and PDD_ENABLE defined in
* PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CITER_ELINKNO[Channel].
* @par Example:
* @code
* DMA_PDD_EnableCurrentMinorLoopLinking(<peripheral>_BASE_PTR, periphID,
* PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableCurrentMinorLoopLinking(PeripheralBase, Channel, State) ( \
DMA_CITER_ELINKNO_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CITER_ELINKNO_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_CITER_ELINKNO_ELINK_MASK)))) | ( \
(uint16)((uint16)(State) << DMA_CITER_ELINKNO_ELINK_SHIFT))) \
)
/* ----------------------------------------------------------------------------
-- GetCurrentMinorLoopLinkingEnabled
---------------------------------------------------------------------------- */
/**
* @brief Returns current minor loop linking state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 16-bit value.
* @remarks The macro accesses the following registers: CITER_ELINKNO[Channel].
* @par Example:
* @code
* uint16 result =
* DMA_PDD_GetCurrentMinorLoopLinkingEnabled(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetCurrentMinorLoopLinkingEnabled(PeripheralBase, Channel) ( \
(uint16)(DMA_CITER_ELINKNO_REG(PeripheralBase,(Channel)) & DMA_CITER_ELINKNO_ELINK_MASK) \
)
/* ----------------------------------------------------------------------------
-- SetCurrentMajorLoopCount15
---------------------------------------------------------------------------- */
/**
* @brief Sets DMA channel current major loop count when channel linking is
* disabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value 15-bit DMA channel major loop count. This parameter is a 15-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CITER_ELINKNO[Channel].
* @par Example:
* @code
* DMA_PDD_SetCurrentMajorLoopCount15(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetCurrentMajorLoopCount15(PeripheralBase, Channel, Value) ( \
DMA_CITER_ELINKNO_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CITER_ELINKNO_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_CITER_ELINKNO_CITER_MASK)))) | ( \
(uint16)(Value))) \
)
/* ----------------------------------------------------------------------------
-- SetCurrentMajorLoopCount9
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Sets DMA channel current major loop count when channel linking is
* enabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel 9-bit DMA channel number. This parameter is of index type.
* @param Value DMA channel major loop count. This parameter is a 9-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CITER_ELINKYES[Channel].
* @par Example:
* @code
* DMA_PDD_SetCurrentMajorLoopCount9(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetCurrentMajorLoopCount9(PeripheralBase, Channel, Value) ( \
DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_CITER_ELINKYES_CITER_MASK)) & ( \
(uint16)(~(uint16)0x7800U))))) | ( \
(uint16)(Value))) \
)
#elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)))
/**
* @brief Sets DMA channel current major loop count when channel linking is
* enabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel 9-bit DMA channel number. This parameter is of index type.
* @param Value DMA channel major loop count. This parameter is a 9-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CITER_ELINKYES[Channel].
* @par Example:
* @code
* DMA_PDD_SetCurrentMajorLoopCount9(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetCurrentMajorLoopCount9(PeripheralBase, Channel, Value) ( \
DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_CITER_ELINKYES_CITER_MASK)) & ( \
(uint16)(~(uint16)0x4000U))))) | ( \
(uint16)(Value))) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Sets DMA channel current major loop count when channel linking is
* enabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel 9-bit DMA channel number. This parameter is of index type.
* @param Value DMA channel major loop count. This parameter is a 9-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CITER_ELINKYES[Channel].
* @par Example:
* @code
* DMA_PDD_SetCurrentMajorLoopCount9(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetCurrentMajorLoopCount9(PeripheralBase, Channel, Value) ( \
DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_CITER_ELINKYES_CITER_MASK)))) | ( \
(uint16)(Value))) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetCurrentMajorLoopCount15
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel current major loop count when channel linking is
* disabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 15-bit value. The value is cast to "uint16".
* @remarks The macro accesses the following registers: CITER_ELINKNO[Channel].
* @par Example:
* @code
* uint16 result =
* DMA_PDD_GetCurrentMajorLoopCount15(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetCurrentMajorLoopCount15(PeripheralBase, Channel) ( \
(uint16)(DMA_CITER_ELINKNO_REG(PeripheralBase,(Channel)) & DMA_CITER_ELINKNO_CITER_MASK) \
)
/* ----------------------------------------------------------------------------
-- GetCurrentMajorLoopCount9
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel current major loop count when channel linking is
* enabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel 9-bit DMA channel number. This parameter is of index type.
* @return Returns a 9-bit value. The value is cast to "uint16".
* @remarks The macro accesses the following registers: CITER_ELINKYES[Channel].
* @par Example:
* @code
* uint16 result =
* DMA_PDD_GetCurrentMajorLoopCount9(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetCurrentMajorLoopCount9(PeripheralBase, Channel) ( \
(uint16)(( \
DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \
DMA_CITER_ELINKYES_CITER_MASK)) \
)
/* ----------------------------------------------------------------------------
-- SetCurrentMinorLinkChannel
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Sets DMA channel current link number when channel linking is enabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value DMA channel number. This parameter is a 2-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CITER_ELINKYES[Channel].
* @par Example:
* @code
* DMA_PDD_SetCurrentMinorLinkChannel(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetCurrentMinorLinkChannel(PeripheralBase, Channel, Value) ( \
DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_CITER_ELINKYES_LINKCH_MASK)) & ( \
(uint16)(~(uint16)0x7800U))))) | ( \
(uint16)((uint16)(Value) << DMA_CITER_ELINKYES_LINKCH_SHIFT))) \
)
#elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)))
/**
* @brief Sets DMA channel current link number when channel linking is enabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value DMA channel number. This parameter is a 5-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CITER_ELINKYES[Channel].
* @par Example:
* @code
* DMA_PDD_SetCurrentMinorLinkChannel(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetCurrentMinorLinkChannel(PeripheralBase, Channel, Value) ( \
DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_CITER_ELINKYES_LINKCH_MASK)) & ( \
(uint16)(~(uint16)0x4000U))))) | ( \
(uint16)((uint16)(Value) << DMA_CITER_ELINKYES_LINKCH_SHIFT))) \
)
#elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)))
/**
* @brief Sets DMA channel current link number when channel linking is enabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value DMA channel number. This parameter is a 5-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CITER_ELINKYES[Channel].
* @par Example:
* @code
* DMA_PDD_SetCurrentMinorLinkChannel(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetCurrentMinorLinkChannel(PeripheralBase, Channel, Value) ( \
DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_CITER_ELINKYES_LINKCH_MASK)))) | ( \
(uint16)((uint16)(Value) << DMA_CITER_ELINKYES_LINKCH_SHIFT))) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Sets DMA channel current link number when channel linking is enabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value DMA channel number. This parameter is a 4-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CITER_ELINKYES[Channel].
* @par Example:
* @code
* DMA_PDD_SetCurrentMinorLinkChannel(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetCurrentMinorLinkChannel(PeripheralBase, Channel, Value) ( \
DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_CITER_ELINKYES_LINKCH_MASK)))) | ( \
(uint16)((uint16)(Value) << DMA_CITER_ELINKYES_LINKCH_SHIFT))) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetCurrentMinorLinkChannel
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Returns DMA channel current link number when channel linking is
* enabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 2-bit value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: CITER_ELINKYES[Channel].
* @par Example:
* @code
* uint8 result =
* DMA_PDD_GetCurrentMinorLinkChannel(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetCurrentMinorLinkChannel(PeripheralBase, Channel) ( \
(uint8)(( \
(uint16)(( \
DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \
DMA_CITER_ELINKYES_LINKCH_MASK))) >> ( \
DMA_CITER_ELINKYES_LINKCH_SHIFT)) \
)
#elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)))
/**
* @brief Returns DMA channel current link number when channel linking is
* enabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 5-bit value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: CITER_ELINKYES[Channel].
* @par Example:
* @code
* uint8 result =
* DMA_PDD_GetCurrentMinorLinkChannel(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetCurrentMinorLinkChannel(PeripheralBase, Channel) ( \
(uint8)(( \
(uint16)(( \
DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \
DMA_CITER_ELINKYES_LINKCH_MASK))) >> ( \
DMA_CITER_ELINKYES_LINKCH_SHIFT)) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Returns DMA channel current link number when channel linking is
* enabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 4-bit value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: CITER_ELINKYES[Channel].
* @par Example:
* @code
* uint8 result =
* DMA_PDD_GetCurrentMinorLinkChannel(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetCurrentMinorLinkChannel(PeripheralBase, Channel) ( \
(uint8)(( \
(uint16)(( \
DMA_CITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \
DMA_CITER_ELINKYES_LINKCH_MASK))) >> ( \
DMA_CITER_ELINKYES_LINKCH_SHIFT)) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- WriteBeginningMajorLoopCountReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA channel beginning minor loop link major loop count
* register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value DMA channel minor loop link major loop count register value.
* This parameter is a 16-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: BITER_ELINKNO[Channel].
* @par Example:
* @code
* DMA_PDD_WriteBeginningMajorLoopCountReg(<peripheral>_BASE_PTR,
* periphID, 1);
* @endcode
*/
#define DMA_PDD_WriteBeginningMajorLoopCountReg(PeripheralBase, Channel, Value) ( \
DMA_BITER_ELINKNO_REG(PeripheralBase,(Channel)) = \
(uint16)(Value) \
)
/* ----------------------------------------------------------------------------
-- ReadBeginningMajorLoopCountReg
---------------------------------------------------------------------------- */
/**
* @brief Reads DMA channel beginning minor loop link major loop count register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value DMA channel minor loop link major loop count register value.
* This parameter is a 16-bit value.
* @return Returns a 16-bit value.
* @remarks The macro accesses the following registers: BITER_ELINKNO[Channel].
* @par Example:
* @code
* uint16 result =
* DMA_PDD_ReadBeginningMajorLoopCountReg(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_ReadBeginningMajorLoopCountReg(PeripheralBase, Channel, Value) ( \
DMA_BITER_ELINKNO_REG(PeripheralBase,(Channel)) \
)
/* ----------------------------------------------------------------------------
-- EnableBeginningMinorLoopLinking
---------------------------------------------------------------------------- */
/**
* @brief Enables or disables DMA channel beginning minor loop linking.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param State Parameter specifying if DMA channel linking will be enabled or
* disabled. This parameter is of "Global enumeration used for specifying
* general enable/disable states (PDD_DISABLE and PDD_ENABLE defined in
* PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: BITER_ELINKNO[Channel].
* @par Example:
* @code
* DMA_PDD_EnableBeginningMinorLoopLinking(<peripheral>_BASE_PTR,
* periphID, PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableBeginningMinorLoopLinking(PeripheralBase, Channel, State) ( \
DMA_BITER_ELINKNO_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_BITER_ELINKNO_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_BITER_ELINKNO_ELINK_MASK)))) | ( \
(uint16)((uint16)(State) << DMA_BITER_ELINKNO_ELINK_SHIFT))) \
)
/* ----------------------------------------------------------------------------
-- GetBeginningMinorLoopLinkingEnabled
---------------------------------------------------------------------------- */
/**
* @brief Returns beginning minor loop linking state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 16-bit value.
* @remarks The macro accesses the following registers: BITER_ELINKNO[Channel].
* @par Example:
* @code
* uint16 result =
* DMA_PDD_GetBeginningMinorLoopLinkingEnabled(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetBeginningMinorLoopLinkingEnabled(PeripheralBase, Channel) ( \
(uint16)(DMA_BITER_ELINKNO_REG(PeripheralBase,(Channel)) & DMA_BITER_ELINKNO_ELINK_MASK) \
)
/* ----------------------------------------------------------------------------
-- SetBeginningMajorLoopCount15
---------------------------------------------------------------------------- */
/**
* @brief Sets DMA channel major beginning loop count when channel linking is
* disabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value 15-bit DMA channel major loop count. This parameter is a 15-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: BITER_ELINKNO[Channel].
* @par Example:
* @code
* DMA_PDD_SetBeginningMajorLoopCount15(<peripheral>_BASE_PTR, periphID,
* 1);
* @endcode
*/
#define DMA_PDD_SetBeginningMajorLoopCount15(PeripheralBase, Channel, Value) ( \
DMA_BITER_ELINKNO_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_BITER_ELINKNO_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_BITER_ELINKNO_BITER_MASK)))) | ( \
(uint16)(Value))) \
)
/* ----------------------------------------------------------------------------
-- GetBeginningMajorLoopCount15
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel major beginning loop count when channel linking is
* disabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 15-bit value. The value is cast to "uint16".
* @remarks The macro accesses the following registers: BITER_ELINKNO[Channel].
* @par Example:
* @code
* uint16 result =
* DMA_PDD_GetBeginningMajorLoopCount15(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetBeginningMajorLoopCount15(PeripheralBase, Channel) ( \
(uint16)(DMA_BITER_ELINKNO_REG(PeripheralBase,(Channel)) & DMA_BITER_ELINKNO_BITER_MASK) \
)
/* ----------------------------------------------------------------------------
-- SetBeginningMajorLoopCount9
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Sets DMA channel beginning major loop count when channel linking is
* enabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value 9-bit DMA channel major loop count. This parameter is a 9-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: BITER_ELINKYES[Channel].
* @par Example:
* @code
* DMA_PDD_SetBeginningMajorLoopCount9(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetBeginningMajorLoopCount9(PeripheralBase, Channel, Value) ( \
DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_BITER_ELINKYES_BITER_MASK)) & ( \
(uint16)(~(uint16)0x7800U))))) | ( \
(uint16)(Value))) \
)
#elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)))
/**
* @brief Sets DMA channel beginning major loop count when channel linking is
* enabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value 9-bit DMA channel major loop count. This parameter is a 9-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: BITER_ELINKYES[Channel].
* @par Example:
* @code
* DMA_PDD_SetBeginningMajorLoopCount9(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetBeginningMajorLoopCount9(PeripheralBase, Channel, Value) ( \
DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_BITER_ELINKYES_BITER_MASK)) & ( \
(uint16)(~(uint16)0x4000U))))) | ( \
(uint16)(Value))) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Sets DMA channel beginning major loop count when channel linking is
* enabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value 9-bit DMA channel major loop count. This parameter is a 9-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: BITER_ELINKYES[Channel].
* @par Example:
* @code
* DMA_PDD_SetBeginningMajorLoopCount9(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetBeginningMajorLoopCount9(PeripheralBase, Channel, Value) ( \
DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_BITER_ELINKYES_BITER_MASK)))) | ( \
(uint16)(Value))) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetBeginningMajorLoopCount9
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel major beginning loop count when channel linking is
* disabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 9-bit value. The value is cast to "uint16".
* @remarks The macro accesses the following registers: BITER_ELINKYES[Channel].
* @par Example:
* @code
* uint16 result =
* DMA_PDD_GetBeginningMajorLoopCount9(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetBeginningMajorLoopCount9(PeripheralBase, Channel) ( \
(uint16)(( \
DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \
DMA_BITER_ELINKYES_BITER_MASK)) \
)
/* ----------------------------------------------------------------------------
-- SetBeginningMinorLinkChannel
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Sets DMA channel beginning link number when channel linking is enabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value DMA channel number. This parameter is a 2-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: BITER_ELINKYES[Channel].
* @par Example:
* @code
* DMA_PDD_SetBeginningMinorLinkChannel(<peripheral>_BASE_PTR, periphID,
* 1);
* @endcode
*/
#define DMA_PDD_SetBeginningMinorLinkChannel(PeripheralBase, Channel, Value) ( \
DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_BITER_ELINKYES_LINKCH_MASK)) & ( \
(uint16)(~(uint16)0x7800U))))) | ( \
(uint16)((uint16)(Value) << DMA_BITER_ELINKYES_LINKCH_SHIFT))) \
)
#elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)))
/**
* @brief Sets DMA channel beginning link number when channel linking is enabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value DMA channel number. This parameter is a 5-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: BITER_ELINKYES[Channel].
* @par Example:
* @code
* DMA_PDD_SetBeginningMinorLinkChannel(<peripheral>_BASE_PTR, periphID,
* 1);
* @endcode
*/
#define DMA_PDD_SetBeginningMinorLinkChannel(PeripheralBase, Channel, Value) ( \
DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_BITER_ELINKYES_LINKCH_MASK)) & ( \
(uint16)(~(uint16)0x4000U))))) | ( \
(uint16)((uint16)(Value) << DMA_BITER_ELINKYES_LINKCH_SHIFT))) \
)
#elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)))
/**
* @brief Sets DMA channel beginning link number when channel linking is enabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value DMA channel number. This parameter is a 5-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: BITER_ELINKYES[Channel].
* @par Example:
* @code
* DMA_PDD_SetBeginningMinorLinkChannel(<peripheral>_BASE_PTR, periphID,
* 1);
* @endcode
*/
#define DMA_PDD_SetBeginningMinorLinkChannel(PeripheralBase, Channel, Value) ( \
DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_BITER_ELINKYES_LINKCH_MASK)))) | ( \
(uint16)((uint16)(Value) << DMA_BITER_ELINKYES_LINKCH_SHIFT))) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Sets DMA channel beginning link number when channel linking is enabled.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value DMA channel number. This parameter is a 4-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: BITER_ELINKYES[Channel].
* @par Example:
* @code
* DMA_PDD_SetBeginningMinorLinkChannel(<peripheral>_BASE_PTR, periphID,
* 1);
* @endcode
*/
#define DMA_PDD_SetBeginningMinorLinkChannel(PeripheralBase, Channel, Value) ( \
DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_BITER_ELINKYES_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_BITER_ELINKYES_LINKCH_MASK)))) | ( \
(uint16)((uint16)(Value) << DMA_BITER_ELINKYES_LINKCH_SHIFT))) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- WriteLastSourceAddressAdjustmentReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA TCD last source address adjustment register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value Register value. This parameter is a 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: SLAST[Channel].
* @par Example:
* @code
* DMA_PDD_WriteLastSourceAddressAdjustmentReg(<peripheral>_BASE_PTR,
* periphID, 1);
* @endcode
*/
#define DMA_PDD_WriteLastSourceAddressAdjustmentReg(PeripheralBase, Channel, Value) ( \
DMA_SLAST_REG(PeripheralBase,(Channel)) = \
(uint32)(Value) \
)
/* ----------------------------------------------------------------------------
-- ReadLastSourceAddressAdjustmentReg
---------------------------------------------------------------------------- */
/**
* @brief Reads DMA TCD last source address adjustment register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: SLAST[Channel].
* @par Example:
* @code
* uint32 result =
* DMA_PDD_ReadLastSourceAddressAdjustmentReg(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_ReadLastSourceAddressAdjustmentReg(PeripheralBase, Channel) ( \
DMA_SLAST_REG(PeripheralBase,(Channel)) \
)
/* ----------------------------------------------------------------------------
-- SetLastSourceAddressAdjustment
---------------------------------------------------------------------------- */
/**
* @brief Sets DMA channel last source address adjustment.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value DMA channel last source address adjustment. This parameter is a
* 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: SLAST[Channel].
* @par Example:
* @code
* DMA_PDD_SetLastSourceAddressAdjustment(<peripheral>_BASE_PTR, periphID,
* 1);
* @endcode
*/
#define DMA_PDD_SetLastSourceAddressAdjustment(PeripheralBase, Channel, Value) ( \
DMA_SLAST_REG(PeripheralBase,(Channel)) = \
(uint32)(Value) \
)
/* ----------------------------------------------------------------------------
-- GetLastSourceAddressAdjustment
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel last source address adjustment.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: SLAST[Channel].
* @par Example:
* @code
* uint32 result =
* DMA_PDD_GetLastSourceAddressAdjustment(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetLastSourceAddressAdjustment(PeripheralBase, Channel) ( \
DMA_SLAST_REG(PeripheralBase,(Channel)) \
)
/* ----------------------------------------------------------------------------
-- WriteLastDestinationAddressAdjustmentReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA TCD last destination address adjustment register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value Register value. This parameter is a 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DLAST_SGA[Channel].
* @par Example:
* @code
* DMA_PDD_WriteLastDestinationAddressAdjustmentReg(<peripheral>_BASE_PTR,
* periphID, 1);
* @endcode
*/
#define DMA_PDD_WriteLastDestinationAddressAdjustmentReg(PeripheralBase, Channel, Value) ( \
DMA_DLAST_SGA_REG(PeripheralBase,(Channel)) = \
(uint32)(Value) \
)
/* ----------------------------------------------------------------------------
-- ReadLastDestinationAddressAdjustmentReg
---------------------------------------------------------------------------- */
/**
* @brief Reads DMA TCD last destination address adjustment register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DLAST_SGA[Channel].
* @par Example:
* @code
* uint32 result =
* DMA_PDD_ReadLastDestinationAddressAdjustmentReg(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_ReadLastDestinationAddressAdjustmentReg(PeripheralBase, Channel) ( \
DMA_DLAST_SGA_REG(PeripheralBase,(Channel)) \
)
/* ----------------------------------------------------------------------------
-- SetLastDestinationAddressAdjustment_ScatterGather
---------------------------------------------------------------------------- */
/**
* @brief Sets DMA channel last destination address adjustment or address for
* next TCD to be loaded into this channel.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value DMA channel last destination address adjustment or TCD address.
* This parameter is a 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DLAST_SGA[Channel].
* @par Example:
* @code
* DMA_PDD_SetLastDestinationAddressAdjustment_ScatterGather(<peripheral>_BASE_PTR,
* periphID, 1);
* @endcode
*/
#define DMA_PDD_SetLastDestinationAddressAdjustment_ScatterGather(PeripheralBase, Channel, Value) ( \
DMA_DLAST_SGA_REG(PeripheralBase,(Channel)) = \
(uint32)(Value) \
)
/* ----------------------------------------------------------------------------
-- GetLastDestinationAddressAdjustment_ScatterGather
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel last destination address adjustment.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DLAST_SGA[Channel].
* @par Example:
* @code
* uint32 result =
* DMA_PDD_GetLastDestinationAddressAdjustment_ScatterGather(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetLastDestinationAddressAdjustment_ScatterGather(PeripheralBase, Channel) ( \
DMA_DLAST_SGA_REG(PeripheralBase,(Channel)) \
)
/* ----------------------------------------------------------------------------
-- WriteControlStatusReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA channel control status register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value Channel control status register value. This parameter is a
* 16-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_WriteControlStatusReg(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_WriteControlStatusReg(PeripheralBase, Channel, Value) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(Value) \
)
/* ----------------------------------------------------------------------------
-- ReadControlStatusReg
---------------------------------------------------------------------------- */
/**
* @brief Reads DMA channel control status register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 16-bit value.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* uint16 result = DMA_PDD_ReadControlStatusReg(<peripheral>_BASE_PTR,
* periphID);
* @endcode
*/
#define DMA_PDD_ReadControlStatusReg(PeripheralBase, Channel) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) \
)
/* ----------------------------------------------------------------------------
-- SetStallTime
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Bandwidth control - forces DMA to stall after each r/w operation for
* selected period of time.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param StallTime Selects one of stall time values. This parameter is of "DMA
* stall time value." type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_SetStallTime(<peripheral>_BASE_PTR, periphID, DMA_PDD_NO_STALL);
* @endcode
*/
#define DMA_PDD_SetStallTime(PeripheralBase, Channel, StallTime) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_CSR_BWC_MASK)) & ( \
(uint16)(~(uint16)0x3C00U))))) | ( \
(uint16)(StallTime))) \
)
#elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)))
/**
* @brief Bandwidth control - forces DMA to stall after each r/w operation for
* selected period of time.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param StallTime Selects one of stall time values. This parameter is of "DMA
* stall time value." type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_SetStallTime(<peripheral>_BASE_PTR, periphID, DMA_PDD_NO_STALL);
* @endcode
*/
#define DMA_PDD_SetStallTime(PeripheralBase, Channel, StallTime) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_CSR_BWC_MASK)) & ( \
(uint16)(~(uint16)0x2000U))))) | ( \
(uint16)(StallTime))) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Bandwidth control - forces DMA to stall after each r/w operation for
* selected period of time.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param StallTime Selects one of stall time values. This parameter is of "DMA
* stall time value." type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_SetStallTime(<peripheral>_BASE_PTR, periphID, DMA_PDD_NO_STALL);
* @endcode
*/
#define DMA_PDD_SetStallTime(PeripheralBase, Channel, StallTime) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_CSR_BWC_MASK)))) | ( \
(uint16)(StallTime))) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetStallTime
---------------------------------------------------------------------------- */
/**
* @brief Returns bandwidth control stall time value.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 2-bit value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* uint8 result = DMA_PDD_GetStallTime(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetStallTime(PeripheralBase, Channel) ( \
(uint8)(( \
(uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_BWC_MASK)) >> ( \
DMA_CSR_BWC_SHIFT)) \
)
/* ----------------------------------------------------------------------------
-- SetMajorLinkChannel
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Sets DMA channel major link number.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value DMA channel number. This parameter is a 2-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_SetMajorLinkChannel(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetMajorLinkChannel(PeripheralBase, Channel, Value) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_CSR_MAJORLINKCH_MASK)) & ( \
(uint16)(~(uint16)0x3C00U))))) | ( \
(uint16)((uint16)(Value) << DMA_CSR_MAJORLINKCH_SHIFT))) \
)
#elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)))
/**
* @brief Sets DMA channel major link number.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value DMA channel number. This parameter is a 5-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_SetMajorLinkChannel(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetMajorLinkChannel(PeripheralBase, Channel, Value) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_CSR_MAJORLINKCH_MASK)) & ( \
(uint16)(~(uint16)0x2000U))))) | ( \
(uint16)((uint16)(Value) << DMA_CSR_MAJORLINKCH_SHIFT))) \
)
#elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)))
/**
* @brief Sets DMA channel major link number.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value DMA channel number. This parameter is a 5-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_SetMajorLinkChannel(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetMajorLinkChannel(PeripheralBase, Channel, Value) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_CSR_MAJORLINKCH_MASK)))) | ( \
(uint16)((uint16)(Value) << DMA_CSR_MAJORLINKCH_SHIFT))) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Sets DMA channel major link number.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param Value DMA channel number. This parameter is a 4-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_SetMajorLinkChannel(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_SetMajorLinkChannel(PeripheralBase, Channel, Value) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_CSR_MAJORLINKCH_MASK)))) | ( \
(uint16)((uint16)(Value) << DMA_CSR_MAJORLINKCH_SHIFT))) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetMajorLinkChannel
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Returns DMA channel major link number.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 2-bit value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* uint8 result = DMA_PDD_GetMajorLinkChannel(<peripheral>_BASE_PTR,
* periphID);
* @endcode
*/
#define DMA_PDD_GetMajorLinkChannel(PeripheralBase, Channel) ( \
(uint8)(( \
(uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_MAJORLINKCH_MASK)) >> ( \
DMA_CSR_MAJORLINKCH_SHIFT)) \
)
#elif ((defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)))
/**
* @brief Returns DMA channel major link number.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 5-bit value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* uint8 result = DMA_PDD_GetMajorLinkChannel(<peripheral>_BASE_PTR,
* periphID);
* @endcode
*/
#define DMA_PDD_GetMajorLinkChannel(PeripheralBase, Channel) ( \
(uint8)(( \
(uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_MAJORLINKCH_MASK)) >> ( \
DMA_CSR_MAJORLINKCH_SHIFT)) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Returns DMA channel major link number.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 4-bit value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* uint8 result = DMA_PDD_GetMajorLinkChannel(<peripheral>_BASE_PTR,
* periphID);
* @endcode
*/
#define DMA_PDD_GetMajorLinkChannel(PeripheralBase, Channel) ( \
(uint8)(( \
(uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_MAJORLINKCH_MASK)) >> ( \
DMA_CSR_MAJORLINKCH_SHIFT)) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetChannelActivityFlags
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Returns DMA channel request pending, busy and done status.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Use constants from group "Channel activity status constants" for
* processing return value.
* @remarks The macro accesses the following registers: CSR[Channel],
* DSR_BCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint32 result =
* DMA_PDD_GetChannelActivityFlags(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetChannelActivityFlags(PeripheralBase, Channel) ( \
(uint32)(( \
DMA_DSR_BCR_REG(PeripheralBase,(Channel))) & ( \
(uint32)(DMA_DSR_BCR_REQ_MASK | (DMA_DSR_BCR_BSY_MASK | DMA_DSR_BCR_DONE_MASK)))) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Returns channel done and channel active status.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 16-bit value.
* @remarks The macro accesses the following registers: CSR[Channel],
* DSR_BCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint16 result =
* DMA_PDD_GetChannelActivityFlags(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetChannelActivityFlags(PeripheralBase, Channel) ( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & ( \
(uint16)(DMA_CSR_DONE_MASK | DMA_CSR_ACTIVE_MASK))) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- ClearChannelActivityFlags
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Clears channel activity status flags.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param ChannelActivityFlags DMA channel activity status flags. This parameter
* is a 16-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_ClearChannelActivityFlags(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_ClearChannelActivityFlags(PeripheralBase, Channel, ChannelActivityFlags) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) &= \
(uint16)((uint16)(~(uint16)(ChannelActivityFlags)) & (uint16)(~(uint16)0x3C00U)) \
)
#elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)))
/**
* @brief Clears channel activity status flags.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param ChannelActivityFlags DMA channel activity status flags. This parameter
* is a 16-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_ClearChannelActivityFlags(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_ClearChannelActivityFlags(PeripheralBase, Channel, ChannelActivityFlags) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) &= \
(uint16)((uint16)(~(uint16)(ChannelActivityFlags)) & (uint16)(~(uint16)0x2000U)) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Clears channel activity status flags.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param ChannelActivityFlags DMA channel activity status flags. This parameter
* is a 16-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_ClearChannelActivityFlags(<peripheral>_BASE_PTR, periphID, 1);
* @endcode
*/
#define DMA_PDD_ClearChannelActivityFlags(PeripheralBase, Channel, ChannelActivityFlags) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) &= \
(uint16)(~(uint16)(ChannelActivityFlags)) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetDoneFlag
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Returns channel done status.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: CSR[Channel],
* DSR_BCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint32 result = DMA_PDD_GetDoneFlag(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetDoneFlag(PeripheralBase, Channel) ( \
(uint32)(DMA_DSR_BCR_REG(PeripheralBase,(Channel)) & DMA_DSR_BCR_DONE_MASK) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Returns channel done status.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 16-bit value.
* @remarks The macro accesses the following registers: CSR[Channel],
* DSR_BCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint16 result = DMA_PDD_GetDoneFlag(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetDoneFlag(PeripheralBase, Channel) ( \
(uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_DONE_MASK) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetActiveFlag
---------------------------------------------------------------------------- */
/**
* @brief Returns channel active status.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 16-bit value.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* uint16 result = DMA_PDD_GetActiveFlag(<peripheral>_BASE_PTR,
* periphID);
* @endcode
*/
#define DMA_PDD_GetActiveFlag(PeripheralBase, Channel) ( \
(uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_ACTIVE_MASK) \
)
/* ----------------------------------------------------------------------------
-- EnableMajorLoopLinking
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Enables or disables DMA channel major loop linking.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param State Parameter specifying if DMA channel linking will be enabled or
* disabled. This parameter is of "Global enumeration used for specifying
* general enable/disable states (PDD_DISABLE and PDD_ENABLE defined in
* PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_EnableMajorLoopLinking(<peripheral>_BASE_PTR, periphID,
* PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableMajorLoopLinking(PeripheralBase, Channel, State) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_CSR_MAJORELINK_MASK)) & ( \
(uint16)(~(uint16)0x3C00U))))) | ( \
(uint16)((uint16)(State) << DMA_CSR_MAJORELINK_SHIFT))) \
)
#elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)))
/**
* @brief Enables or disables DMA channel major loop linking.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param State Parameter specifying if DMA channel linking will be enabled or
* disabled. This parameter is of "Global enumeration used for specifying
* general enable/disable states (PDD_DISABLE and PDD_ENABLE defined in
* PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_EnableMajorLoopLinking(<peripheral>_BASE_PTR, periphID,
* PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableMajorLoopLinking(PeripheralBase, Channel, State) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_CSR_MAJORELINK_MASK)) & ( \
(uint16)(~(uint16)0x2000U))))) | ( \
(uint16)((uint16)(State) << DMA_CSR_MAJORELINK_SHIFT))) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Enables or disables DMA channel major loop linking.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param State Parameter specifying if DMA channel linking will be enabled or
* disabled. This parameter is of "Global enumeration used for specifying
* general enable/disable states (PDD_DISABLE and PDD_ENABLE defined in
* PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_EnableMajorLoopLinking(<peripheral>_BASE_PTR, periphID,
* PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableMajorLoopLinking(PeripheralBase, Channel, State) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_CSR_MAJORELINK_MASK)))) | ( \
(uint16)((uint16)(State) << DMA_CSR_MAJORELINK_SHIFT))) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetMajorLoopLinkingEnabled
---------------------------------------------------------------------------- */
/**
* @brief Returns major loop linking state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 16-bit value.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* uint16 result =
* DMA_PDD_GetMajorLoopLinkingEnabled(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetMajorLoopLinkingEnabled(PeripheralBase, Channel) ( \
(uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_MAJORELINK_MASK) \
)
/* ----------------------------------------------------------------------------
-- EnableScatterGather
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Enables or disables DMA channel scatter/gather processing.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param State Parameter specifying if DMA channel scatter/gather processing
* will be enabled or disabled. This parameter is of "Global enumeration
* used for specifying general enable/disable states (PDD_DISABLE and
* PDD_ENABLE defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_EnableScatterGather(<peripheral>_BASE_PTR, periphID,
* PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableScatterGather(PeripheralBase, Channel, State) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_CSR_ESG_MASK)) & ( \
(uint16)(~(uint16)0x3C00U))))) | ( \
(uint16)((uint16)(State) << DMA_CSR_ESG_SHIFT))) \
)
#elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)))
/**
* @brief Enables or disables DMA channel scatter/gather processing.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param State Parameter specifying if DMA channel scatter/gather processing
* will be enabled or disabled. This parameter is of "Global enumeration
* used for specifying general enable/disable states (PDD_DISABLE and
* PDD_ENABLE defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_EnableScatterGather(<peripheral>_BASE_PTR, periphID,
* PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableScatterGather(PeripheralBase, Channel, State) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_CSR_ESG_MASK)) & ( \
(uint16)(~(uint16)0x2000U))))) | ( \
(uint16)((uint16)(State) << DMA_CSR_ESG_SHIFT))) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Enables or disables DMA channel scatter/gather processing.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param State Parameter specifying if DMA channel scatter/gather processing
* will be enabled or disabled. This parameter is of "Global enumeration
* used for specifying general enable/disable states (PDD_DISABLE and
* PDD_ENABLE defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_EnableScatterGather(<peripheral>_BASE_PTR, periphID,
* PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableScatterGather(PeripheralBase, Channel, State) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_CSR_ESG_MASK)))) | ( \
(uint16)((uint16)(State) << DMA_CSR_ESG_SHIFT))) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetScatterGatherEnabled
---------------------------------------------------------------------------- */
/**
* @brief Returns scatter/gather processing state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 16-bit value.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* uint16 result =
* DMA_PDD_GetScatterGatherEnabled(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetScatterGatherEnabled(PeripheralBase, Channel) ( \
(uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_ESG_MASK) \
)
/* ----------------------------------------------------------------------------
-- EnableRequestAutoDisable
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Enables or disables DMA channel automaticall request clearing.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param State Parameter specifying if DMA channel automaticall request
* clearing will be enabled or disabled. This parameter is of "Global enumeration
* used for specifying general enable/disable states (PDD_DISABLE and
* PDD_ENABLE defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_EnableRequestAutoDisable(<peripheral>_BASE_PTR, periphID,
* PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableRequestAutoDisable(PeripheralBase, Channel, State) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_CSR_DREQ_MASK)) & ( \
(uint16)(~(uint16)0x3C00U))))) | ( \
(uint16)((uint16)(State) << DMA_CSR_DREQ_SHIFT))) \
)
#elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)))
/**
* @brief Enables or disables DMA channel automaticall request clearing.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param State Parameter specifying if DMA channel automaticall request
* clearing will be enabled or disabled. This parameter is of "Global enumeration
* used for specifying general enable/disable states (PDD_DISABLE and
* PDD_ENABLE defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_EnableRequestAutoDisable(<peripheral>_BASE_PTR, periphID,
* PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableRequestAutoDisable(PeripheralBase, Channel, State) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_CSR_DREQ_MASK)) & ( \
(uint16)(~(uint16)0x2000U))))) | ( \
(uint16)((uint16)(State) << DMA_CSR_DREQ_SHIFT))) \
)
#elif ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Enables or disables DMA channel automaticall request clearing.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param State Parameter specifying if DMA channel automaticall request
* clearing will be enabled or disabled. This parameter is of "Global enumeration
* used for specifying general enable/disable states (PDD_DISABLE and
* PDD_ENABLE defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_EnableRequestAutoDisable(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0, PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableRequestAutoDisable(PeripheralBase, Channel, State) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(( \
DMA_DCR_REG(PeripheralBase,(Channel))) & ( \
(uint32)(~(uint32)DMA_DCR_D_REQ_MASK)))) | ( \
(uint32)((uint32)(State) << DMA_DCR_D_REQ_SHIFT))) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Enables or disables DMA channel automaticall request clearing.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param State Parameter specifying if DMA channel automaticall request
* clearing will be enabled or disabled. This parameter is of "Global enumeration
* used for specifying general enable/disable states (PDD_DISABLE and
* PDD_ENABLE defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_EnableRequestAutoDisable(<peripheral>_BASE_PTR, periphID,
* PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableRequestAutoDisable(PeripheralBase, Channel, State) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_CSR_DREQ_MASK)))) | ( \
(uint16)((uint16)(State) << DMA_CSR_DREQ_SHIFT))) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetRequestAutoDisableEnabled
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Returns automaticall request clearing state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: CSR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint32 result =
* DMA_PDD_GetRequestAutoDisableEnabled(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetRequestAutoDisableEnabled(PeripheralBase, Channel) ( \
(uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_D_REQ_MASK) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Returns automaticall request clearing state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 16-bit value.
* @remarks The macro accesses the following registers: CSR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint16 result =
* DMA_PDD_GetRequestAutoDisableEnabled(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetRequestAutoDisableEnabled(PeripheralBase, Channel) ( \
(uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_DREQ_MASK) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- EnableTransferCompleteInterrupt
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Enables or disables channel transfer complete interrupt.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param State Parameter specifying if DMA channel transfer complete interrupt
* will be enabled or disabled. This parameter is of "Global enumeration
* used for specifying general enable/disable states (PDD_DISABLE and
* PDD_ENABLE defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_EnableTransferCompleteInterrupt(<peripheral>_BASE_PTR,
* periphID, PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableTransferCompleteInterrupt(PeripheralBase, Channel, State) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_CSR_INTMAJOR_MASK)) & ( \
(uint16)(~(uint16)0x3C00U))))) | ( \
(uint16)((uint16)(State) << DMA_CSR_INTMAJOR_SHIFT))) \
)
#elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)))
/**
* @brief Enables or disables channel transfer complete interrupt.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param State Parameter specifying if DMA channel transfer complete interrupt
* will be enabled or disabled. This parameter is of "Global enumeration
* used for specifying general enable/disable states (PDD_DISABLE and
* PDD_ENABLE defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_EnableTransferCompleteInterrupt(<peripheral>_BASE_PTR,
* periphID, PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableTransferCompleteInterrupt(PeripheralBase, Channel, State) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_CSR_INTMAJOR_MASK)) & ( \
(uint16)(~(uint16)0x2000U))))) | ( \
(uint16)((uint16)(State) << DMA_CSR_INTMAJOR_SHIFT))) \
)
#elif ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Enables or disables channel transfer complete interrupt.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param State Parameter specifying if DMA channel transfer complete interrupt
* will be enabled or disabled. This parameter is of "Global enumeration
* used for specifying general enable/disable states (PDD_DISABLE and
* PDD_ENABLE defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_EnableTransferCompleteInterrupt(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0, PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableTransferCompleteInterrupt(PeripheralBase, Channel, State) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(( \
DMA_DCR_REG(PeripheralBase,(Channel))) & ( \
(uint32)(~(uint32)DMA_DCR_EINT_MASK)))) | ( \
(uint32)((uint32)(State) << DMA_DCR_EINT_SHIFT))) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Enables or disables channel transfer complete interrupt.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param State Parameter specifying if DMA channel transfer complete interrupt
* will be enabled or disabled. This parameter is of "Global enumeration
* used for specifying general enable/disable states (PDD_DISABLE and
* PDD_ENABLE defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* DMA_PDD_EnableTransferCompleteInterrupt(<peripheral>_BASE_PTR,
* periphID, PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableTransferCompleteInterrupt(PeripheralBase, Channel, State) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_CSR_INTMAJOR_MASK)))) | ( \
(uint16)((uint16)(State) << DMA_CSR_INTMAJOR_SHIFT))) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetTransferCompleteInterruptEnabled
---------------------------------------------------------------------------- */
#if ((defined(MCU_MKL04Z4)) || (defined(MCU_MKL05Z4)) || (defined(MCU_MKL14Z4)) || (defined(MCU_MKL15Z4)) || (defined(MCU_MKL16Z4)) || (defined(MCU_MKL24Z4)) || (defined(MCU_MKL25Z4)) || (defined(MCU_MKL26Z4)) || (defined(MCU_MKL34Z4)) || (defined(MCU_MKL36Z4)) || (defined(MCU_MKL46Z4)) || (defined(MCU_MKW01Z4)) || (defined(MCU_PCK20L4)))
/**
* @brief Returns transfer complete enable interrupt state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: CSR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint32 result =
* DMA_PDD_GetTransferCompleteInterruptEnabled(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetTransferCompleteInterruptEnabled(PeripheralBase, Channel) ( \
(uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_EINT_MASK) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Returns transfer complete enable interrupt state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 16-bit value.
* @remarks The macro accesses the following registers: CSR[Channel],
* DCR[Channel] (depending on the peripheral).
* @par Example:
* @code
* uint16 result =
* DMA_PDD_GetTransferCompleteInterruptEnabled(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetTransferCompleteInterruptEnabled(PeripheralBase, Channel) ( \
(uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_INTMAJOR_MASK) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F12810)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- EnableTransferHalfInterrupt
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK22F12810)) || (defined(MCU_MKV10Z7)) || (defined(MCU_MKV31F12810)))
/**
* @brief Enables or disables channel transfer half interrupt.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param State Parameter specifying if DMA channel transfer half interrupt will
* be enabled or disabled. This parameter is of "Global enumeration used
* for specifying general enable/disable states (PDD_DISABLE and
* PDD_ENABLE defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_EnableTransferHalfInterrupt(<peripheral>_BASE_PTR, periphID,
* PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableTransferHalfInterrupt(PeripheralBase, Channel, State) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_CSR_INTHALF_MASK)) & ( \
(uint16)(~(uint16)0x3C00U))))) | ( \
(uint16)((uint16)(State) << DMA_CSR_INTHALF_SHIFT))) \
)
#elif ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)))
/**
* @brief Enables or disables channel transfer half interrupt.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param State Parameter specifying if DMA channel transfer half interrupt will
* be enabled or disabled. This parameter is of "Global enumeration used
* for specifying general enable/disable states (PDD_DISABLE and
* PDD_ENABLE defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_EnableTransferHalfInterrupt(<peripheral>_BASE_PTR, periphID,
* PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableTransferHalfInterrupt(PeripheralBase, Channel, State) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & (( \
(uint16)(~(uint16)DMA_CSR_INTHALF_MASK)) & ( \
(uint16)(~(uint16)0x2000U))))) | ( \
(uint16)((uint16)(State) << DMA_CSR_INTHALF_SHIFT))) \
)
#else /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/**
* @brief Enables or disables channel transfer half interrupt.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @param State Parameter specifying if DMA channel transfer half interrupt will
* be enabled or disabled. This parameter is of "Global enumeration used
* for specifying general enable/disable states (PDD_DISABLE and
* PDD_ENABLE defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* DMA_PDD_EnableTransferHalfInterrupt(<peripheral>_BASE_PTR, periphID,
* PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableTransferHalfInterrupt(PeripheralBase, Channel, State) ( \
DMA_CSR_REG(PeripheralBase,(Channel)) = \
(uint16)(( \
(uint16)(( \
DMA_CSR_REG(PeripheralBase,(Channel))) & ( \
(uint16)(~(uint16)DMA_CSR_INTHALF_MASK)))) | ( \
(uint16)((uint16)(State) << DMA_CSR_INTHALF_SHIFT))) \
)
#endif /* (defined(MCU_MK10D10)) || (defined(MCU_MK10D5)) || (defined(MCU_MK10D7)) || (defined(MCU_MK10DZ10)) || (defined(MCU_MK10F12)) || (defined(MCU_MK11D5)) || (defined(MCU_MK11D5WS)) || (defined(MCU_MK12D5)) || (defined(MCU_MK20D10)) || (defined(MCU_MK20D5)) || (defined(MCU_MK20D7)) || (defined(MCU_MK20DZ10)) || (defined(MCU_MK20F12)) || (defined(MCU_MK21D5)) || (defined(MCU_MK21D5WS)) || (defined(MCU_MK21F12)) || (defined(MCU_MK21F12WS)) || (defined(MCU_MK22D5)) || (defined(MCU_MK22F12)) || (defined(MCU_MK22F25612)) || (defined(MCU_MK22F51212)) || (defined(MCU_MK24F12)) || (defined(MCU_MK30D10)) || (defined(MCU_MK30D7)) || (defined(MCU_MK30DZ10)) || (defined(MCU_MK40D10)) || (defined(MCU_MK40D7)) || (defined(MCU_MK40DZ10)) || (defined(MCU_MK40X256VMD100)) || (defined(MCU_MK50D10)) || (defined(MCU_MK50D7)) || (defined(MCU_MK50DZ10)) || (defined(MCU_MK51D10)) || (defined(MCU_MK51D7)) || (defined(MCU_MK51DZ10)) || (defined(MCU_MK52D10)) || (defined(MCU_MK52DZ10)) || (defined(MCU_MK53D10)) || (defined(MCU_MK53DZ10)) || (defined(MCU_MK60D10)) || (defined(MCU_MK60DZ10)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK60N512VMD100)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK63F12)) || (defined(MCU_MK63F12WS)) || (defined(MCU_MK64F12)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) || (defined(MCU_MKV31F25612)) || (defined(MCU_MKV31F51212)) || (defined(MCU_MKW21D5)) || (defined(MCU_MKW21D5WS)) || (defined(MCU_MKW22D5)) || (defined(MCU_MKW22D5WS)) || (defined(MCU_MKW24D5)) || (defined(MCU_MKW24D5WS)) */
/* ----------------------------------------------------------------------------
-- GetTransferHalfInterruptEnabled
---------------------------------------------------------------------------- */
/**
* @brief Returns transfer half enable interrupt state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. This parameter is of index type.
* @return Returns a 16-bit value.
* @remarks The macro accesses the following registers: CSR[Channel].
* @par Example:
* @code
* uint16 result =
* DMA_PDD_GetTransferHalfInterruptEnabled(<peripheral>_BASE_PTR, periphID);
* @endcode
*/
#define DMA_PDD_GetTransferHalfInterruptEnabled(PeripheralBase, Channel) ( \
(uint16)(DMA_CSR_REG(PeripheralBase,(Channel)) & DMA_CSR_INTHALF_MASK) \
)
/* ----------------------------------------------------------------------------
-- SetChannelGroup1Priority
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)))
/**
* @brief Sets group 1 priority level.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Priority Parameter specifying group priority 1 level when fixed
* priority group arbitration is enabled. This parameter is a 1-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CR.
* @par Example:
* @code
* DMA_PDD_SetChannelGroup1Priority(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_SetChannelGroup1Priority(PeripheralBase, Priority) ( \
DMA_CR_REG(PeripheralBase) = \
(uint32)(( \
(uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_GRP1PRI_MASK))) | ( \
(uint32)((uint32)(Priority) << DMA_CR_GRP1PRI_SHIFT))) \
)
#else /* (defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) */
/**
* @brief Sets group 1 priority level.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Priority Parameter specifying group priority 1 level when fixed
* priority group arbitration is enabled. This parameter is a 2-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CR.
* @par Example:
* @code
* DMA_PDD_SetChannelGroup1Priority(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_SetChannelGroup1Priority(PeripheralBase, Priority) ( \
DMA_CR_REG(PeripheralBase) = \
(uint32)(( \
(uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_GRP1PRI_MASK))) | ( \
(uint32)((uint32)(Priority) << DMA_CR_GRP1PRI_SHIFT))) \
)
#endif /* (defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) */
/* ----------------------------------------------------------------------------
-- SetChannelGroup0Priority
---------------------------------------------------------------------------- */
#if ((defined(MCU_MK65F18)) || (defined(MCU_MK65F18WS)) || (defined(MCU_MK66F18)))
/**
* @brief Sets group 0 priority level.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Priority Parameter specifying group priority 1 level when fixed
* priority group arbitration is enabled. This parameter is a 1-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CR.
* @par Example:
* @code
* DMA_PDD_SetChannelGroup0Priority(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_SetChannelGroup0Priority(PeripheralBase, Priority) ( \
DMA_CR_REG(PeripheralBase) = \
(uint32)(( \
(uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_GRP0PRI_MASK))) | ( \
(uint32)((uint32)(Priority) << DMA_CR_GRP0PRI_SHIFT))) \
)
#else /* (defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) */
/**
* @brief Sets group 0 priority level.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Priority Parameter specifying group priority 1 level when fixed
* priority group arbitration is enabled. This parameter is a 2-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CR.
* @par Example:
* @code
* DMA_PDD_SetChannelGroup0Priority(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_SetChannelGroup0Priority(PeripheralBase, Priority) ( \
DMA_CR_REG(PeripheralBase) = \
(uint32)(( \
(uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_GRP0PRI_MASK))) | ( \
(uint32)((uint32)(Priority) << DMA_CR_GRP0PRI_SHIFT))) \
)
#endif /* (defined(MCU_MK10F12)) || (defined(MCU_MK20F12)) || (defined(MCU_MK60F12)) || (defined(MCU_MK60F15)) || (defined(MCU_MK61F12)) || (defined(MCU_MK61F12WS)) || (defined(MCU_MK61F15)) || (defined(MCU_MK61F15WS)) || (defined(MCU_MK70F12)) || (defined(MCU_MK70F12WS)) || (defined(MCU_MK70F15)) || (defined(MCU_MK70F15WS)) */
/* ----------------------------------------------------------------------------
-- EnableRoundRobinGroupArbitration
---------------------------------------------------------------------------- */
/**
* @brief Enables or disables round robin group arbitration.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param State Parameter specifying if round robin group arbitration is enabled
* or disabled. This parameter is of "Global enumeration used for
* specifying general enable/disable states (PDD_DISABLE and PDD_ENABLE defined
* in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_CR.
* @par Example:
* @code
* DMA_PDD_EnableRoundRobinGroupArbitration(<peripheral>_BASE_PTR,
* PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableRoundRobinGroupArbitration(PeripheralBase, State) ( \
DMA_CR_REG(PeripheralBase) = \
(uint32)(( \
(uint32)(DMA_CR_REG(PeripheralBase) & (uint32)(~(uint32)DMA_CR_ERGA_MASK))) | ( \
(uint32)((uint32)(State) << DMA_CR_ERGA_SHIFT))) \
)
/* ----------------------------------------------------------------------------
-- GetRoundRobinGroupArbitrationEnabled
---------------------------------------------------------------------------- */
/**
* @brief Returns round robin group arbitration state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_CR.
* @par Example:
* @code
* uint32 result =
* DMA_PDD_GetRoundRobinGroupArbitrationEnabled(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_GetRoundRobinGroupArbitrationEnabled(PeripheralBase) ( \
(uint32)(DMA_CR_REG(PeripheralBase) & DMA_CR_ERGA_MASK) \
)
/* ----------------------------------------------------------------------------
-- GetChannelGroupPriority
---------------------------------------------------------------------------- */
/**
* @brief Returns group priority assigned to specified DMA channel.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel index. This parameter is of index type.
* @return Returns a 2-bit value. The value is cast to "uint8".
* @par Example:
* @code
* uint8 result = DMA_PDD_GetChannelGroupPriority(<peripheral>_BASE_PTR,
* periphID);
* @endcode
*/
#define DMA_PDD_GetChannelGroupPriority(PeripheralBase, Channel) ( \
(uint8)( \
(DMA_PDD_DCHPRI_REG(PeripheralBase, Channel) & DMA_DCHPRI3_GRPPRI_MASK) >> DMA_DCHPRI3_GRPPRI_SHIFT \
) \
)
/* ----------------------------------------------------------------------------
-- EnableAsyncRequestInStopMask
---------------------------------------------------------------------------- */
/**
* @brief Enables DMA channels asynchrounous requests in stop mode specified by
* Mask parameter, rest is not changed.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Mask Mask of DMA requests to be enabled. This parameter is a 4-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_EARS.
* @par Example:
* @code
* DMA_PDD_EnableAsyncRequestInStopMask(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_EnableAsyncRequestInStopMask(PeripheralBase, Mask) ( \
DMA_EARS_REG(PeripheralBase) |= \
(uint32)(Mask) \
)
/* ----------------------------------------------------------------------------
-- DisableAsyncRequestInStopMask
---------------------------------------------------------------------------- */
/**
* @brief Disables DMA channels asynchrounous requests in stop mode specified by
* Mask parameter, rest is not changed.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Mask Mask of DMA requests to be disabled. This parameter is a 4-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_EARS.
* @par Example:
* @code
* DMA_PDD_DisableAsyncRequestInStopMask(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_DisableAsyncRequestInStopMask(PeripheralBase, Mask) ( \
DMA_EARS_REG(PeripheralBase) &= \
(uint32)(~(uint32)(Mask)) \
)
/* ----------------------------------------------------------------------------
-- SetAsyncRequestInStopMask
---------------------------------------------------------------------------- */
/**
* @brief Sets mask of DMA channels enabled for asynchronous requests.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Mask Mask of DMA requests to be enabled. This parameter is a 4-bit
* value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_EARS.
* @par Example:
* @code
* DMA_PDD_SetAsyncRequestInStopMask(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_SetAsyncRequestInStopMask(PeripheralBase, Mask) ( \
DMA_EARS_REG(PeripheralBase) = \
(uint32)(Mask) \
)
/* ----------------------------------------------------------------------------
-- GetAsyncRequestInStopMask
---------------------------------------------------------------------------- */
/**
* @brief Returns mask of DMA channels enabled for asynchronous request.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_EARS.
* @par Example:
* @code
* uint32 result =
* DMA_PDD_GetAsyncRequestInStopMask(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_GetAsyncRequestInStopMask(PeripheralBase) ( \
DMA_EARS_REG(PeripheralBase) \
)
/* ----------------------------------------------------------------------------
-- WriteEnableAsyncRequestInStopReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA enable asynchronous request in STOP register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Value Register value. This parameter is a 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DMA_EARS.
* @par Example:
* @code
* DMA_PDD_WriteEnableAsyncRequestInStopReg(<peripheral>_BASE_PTR, 1);
* @endcode
*/
#define DMA_PDD_WriteEnableAsyncRequestInStopReg(PeripheralBase, Value) ( \
DMA_EARS_REG(PeripheralBase) = \
(uint32)(Value) \
)
/* ----------------------------------------------------------------------------
-- ReadEnableAsyncRequestInStopReg
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA enable asynchronous request in STOP register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DMA_EARS.
* @par Example:
* @code
* uint32 result =
* DMA_PDD_ReadEnableAsyncRequestInStopReg(<peripheral>_BASE_PTR);
* @endcode
*/
#define DMA_PDD_ReadEnableAsyncRequestInStopReg(PeripheralBase) ( \
DMA_EARS_REG(PeripheralBase) \
)
/* ----------------------------------------------------------------------------
-- EnableInterrupts;
---------------------------------------------------------------------------- */
/**
* @brief Enables interrupts defined by mask parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param Mask Mask of interrupts to enable. Use constants from group
* "Interrupts' mask". This parameter is 32 bits wide.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* DMA_PDD_EnableInterrupts(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0,
* DMA_PDD_TRANSFER_COMPLETE_INTERRUPT);
* @endcode
*/
#define DMA_PDD_EnableInterrupts(PeripheralBase, Channel, Mask) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) |= \
(uint32)(Mask) \
)
/* ----------------------------------------------------------------------------
-- DisableInterrupts
---------------------------------------------------------------------------- */
/**
* @brief Disables interrupts defined by mask parameter.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param Mask Mask of interrupts to disable. Use constants from group
* "Interrupts' mask". This parameter is 32 bits wide.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* DMA_PDD_DisableInterrupts(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0,
* DMA_PDD_TRANSFER_COMPLETE_INTERRUPT);
* @endcode
*/
#define DMA_PDD_DisableInterrupts(PeripheralBase, Channel, Mask) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) &= \
(uint32)(~(uint32)(Mask)) \
)
/* ----------------------------------------------------------------------------
-- GetInterruptFlags
---------------------------------------------------------------------------- */
/**
* @brief Returns interrupt flag bits.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Use constants from group "Interrupts' flags" for processing return
* value.
* @remarks The macro accesses the following registers: DSR_BCR[Channel].
* @par Example:
* @code
* uint32 result = DMA_PDD_GetInterruptFlags(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetInterruptFlags(PeripheralBase, Channel) ( \
(uint32)(DMA_DSR_BCR_REG(PeripheralBase,(Channel)) & DMA_DSR_BCR_DONE_MASK) \
)
/* ----------------------------------------------------------------------------
-- WriteStatusByteCountReg
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA channel status and byte count control register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param Value DMA channel request control register value. This parameter is a
* 32-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DSR_BCR[Channel].
* @par Example:
* @code
* DMA_PDD_WriteStatusByteCountReg(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0, 1);
* @endcode
*/
#define DMA_PDD_WriteStatusByteCountReg(PeripheralBase, Channel, Value) ( \
DMA_DSR_BCR_REG(PeripheralBase,(Channel)) = \
(uint32)(Value) \
)
/* ----------------------------------------------------------------------------
-- WriteStatusByteCountRegister
---------------------------------------------------------------------------- */
/**
* @brief Deprecated. Use WriteStatusByteCountReg PDD macro instead.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param Value DMA channel request control register value. This parameter is a
* 32-bit value.
* @return Returns a value of void type.
* @par Example:
* @code
* DMA_PDD_WriteStatusByteCountRegister(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0, 1);
* @endcode
*/
#define DMA_PDD_WriteStatusByteCountRegister(PeripheralBase, Channel, Value) ( \
DMA_PDD_WriteStatusByteCountReg(PeripheralBase, (Channel), (uint32)(Value)) \
)
/* ----------------------------------------------------------------------------
-- ReadStatusByteCountReg
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel status and byte count register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DSR_BCR[Channel].
* @par Example:
* @code
* uint32 result = DMA_PDD_ReadStatusByteCountReg(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_ReadStatusByteCountReg(PeripheralBase, Channel) ( \
DMA_DSR_BCR_REG(PeripheralBase,(Channel)) \
)
/* ----------------------------------------------------------------------------
-- GetStatusByteCountRegister
---------------------------------------------------------------------------- */
/**
* @brief Deprecated. Use ReadStatusByteCountReg PDD macro instead.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DSR_BCR[Channel].
* @par Example:
* @code
* uint32 result =
* DMA_PDD_GetStatusByteCountRegister(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetStatusByteCountRegister(PeripheralBase, Channel) ( \
DMA_DSR_BCR_REG(PeripheralBase,(Channel)) \
)
/* ----------------------------------------------------------------------------
-- WriteStatusRegister
---------------------------------------------------------------------------- */
/**
* @brief Writes to DMA channel status register.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param Value DMA channel request control register value. This parameter is a
* 8-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DSR[Channel].
* @par Example:
* @code
* DMA_PDD_WriteStatusRegister(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0,
* 1);
* @endcode
*/
#define DMA_PDD_WriteStatusRegister(PeripheralBase, Channel, Value) ( \
DMA_DSR_REG(PeripheralBase,(Channel)) = \
(uint8)(Value) \
)
/* ----------------------------------------------------------------------------
-- GetStatusRegister
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel status register provading information about last
* recorded channel error.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 8-bit value.
* @remarks The macro accesses the following registers: DSR[Channel].
* @par Example:
* @code
* uint8 result = DMA_PDD_GetStatusRegister(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetStatusRegister(PeripheralBase, Channel) ( \
DMA_DSR_REG(PeripheralBase,(Channel)) \
)
/* ----------------------------------------------------------------------------
-- GetBusyFlag
---------------------------------------------------------------------------- */
/**
* @brief Returns channel busy status.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DSR_BCR[Channel].
* @par Example:
* @code
* uint32 result = DMA_PDD_GetBusyFlag(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetBusyFlag(PeripheralBase, Channel) ( \
(uint32)(DMA_DSR_BCR_REG(PeripheralBase,(Channel)) & DMA_DSR_BCR_BSY_MASK) \
)
/* ----------------------------------------------------------------------------
-- GetRequestPendingFlag
---------------------------------------------------------------------------- */
/**
* @brief Returns channel request pending status.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DSR_BCR[Channel].
* @par Example:
* @code
* uint32 result = DMA_PDD_GetRequestPendingFlag(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetRequestPendingFlag(PeripheralBase, Channel) ( \
(uint32)(DMA_DSR_BCR_REG(PeripheralBase,(Channel)) & DMA_DSR_BCR_REQ_MASK) \
)
/* ----------------------------------------------------------------------------
-- GetChannelErrorFlags
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel configuration error, bus error on source and bus
* error on destination status.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Use constants from group "Channel error status constants" for
* processing return value.
* @remarks The macro accesses the following registers: DSR_BCR[Channel].
* @par Example:
* @code
* uint32 result = DMA_PDD_GetChannelErrorFlags(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetChannelErrorFlags(PeripheralBase, Channel) ( \
(uint32)(( \
DMA_DSR_BCR_REG(PeripheralBase,(Channel))) & ( \
(uint32)(DMA_DSR_BCR_CE_MASK | (DMA_DSR_BCR_BES_MASK | DMA_DSR_BCR_BED_MASK)))) \
)
/* ----------------------------------------------------------------------------
-- SetByteCount
---------------------------------------------------------------------------- */
/**
* @brief Sets DMA channel byte transfer count.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param Value 24-bit DMA channel byte count. This parameter is a 24-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DSR_BCR[Channel].
* @par Example:
* @code
* DMA_PDD_SetByteCount(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0, 1);
* @endcode
*/
#define DMA_PDD_SetByteCount(PeripheralBase, Channel, Value) ( \
DMA_DSR_BCR_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(( \
DMA_DSR_BCR_REG(PeripheralBase,(Channel))) & (( \
(uint32)(~(uint32)DMA_DSR_BCR_BCR_MASK)) & ( \
(uint32)(~(uint32)DMA_DSR_BCR_DONE_MASK))))) | ( \
(uint32)(Value))) \
)
/* ----------------------------------------------------------------------------
-- GetByteCount
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel byte transfer count.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DSR_BCR[Channel].
* @par Example:
* @code
* uint32 result = DMA_PDD_GetByteCount(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetByteCount(PeripheralBase, Channel) ( \
(uint32)(DMA_DSR_BCR_REG(PeripheralBase,(Channel)) & DMA_DSR_BCR_BCR_MASK) \
)
/* ----------------------------------------------------------------------------
-- GetPeripheralRequestEnabled
---------------------------------------------------------------------------- */
/**
* @brief Returns peripheral requests enable state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* uint32 result =
* DMA_PDD_GetPeripheralRequestEnabled(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetPeripheralRequestEnabled(PeripheralBase, Channel) ( \
(uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_ERQ_MASK) \
)
/* ----------------------------------------------------------------------------
-- EnableCycleSteal
---------------------------------------------------------------------------- */
/**
* @brief Enables or disables cycle steal mode (single read/write transfer per
* request).
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param State Parameter specifying if DMA channel cycle-steal mode will be
* enabled or disabled. This parameter is of "Global enumeration used for
* specifying general enable/disable states (PDD_DISABLE and PDD_ENABLE
* defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* DMA_PDD_EnableCycleSteal(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0,
* PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableCycleSteal(PeripheralBase, Channel, State) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & (uint32)(~(uint32)DMA_DCR_CS_MASK))) | ( \
(uint32)((uint32)(State) << DMA_DCR_CS_SHIFT))) \
)
/* ----------------------------------------------------------------------------
-- GetCycleStealEnabled
---------------------------------------------------------------------------- */
/**
* @brief Returns cycle steal mode state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* uint32 result = DMA_PDD_GetCycleStealEnabled(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetCycleStealEnabled(PeripheralBase, Channel) ( \
(uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_CS_MASK) \
)
/* ----------------------------------------------------------------------------
-- EnableContinuousMode
---------------------------------------------------------------------------- */
/**
* @brief Enables or disables continuous mode (whole transfer per request).
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param State Parameter specifying if DMA channel continuous mode will be
* enabled or disabled. This parameter is of "Global enumeration used for
* specifying general enable/disable states (PDD_DISABLE and PDD_ENABLE
* defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* DMA_PDD_EnableContinuousMode(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0,
* PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableContinuousMode(PeripheralBase, Channel, State) ( \
((State) == PDD_DISABLE) ? ( \
DMA_DCR_REG(PeripheralBase,(Channel)) |= \
DMA_DCR_CS_MASK) : ( \
DMA_DCR_REG(PeripheralBase,(Channel)) &= \
(uint32)(~(uint32)DMA_DCR_CS_MASK)) \
)
/* ----------------------------------------------------------------------------
-- GetContinuousModeEnabled
---------------------------------------------------------------------------- */
/**
* @brief Returns continuous mode state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a value of "Global enumeration used for specifying general
* enable/disable states (PDD_DISABLE and PDD_ENABLE defined in
* PDD_Types.h)" type. The value is cast to "uint8".
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* uint8 result =
* DMA_PDD_GetContinuousModeEnabled(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetContinuousModeEnabled(PeripheralBase, Channel) ( \
((uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_CS_MASK) == 0U) ? ( \
PDD_ENABLE) : ( \
PDD_DISABLE) \
)
/* ----------------------------------------------------------------------------
-- EnableAutoAlign
---------------------------------------------------------------------------- */
/**
* @brief Enables or disables auto-align mode.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param State Parameter specifying if DMA channel transfers will be transfers
* are optimized based on the address and size or not. This parameter is
* of "Global enumeration used for specifying general enable/disable states
* (PDD_DISABLE and PDD_ENABLE defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* DMA_PDD_EnableAutoAlign(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0,
* PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableAutoAlign(PeripheralBase, Channel, State) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & (uint32)(~(uint32)DMA_DCR_AA_MASK))) | ( \
(uint32)((uint32)(State) << DMA_DCR_AA_SHIFT))) \
)
/* ----------------------------------------------------------------------------
-- GetAutoAlignEnabled
---------------------------------------------------------------------------- */
/**
* @brief Returns auto-align mode state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* uint32 result = DMA_PDD_GetAutoAlignEnabled(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetAutoAlignEnabled(PeripheralBase, Channel) ( \
(uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_AA_MASK) \
)
/* ----------------------------------------------------------------------------
-- EnableAsynchronousRequests
---------------------------------------------------------------------------- */
/**
* @brief Enables or disables asynchronous requests.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param State Parameter specifying if DMA channel transfers will be transfers
* are optimized based on the address and size or not. This parameter is
* of "Global enumeration used for specifying general enable/disable states
* (PDD_DISABLE and PDD_ENABLE defined in PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* DMA_PDD_EnableAsynchronousRequests(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0, PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableAsynchronousRequests(PeripheralBase, Channel, State) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(( \
DMA_DCR_REG(PeripheralBase,(Channel))) & ( \
(uint32)(~(uint32)DMA_DCR_EADREQ_MASK)))) | ( \
(uint32)((uint32)(State) << DMA_DCR_EADREQ_SHIFT))) \
)
/* ----------------------------------------------------------------------------
-- GetAsynchronousRequestsEnabled
---------------------------------------------------------------------------- */
/**
* @brief Returns auto-align mode state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* uint32 result =
* DMA_PDD_GetAsynchronousRequestsEnabled(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetAsynchronousRequestsEnabled(PeripheralBase, Channel) ( \
(uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_EADREQ_MASK) \
)
/* ----------------------------------------------------------------------------
-- EnableSourceAddressIncrement
---------------------------------------------------------------------------- */
/**
* @brief Enables or disables source address incrementation.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param State Parameter specifying if DMA channel source address increments
* after each successful transfer (according to transfer size) or not. This
* parameter is of "Global enumeration used for specifying general
* enable/disable states (PDD_DISABLE and PDD_ENABLE defined in PDD_Types.h)"
* type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* DMA_PDD_EnableSourceAddressIncrement(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0, PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableSourceAddressIncrement(PeripheralBase, Channel, State) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(( \
DMA_DCR_REG(PeripheralBase,(Channel))) & ( \
(uint32)(~(uint32)DMA_DCR_SINC_MASK)))) | ( \
(uint32)((uint32)(State) << DMA_DCR_SINC_SHIFT))) \
)
/* ----------------------------------------------------------------------------
-- GetSourceAddressIncrementEnabled
---------------------------------------------------------------------------- */
/**
* @brief Returns source address incrementation enable state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* uint32 result =
* DMA_PDD_GetSourceAddressIncrementEnabled(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetSourceAddressIncrementEnabled(PeripheralBase, Channel) ( \
(uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_SINC_MASK) \
)
/* ----------------------------------------------------------------------------
-- EnableDestinationAddressIncrement
---------------------------------------------------------------------------- */
/**
* @brief Enables or disables destination address incrementation.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param State Parameter specifying if DMA channel destination address
* increments after each successful transfer (according to transfer size) or not.
* This parameter is of "Global enumeration used for specifying general
* enable/disable states (PDD_DISABLE and PDD_ENABLE defined in
* PDD_Types.h)" type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* DMA_PDD_EnableDestinationAddressIncrement(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0, PDD_DISABLE);
* @endcode
*/
#define DMA_PDD_EnableDestinationAddressIncrement(PeripheralBase, Channel, State) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(( \
DMA_DCR_REG(PeripheralBase,(Channel))) & ( \
(uint32)(~(uint32)DMA_DCR_DINC_MASK)))) | ( \
(uint32)((uint32)(State) << DMA_DCR_DINC_SHIFT))) \
)
/* ----------------------------------------------------------------------------
-- GetDestinationAddressIncrementEnabled
---------------------------------------------------------------------------- */
/**
* @brief Returns destination address incrementation enable state.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 32-bit value.
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* uint32 result =
* DMA_PDD_GetDestinationAddressIncrementEnabled(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetDestinationAddressIncrementEnabled(PeripheralBase, Channel) ( \
(uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_DINC_MASK) \
)
/* ----------------------------------------------------------------------------
-- SetChannelLinkingMode
---------------------------------------------------------------------------- */
/**
* @brief Sets DMA channel linking mode.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param Mode DMA channel linking mode. This parameter is of "DMA data transfer
* size." type.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* DMA_PDD_SetChannelLinkingMode(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0,
* DMA_PDD_LINKING_DISABLED);
* @endcode
*/
#define DMA_PDD_SetChannelLinkingMode(PeripheralBase, Channel, Mode) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(( \
DMA_DCR_REG(PeripheralBase,(Channel))) & ( \
(uint32)(~(uint32)DMA_DCR_LINKCC_MASK)))) | ( \
(uint32)(Mode))) \
)
/* ----------------------------------------------------------------------------
-- GetChannelLinkingMode
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel linking mode.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 2-bit value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* uint8 result = DMA_PDD_GetChannelLinkingMode(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetChannelLinkingMode(PeripheralBase, Channel) ( \
(uint8)(( \
(uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_LINKCC_MASK)) >> ( \
DMA_DCR_LINKCC_SHIFT)) \
)
/* ----------------------------------------------------------------------------
-- SetLinkChannel1
---------------------------------------------------------------------------- */
/**
* @brief Sets DMA channel link 1.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param Value Linked DMA channel number. Use constants from group "DMA channel
* constants". This parameter is a 2-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* DMA_PDD_SetLinkChannel1(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0, 1);
* @endcode
*/
#define DMA_PDD_SetLinkChannel1(PeripheralBase, Channel, Value) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(( \
DMA_DCR_REG(PeripheralBase,(Channel))) & ( \
(uint32)(~(uint32)DMA_DCR_LCH1_MASK)))) | ( \
(uint32)((uint32)(Value) << DMA_DCR_LCH1_SHIFT))) \
)
/* ----------------------------------------------------------------------------
-- GetLinkChannel1
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel link 1 channel number. Use constants from group
* "DMA channel constants" for processing return value.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 2-bit value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* uint8 result = DMA_PDD_GetLinkChannel1(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetLinkChannel1(PeripheralBase, Channel) ( \
(uint8)(( \
(uint32)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_LCH1_MASK)) >> ( \
DMA_DCR_LCH1_SHIFT)) \
)
/* ----------------------------------------------------------------------------
-- SetLinkChannel2
---------------------------------------------------------------------------- */
/**
* @brief Sets DMA channel link 2.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @param Value Linked DMA channel number. Use constants from group "DMA channel
* constants". This parameter is a 2-bit value.
* @return Returns a value of void type.
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* DMA_PDD_SetLinkChannel2(<peripheral>_BASE_PTR, DMA_PDD_CHANNEL_0, 1);
* @endcode
*/
#define DMA_PDD_SetLinkChannel2(PeripheralBase, Channel, Value) ( \
DMA_DCR_REG(PeripheralBase,(Channel)) = \
(uint32)(( \
(uint32)(( \
DMA_DCR_REG(PeripheralBase,(Channel))) & ( \
(uint32)(~(uint32)DMA_DCR_LCH2_MASK)))) | ( \
(uint32)(Value))) \
)
/* ----------------------------------------------------------------------------
-- GetLinkChannel2
---------------------------------------------------------------------------- */
/**
* @brief Returns DMA channel link 2 channel number. Use constants from group
* "DMA channel constants" for processing return value.
* @param PeripheralBase Pointer to a peripheral registers structure (peripheral
* base address). You can use the constant defined in the registers
* definition header file (<peripheral>_BASE_PTR) or the constant defined in
* the peripheral initialization component header file
* (<component_name>_DEVICE).
* @param Channel DMA channel number. Use constants from group "DMA channel
* constants". This parameter is 2 bits wide.
* @return Returns a 2-bit value. The value is cast to "uint8".
* @remarks The macro accesses the following registers: DCR[Channel].
* @par Example:
* @code
* uint8 result = DMA_PDD_GetLinkChannel2(<peripheral>_BASE_PTR,
* DMA_PDD_CHANNEL_0);
* @endcode
*/
#define DMA_PDD_GetLinkChannel2(PeripheralBase, Channel) ( \
(uint8)(DMA_DCR_REG(PeripheralBase,(Channel)) & DMA_DCR_LCH2_MASK) \
)
#endif /* #if defined(DMA_PDD_H_) */
/* DMA_PDD.h, eof. */