1 /* 2 * Copyright (c) 2024 Microchip Technology Inc. 3 * 4 * SPDX-License-Identifier: Apache-2.0 5 */ 6 #ifndef _MEC5_DMAC_V2_CH16_H 7 #define _MEC5_DMAC_V2_CH16_H 8 9 /** @addtogroup Device_Peripheral_clusters 10 * @{ 11 */ 12 13 /** 14 * @brief MEC_DMA_CHAN [CHAN] (DMA Channel) 15 */ 16 typedef struct mec_dma_chan_regs { 17 __IOM uint32_t ACTV; /*!< (@ 0x00000000) Channel n Activate */ 18 __IOM uint32_t MSTART; /*!< (@ 0x00000004) Channel n Memory start address */ 19 __IOM uint32_t MEND; /*!< (@ 0x00000008) Channel n Memory end address */ 20 __IOM uint32_t DSTART; /*!< (@ 0x0000000C) Channel n Device start address */ 21 __IOM uint32_t CTRL; /*!< (@ 0x00000010) Channel n Control */ 22 __IOM uint32_t ISTATUS; /*!< (@ 0x00000014) Channel n Interrupt status */ 23 __IOM uint32_t IEN; /*!< (@ 0x00000018) Channel n Interrupt enable */ 24 __IM uint32_t FSM; /*!< (@ 0x0000001C) Channel n FSM(RO) */ 25 __IOM uint32_t ALU_EN; /*!< (@ 0x00000020) Channel 0-1 only, ALU Enable */ 26 __IOM uint32_t ALU_DATA; /*!< (@ 0x00000024) Channel 0-1 only, ALU Data */ 27 __IOM uint32_t ALU_PSTS; /*!< (@ 0x00000028) Channel 0-1 only, ALU Post status */ 28 __IOM uint32_t ALU_FSM; /*!< (@ 0x0000002C) Channel 0-1 only, ALU FSM(RO) */ 29 __IM uint32_t RESERVED[4]; 30 } MEC_DMA_CHAN_Type; /*!< Size = 64 (0x40) */ 31 32 /** @} */ /* End of group Device_Peripheral_clusters */ 33 34 /** @addtogroup Device_Peripheral_peripherals 35 * @{ 36 */ 37 38 /** 39 * @brief Internal DMA (MEC_DMAC) 40 */ 41 42 typedef struct mec_dmac_regs { /*!< (@ 0x40002400) MEC_DMAC Structure */ 43 __IOM uint32_t MCTRL; /*!< (@ 0x00000000) DMA Main Control */ 44 __IM uint32_t DM_DPKT; /*!< (@ 0x00000004) DMA Main Data Packet(RO) */ 45 __IM uint32_t DM_FSM; /*!< (@ 0x00000008) DMA Main FSM(RO) */ 46 __IM uint32_t RESERVED[13]; 47 MEC_DMA_CHAN_Type CHAN[16]; /*!< (@ 0x00000040) DMA Channel */ 48 } MEC_DMAC_Type; /*!< Size = 1088 (0x440) */ 49 50 /** @} */ /* End of group Device_Peripheral_peripherals */ 51 52 /** @addtogroup PosMask_clusters 53 * @{ 54 */ 55 /* ========================================================= ACTV ========================================================== */ 56 #define MEC_DMA_CHAN_ACTV_EN_Pos (0UL) /*!< EN (Bit 0) */ 57 #define MEC_DMA_CHAN_ACTV_EN_Msk (0x1UL) /*!< EN (Bitfield-Mask: 0x01) */ 58 /* ======================================================== MSTART ========================================================= */ 59 /* ========================================================= MEND ========================================================== */ 60 /* ======================================================== DSTART ========================================================= */ 61 /* ========================================================= CTRL ========================================================== */ 62 #define MEC_DMA_CHAN_CTRL_HFC_RUN_Pos (0UL) /*!< HFC_RUN (Bit 0) */ 63 #define MEC_DMA_CHAN_CTRL_HFC_RUN_Msk (0x1UL) /*!< HFC_RUN (Bitfield-Mask: 0x01) */ 64 #define MEC_DMA_CHAN_CTRL_REQSTS_Pos (1UL) /*!< REQSTS (Bit 1) */ 65 #define MEC_DMA_CHAN_CTRL_REQSTS_Msk (0x2UL) /*!< REQSTS (Bitfield-Mask: 0x01) */ 66 #define MEC_DMA_CHAN_CTRL_DONE_Pos (2UL) /*!< DONE (Bit 2) */ 67 #define MEC_DMA_CHAN_CTRL_DONE_Msk (0x4UL) /*!< DONE (Bitfield-Mask: 0x01) */ 68 #define MEC_DMA_CHAN_CTRL_BUSY_Pos (5UL) /*!< BUSY (Bit 5) */ 69 #define MEC_DMA_CHAN_CTRL_BUSY_Msk (0x20UL) /*!< BUSY (Bitfield-Mask: 0x01) */ 70 #define MEC_DMA_CHAN_CTRL_MEM2DEV_Pos (8UL) /*!< MEM2DEV (Bit 8) */ 71 #define MEC_DMA_CHAN_CTRL_MEM2DEV_Msk (0x100UL) /*!< MEM2DEV (Bitfield-Mask: 0x01) */ 72 #define MEC_DMA_CHAN_CTRL_HFC_DEV_Pos (9UL) /*!< HFC_DEV (Bit 9) */ 73 #define MEC_DMA_CHAN_CTRL_HFC_DEV_Msk (0xfe00UL) /*!< HFC_DEV (Bitfield-Mask: 0x7f) */ 74 #define MEC_DMA_CHAN_CTRL_INCRM_Pos (16UL) /*!< INCRM (Bit 16) */ 75 #define MEC_DMA_CHAN_CTRL_INCRM_Msk (0x10000UL) /*!< INCRM (Bitfield-Mask: 0x01) */ 76 #define MEC_DMA_CHAN_CTRL_INCRD_Pos (17UL) /*!< INCRD (Bit 17) */ 77 #define MEC_DMA_CHAN_CTRL_INCRD_Msk (0x20000UL) /*!< INCRD (Bitfield-Mask: 0x01) */ 78 #define MEC_DMA_CHAN_CTRL_LOCK_ARB_Pos (18UL) /*!< LOCK_ARB (Bit 18) */ 79 #define MEC_DMA_CHAN_CTRL_LOCK_ARB_Msk (0x40000UL) /*!< LOCK_ARB (Bitfield-Mask: 0x01) */ 80 #define MEC_DMA_CHAN_CTRL_DHFC_Pos (19UL) /*!< DHFC (Bit 19) */ 81 #define MEC_DMA_CHAN_CTRL_DHFC_Msk (0x80000UL) /*!< DHFC (Bitfield-Mask: 0x01) */ 82 #define MEC_DMA_CHAN_CTRL_UNITSZ_Pos (20UL) /*!< UNITSZ (Bit 20) */ 83 #define MEC_DMA_CHAN_CTRL_UNITSZ_Msk (0x700000UL) /*!< UNITSZ (Bitfield-Mask: 0x07) */ 84 #define MEC_DMA_CHAN_CTRL_SWFC_RUN_Pos (24UL) /*!< SWFC_RUN (Bit 24) */ 85 #define MEC_DMA_CHAN_CTRL_SWFC_RUN_Msk (0x1000000UL) /*!< SWFC_RUN (Bitfield-Mask: 0x01) */ 86 #define MEC_DMA_CHAN_CTRL_ABORT_Pos (25UL) /*!< ABORT (Bit 25) */ 87 #define MEC_DMA_CHAN_CTRL_ABORT_Msk (0x2000000UL) /*!< ABORT (Bitfield-Mask: 0x01) */ 88 /* ======================================================== ISTATUS ======================================================== */ 89 #define MEC_DMA_CHAN_ISTATUS_BERR_Pos (0UL) /*!< BERR (Bit 0) */ 90 #define MEC_DMA_CHAN_ISTATUS_BERR_Msk (0x1UL) /*!< BERR (Bitfield-Mask: 0x01) */ 91 #define MEC_DMA_CHAN_ISTATUS_HFCREQ_Pos (1UL) /*!< HFCREQ (Bit 1) */ 92 #define MEC_DMA_CHAN_ISTATUS_HFCREQ_Msk (0x2UL) /*!< HFCREQ (Bitfield-Mask: 0x01) */ 93 #define MEC_DMA_CHAN_ISTATUS_DONE_Pos (2UL) /*!< DONE (Bit 2) */ 94 #define MEC_DMA_CHAN_ISTATUS_DONE_Msk (0x4UL) /*!< DONE (Bitfield-Mask: 0x01) */ 95 #define MEC_DMA_CHAN_ISTATUS_HFCTERM_Pos (3UL) /*!< HFCTERM (Bit 3) */ 96 #define MEC_DMA_CHAN_ISTATUS_HFCTERM_Msk (0x8UL) /*!< HFCTERM (Bitfield-Mask: 0x01) */ 97 /* ========================================================== IEN ========================================================== */ 98 #define MEC_DMA_CHAN_IEN_BERR_Pos (0UL) /*!< BERR (Bit 0) */ 99 #define MEC_DMA_CHAN_IEN_BERR_Msk (0x1UL) /*!< BERR (Bitfield-Mask: 0x01) */ 100 #define MEC_DMA_CHAN_IEN_HFCREQ_Pos (1UL) /*!< HFCREQ (Bit 1) */ 101 #define MEC_DMA_CHAN_IEN_HFCREQ_Msk (0x2UL) /*!< HFCREQ (Bitfield-Mask: 0x01) */ 102 #define MEC_DMA_CHAN_IEN_DONE_Pos (2UL) /*!< DONE (Bit 2) */ 103 #define MEC_DMA_CHAN_IEN_DONE_Msk (0x4UL) /*!< DONE (Bitfield-Mask: 0x01) */ 104 #define MEC_DMA_CHAN_IEN_HFCTERM_Pos (3UL) /*!< HFCTERM (Bit 3) */ 105 #define MEC_DMA_CHAN_IEN_HFCTERM_Msk (0x8UL) /*!< HFCTERM (Bitfield-Mask: 0x01) */ 106 /* ========================================================== FSM ========================================================== */ 107 /* ======================================================== ALU_EN ========================================================= */ 108 #define MEC_DMA_CHAN_ALU_EN_ENABLE_Pos (0UL) /*!< ENABLE (Bit 0) */ 109 #define MEC_DMA_CHAN_ALU_EN_ENABLE_Msk (0x1UL) /*!< ENABLE (Bitfield-Mask: 0x01) */ 110 #define MEC_DMA_CHAN_ALU_EN_POST_XFR_EN_Pos (1UL) /*!< POST_XFR_EN (Bit 1) */ 111 #define MEC_DMA_CHAN_ALU_EN_POST_XFR_EN_Msk (0x2UL) /*!< POST_XFR_EN (Bitfield-Mask: 0x01) */ 112 /* ======================================================= ALU_DATA ======================================================== */ 113 /* ======================================================= ALU_PSTS ======================================================== */ 114 #define MEC_DMA_CHAN_ALU_PSTS_DONE_Pos (0UL) /*!< DONE (Bit 0) */ 115 #define MEC_DMA_CHAN_ALU_PSTS_DONE_Msk (0x1UL) /*!< DONE (Bitfield-Mask: 0x01) */ 116 #define MEC_DMA_CHAN_ALU_PSTS_POST_XFR_BUSY_Pos (1UL) /*!< POST_XFR_BUSY (Bit 1) */ 117 #define MEC_DMA_CHAN_ALU_PSTS_POST_XFR_BUSY_Msk (0x2UL) /*!< POST_XFR_BUSY (Bitfield-Mask: 0x01) */ 118 #define MEC_DMA_CHAN_ALU_PSTS_POST_XFR_DONE_Pos (2UL) /*!< POST_XFR_DONE (Bit 2) */ 119 #define MEC_DMA_CHAN_ALU_PSTS_POST_XFR_DONE_Msk (0x4UL) /*!< POST_XFR_DONE (Bitfield-Mask: 0x01) */ 120 #define MEC_DMA_CHAN_ALU_PSTS_DRDY_Pos (3UL) /*!< DRDY (Bit 3) */ 121 #define MEC_DMA_CHAN_ALU_PSTS_DRDY_Msk (0x8UL) /*!< DRDY (Bitfield-Mask: 0x01) */ 122 /** @} */ /* End of group PosMask_clusters */ 123 124 /** @addtogroup PosMask_peripherals 125 * @{ 126 */ 127 /* ========================================================= MCTRL ========================================================= */ 128 #define MEC_DMAC_MCTRL_MACTV_Pos (0UL) /*!< MACTV (Bit 0) */ 129 #define MEC_DMAC_MCTRL_MACTV_Msk (0x1UL) /*!< MACTV (Bitfield-Mask: 0x01) */ 130 #define MEC_DMAC_MCTRL_MRST_Pos (1UL) /*!< MRST (Bit 1) */ 131 #define MEC_DMAC_MCTRL_MRST_Msk (0x2UL) /*!< MRST (Bitfield-Mask: 0x01) */ 132 /** @} */ /* End of group PosMask_peripherals */ 133 134 /** @addtogroup EnumValue_clusters 135 * @{ 136 */ 137 /* ========================================================= ACTV ========================================================== */ 138 /* ================================================== CHAN ACTV EN [0..0] ================================================== */ 139 typedef enum { /*!< MEC_DMAC_CHAN_ACTV_EN */ 140 MEC_DMAC_CHAN_ACTV_EN_EN = 1, /*!< EN : Enable channel */ 141 } MEC_DMAC_CHAN_ACTV_EN_Enum; 142 143 /* ======================================================== MSTART ========================================================= */ 144 /* ========================================================= MEND ========================================================== */ 145 /* ======================================================== DSTART ========================================================= */ 146 /* ========================================================= CTRL ========================================================== */ 147 /* =============================================== CHAN CTRL HFC_RUN [0..0] ================================================ */ 148 typedef enum { /*!< MEC_DMAC_CHAN_CTRL_HFC_RUN */ 149 MEC_DMAC_CHAN_CTRL_HFC_RUN_EN = 1, /*!< EN : Start channel in HW Flow Control mode */ 150 } MEC_DMAC_CHAN_CTRL_HFC_RUN_Enum; 151 152 /* ================================================ CHAN CTRL REQSTS [1..1] ================================================ */ 153 typedef enum { /*!< MEC_DMAC_CHAN_CTRL_REQSTS */ 154 MEC_DMAC_CHAN_CTRL_REQSTS_ACTIVE = 1, /*!< ACTIVE : HW Flow Control device request signal is active */ 155 } MEC_DMAC_CHAN_CTRL_REQSTS_Enum; 156 157 /* ================================================= CHAN CTRL DONE [2..2] ================================================= */ 158 typedef enum { /*!< MEC_DMAC_CHAN_CTRL_DONE */ 159 MEC_DMAC_CHAN_CTRL_DONE_ACTIVE = 1, /*!< ACTIVE : Channel done status is active */ 160 } MEC_DMAC_CHAN_CTRL_DONE_Enum; 161 162 /* ================================================= CHAN CTRL BUSY [5..5] ================================================= */ 163 typedef enum { /*!< MEC_DMAC_CHAN_CTRL_BUSY */ 164 MEC_DMAC_CHAN_CTRL_BUSY_ACTIVE = 1, /*!< ACTIVE : Channel Busy status is active */ 165 } MEC_DMAC_CHAN_CTRL_BUSY_Enum; 166 167 /* =============================================== CHAN CTRL HFC_DEV [9..15] =============================================== */ 168 typedef enum { /*!< MEC_DMAC_CHAN_CTRL_HFC_DEV */ 169 MEC_DMAC_CHAN_CTRL_HFC_DEV_I2C0_EP = 0, /*!< I2C0_EP : I2C_SMB0 endpoint mode */ 170 MEC_DMAC_CHAN_CTRL_HFC_DEV_I2C0_CTRL = 1, /*!< I2C0_CTRL : I2C_SMB0 controller mode */ 171 MEC_DMAC_CHAN_CTRL_HFC_DEV_I2C1_EP = 2, /*!< I2C1_EP : I2C_SMB1 endpoint mode */ 172 MEC_DMAC_CHAN_CTRL_HFC_DEV_I2C1_CTRL = 3, /*!< I2C1_CTRL : I2C_SMB1 controller mode */ 173 MEC_DMAC_CHAN_CTRL_HFC_DEV_I2C2_EP = 4, /*!< I2C2_EP : I2C_SMB2 endpoint mode */ 174 MEC_DMAC_CHAN_CTRL_HFC_DEV_I2C2_CTRL = 5, /*!< I2C2_CTRL : I2C_SMB2 controller mode */ 175 MEC_DMAC_CHAN_CTRL_HFC_DEV_I2C3_EP = 6, /*!< I2C3_EP : I2C_SMB3 endpoint mode */ 176 MEC_DMAC_CHAN_CTRL_HFC_DEV_I2C3_CTRL = 7, /*!< I2C3_CTRL : I2C_SMB3 controller mode */ 177 MEC_DMAC_CHAN_CTRL_HFC_DEV_I2C4_EP = 8, /*!< I2C4_EP : I2C_SMB4 endpoint mode */ 178 MEC_DMAC_CHAN_CTRL_HFC_DEV_I2C4_CTRL = 9, /*!< I2C4_CTRL : I2C_SMB4 controller mode */ 179 MEC_DMAC_CHAN_CTRL_HFC_DEV_QSPI0_TX = 10, /*!< QSPI0_TX : QSPI0 transmit mode */ 180 MEC_DMAC_CHAN_CTRL_HFC_DEV_QSPI0_RX = 11, /*!< QSPI0_RX : QSPI0 receive mode */ 181 MEC_DMAC_CHAN_CTRL_HFC_DEV_GSPI0_TX = 12, /*!< GSPI0_TX : GSPI0 transmit mode */ 182 MEC_DMAC_CHAN_CTRL_HFC_DEV_GSPI0_RX = 13, /*!< GSPI0_RX : GSPI0 receive mode */ 183 MEC_DMAC_CHAN_CTRL_HFC_DEV_GSPI1_TX = 14, /*!< GSPI1_TX : GSPI1 transmit mode */ 184 MEC_DMAC_CHAN_CTRL_HFC_DEV_GSPI1_RX = 15, /*!< GSPI1_RX : GSPI1 receive mode */ 185 } MEC_DMAC_CHAN_CTRL_HFC_DEV_Enum; 186 187 /* =============================================== CHAN CTRL INCRM [16..16] ================================================ */ 188 typedef enum { /*!< MEC_DMAC_CHAN_CTRL_INCRM */ 189 MEC_DMAC_CHAN_CTRL_INCRM_EN = 1, /*!< EN : Enable increment of memory start address by unit size */ 190 } MEC_DMAC_CHAN_CTRL_INCRM_Enum; 191 192 /* =============================================== CHAN CTRL INCRD [17..17] ================================================ */ 193 typedef enum { /*!< MEC_DMAC_CHAN_CTRL_INCRD */ 194 MEC_DMAC_CHAN_CTRL_INCRD_EN = 1, /*!< EN : Enable increment of device start address by unit size */ 195 } MEC_DMAC_CHAN_CTRL_INCRD_Enum; 196 197 /* ============================================== CHAN CTRL LOCK_ARB [18..18] ============================================== */ 198 typedef enum { /*!< MEC_DMAC_CHAN_CTRL_LOCK_ARB */ 199 MEC_DMAC_CHAN_CTRL_LOCK_ARB_EN = 1, /*!< EN : Enable locking this channel as highest priority in the 200 arbiter */ 201 } MEC_DMAC_CHAN_CTRL_LOCK_ARB_Enum; 202 203 /* ================================================ CHAN CTRL DHFC [19..19] ================================================ */ 204 typedef enum { /*!< MEC_DMAC_CHAN_CTRL_DHFC */ 205 MEC_DMAC_CHAN_CTRL_DHFC_ON = 1, /*!< ON : Disable HW flow control */ 206 } MEC_DMAC_CHAN_CTRL_DHFC_Enum; 207 208 /* =============================================== CHAN CTRL UNITSZ [20..22] =============================================== */ 209 typedef enum { /*!< MEC_DMAC_CHAN_CTRL_UNITSZ */ 210 MEC_DMAC_CHAN_CTRL_UNITSZ_8BIT = 1, /*!< 8BIT : Transfer unit size is 8-bits(1 byte) */ 211 MEC_DMAC_CHAN_CTRL_UNITSZ_16BIT = 2, /*!< 16BIT : Transfer unit size is 16-bits(2 bytes) */ 212 MEC_DMAC_CHAN_CTRL_UNITSZ_32BIT = 4, /*!< 32BIT : Transfer unit size is 32-bits(4 bytes) */ 213 } MEC_DMAC_CHAN_CTRL_UNITSZ_Enum; 214 215 /* ============================================== CHAN CTRL SWFC_RUN [24..24] ============================================== */ 216 typedef enum { /*!< MEC_DMAC_CHAN_CTRL_SWFC_RUN */ 217 MEC_DMAC_CHAN_CTRL_SWFC_RUN_EN = 1, /*!< EN : Start channel in software flow control mode */ 218 } MEC_DMAC_CHAN_CTRL_SWFC_RUN_Enum; 219 220 /* =============================================== CHAN CTRL ABORT [25..25] ================================================ */ 221 typedef enum { /*!< MEC_DMAC_CHAN_CTRL_ABORT */ 222 MEC_DMAC_CHAN_CTRL_ABORT_EN = 1, /*!< EN : Abort current operation at next unit boundary */ 223 } MEC_DMAC_CHAN_CTRL_ABORT_Enum; 224 225 /* ======================================================== ISTATUS ======================================================== */ 226 /* =============================================== CHAN ISTATUS BERR [0..0] ================================================ */ 227 typedef enum { /*!< MEC_DMAC_CHAN_ISTATUS_BERR */ 228 MEC_DMAC_CHAN_ISTATUS_BERR_ACTIVE = 1, /*!< ACTIVE : AHB Bus Error status active */ 229 } MEC_DMAC_CHAN_ISTATUS_BERR_Enum; 230 231 /* ============================================== CHAN ISTATUS HFCREQ [1..1] =============================================== */ 232 typedef enum { /*!< MEC_DMAC_CHAN_ISTATUS_HFCREQ */ 233 MEC_DMAC_CHAN_ISTATUS_HFCREQ_ACTIVE = 1, /*!< ACTIVE : HW flow control device request active after transfer 234 has finished */ 235 } MEC_DMAC_CHAN_ISTATUS_HFCREQ_Enum; 236 237 /* =============================================== CHAN ISTATUS DONE [2..2] ================================================ */ 238 typedef enum { /*!< MEC_DMAC_CHAN_ISTATUS_DONE */ 239 MEC_DMAC_CHAN_ISTATUS_DONE_ACTIVE = 1, /*!< ACTIVE : Transfer is done: memory start address == memory end 240 address */ 241 } MEC_DMAC_CHAN_ISTATUS_DONE_Enum; 242 243 /* ============================================== CHAN ISTATUS HFCTERM [3..3] ============================================== */ 244 typedef enum { /*!< MEC_DMAC_CHAN_ISTATUS_HFCTERM */ 245 MEC_DMAC_CHAN_ISTATUS_HFCTERM_ACTIVE = 1, /*!< ACTIVE : HW flow control device terminate signal active */ 246 } MEC_DMAC_CHAN_ISTATUS_HFCTERM_Enum; 247 248 /* ========================================================== IEN ========================================================== */ 249 /* ================================================= CHAN IEN BERR [0..0] ================================================== */ 250 typedef enum { /*!< MEC_DMAC_CHAN_IEN_BERR */ 251 MEC_DMAC_CHAN_IEN_BERR_EN = 1, /*!< EN : Enable AHB Bus Error interrupt */ 252 } MEC_DMAC_CHAN_IEN_BERR_Enum; 253 254 /* ================================================ CHAN IEN HFCREQ [1..1] ================================================= */ 255 typedef enum { /*!< MEC_DMAC_CHAN_IEN_HFCREQ */ 256 MEC_DMAC_CHAN_IEN_HFCREQ_EN = 1, /*!< EN : Enable HW flow control error interrupt */ 257 } MEC_DMAC_CHAN_IEN_HFCREQ_Enum; 258 259 /* ================================================= CHAN IEN DONE [2..2] ================================================== */ 260 typedef enum { /*!< MEC_DMAC_CHAN_IEN_DONE */ 261 MEC_DMAC_CHAN_IEN_DONE_EN = 1, /*!< EN : Enable transfer done interrupt */ 262 } MEC_DMAC_CHAN_IEN_DONE_Enum; 263 264 /* ================================================ CHAN IEN HFCTERM [3..3] ================================================ */ 265 typedef enum { /*!< MEC_DMAC_CHAN_IEN_HFCTERM */ 266 MEC_DMAC_CHAN_IEN_HFCTERM_EN = 1, /*!< EN : Enable HW flow control terminate interrupt */ 267 } MEC_DMAC_CHAN_IEN_HFCTERM_Enum; 268 269 /* ========================================================== FSM ========================================================== */ 270 /* ======================================================== ALU_EN ========================================================= */ 271 /* =============================================== CHAN ALU_EN ENABLE [0..0] =============================================== */ 272 typedef enum { /*!< MEC_DMAC_CHAN_ALU_EN_ENABLE */ 273 MEC_DMAC_CHAN_ALU_EN_ENABLE_ON = 1, /*!< ON : Enable ALU logic */ 274 } MEC_DMAC_CHAN_ALU_EN_ENABLE_Enum; 275 276 /* ============================================ CHAN ALU_EN POST_XFR_EN [1..1] ============================================= */ 277 typedef enum { /*!< MEC_DMAC_CHAN_ALU_EN_POST_XFR_EN */ 278 MEC_DMAC_CHAN_ALU_EN_POST_XFR_EN_ON = 1, /*!< ON : Enable ALU post calculation result transfer to memory */ 279 } MEC_DMAC_CHAN_ALU_EN_POST_XFR_EN_Enum; 280 281 /* ======================================================= ALU_DATA ======================================================== */ 282 /* ======================================================= ALU_PSTS ======================================================== */ 283 /* =============================================== CHAN ALU_PSTS DONE [0..0] =============================================== */ 284 typedef enum { /*!< MEC_DMAC_CHAN_ALU_PSTS_DONE */ 285 MEC_DMAC_CHAN_ALU_PSTS_DONE_ACTIVE = 1, /*!< ACTIVE : ALU calculation done */ 286 } MEC_DMAC_CHAN_ALU_PSTS_DONE_Enum; 287 288 /* ========================================== CHAN ALU_PSTS POST_XFR_BUSY [1..1] =========================================== */ 289 typedef enum { /*!< MEC_DMAC_CHAN_ALU_PSTS_POST_XFR_BUSY */ 290 MEC_DMAC_CHAN_ALU_PSTS_POST_XFR_BUSY_ACTIVE = 1,/*!< ACTIVE : ALU Busy status */ 291 } MEC_DMAC_CHAN_ALU_PSTS_POST_XFR_BUSY_Enum; 292 293 /* ========================================== CHAN ALU_PSTS POST_XFR_DONE [2..2] =========================================== */ 294 typedef enum { /*!< MEC_DMAC_CHAN_ALU_PSTS_POST_XFR_DONE */ 295 MEC_DMAC_CHAN_ALU_PSTS_POST_XFR_DONE_ACTIVE = 1,/*!< ACTIVE : ALU post transfer done status */ 296 } MEC_DMAC_CHAN_ALU_PSTS_POST_XFR_DONE_Enum; 297 298 /* =============================================== CHAN ALU_PSTS DRDY [3..3] =============================================== */ 299 typedef enum { /*!< MEC_DMAC_CHAN_ALU_PSTS_DRDY */ 300 MEC_DMAC_CHAN_ALU_PSTS_DRDY_ACTIVE = 1, /*!< ACTIVE : ALU data ready status */ 301 } MEC_DMAC_CHAN_ALU_PSTS_DRDY_Enum; 302 /** @} */ /* End of group EnumValue_clusters */ 303 304 /** @addtogroup EnumValue_peripherals 305 * @{ 306 */ 307 /* ========================================================= MCTRL ========================================================= */ 308 /* ============================================== MEC_DMAC MCTRL MACTV [0..0] ============================================== */ 309 typedef enum { /*!< MEC_DMAC_MCTRL_MACTV */ 310 MEC_DMAC_MCTRL_MACTV_EN = 1, /*!< EN : Activate(ungate clocks) DMA controller */ 311 } MEC_DMAC_MCTRL_MACTV_Enum; 312 313 /* ============================================== MEC_DMAC MCTRL MRST [1..1] =============================================== */ 314 typedef enum { /*!< MEC_DMAC_MCTRL_MRST */ 315 MEC_DMAC_MCTRL_MRST_EN = 1, /*!< EN : Soft reset DMA controller(self-clearing) */ 316 } MEC_DMAC_MCTRL_MRST_Enum; 317 /** @} */ /* End of group EnumValue_peripherals */ 318 319 #endif /* _MEC5_DMAC_V2_CH16_H */ 320