#ifndef _FC7240_DMA_NU_Tztufn15_REGS_H_ #define _FC7240_DMA_NU_Tztufn15_REGS_H_ #ifdef __cplusplus extern "C" { #endif /* ---------------------------------------------------------------------------- -- DMA Peripheral Access Layer ---------------------------------------------------------------------------- */ /*! * @addtogroup DMA_Peripheral_Access_Layer DMA Peripheral Access Layer * @{ */ /** DMA - Size of Registers Arrays */ /** DMA - Register Layout Typedef */ #define DMA_DUME_COUNT 1U #define DMA_DUMO_COUNT 4U #define DMA_DCHPRI_COUNT 16U #define DMA_CFG_COUNT 16U typedef struct { __IO uint32_t CR ; /* Control Register, offset: 0x0 */ __I uint32_t ES ; /* Error Status Register, offset: 0x4 */ uint8_t RESERVED_0[4]; __IO uint32_t ERQ ; /* Enable Request Register, offset: 0xC */ uint8_t RESERVED_1[4]; __IO uint32_t EEI ; /* Enable Error Interrupt Register, offset: 0x14 */ __O uint8_t CEEI ; /* Clear Enable Error Interrupt Register, offset: 0x18 */ __O uint8_t SEEI ; /* Set Enable Error Interrupt Register, offset: 0x19 */ __O uint8_t CERQ ; /* Clear Enable Request Register, offset: 0x1A */ __O uint8_t SERQ ; /* Set Enable Request Register, offset: 0x1B */ __O uint8_t CDNE ; /* Clear DONE Status Bit Register, offset: 0x1C */ __O uint8_t SSRT ; /* Set START Bit Register, offset: 0x1D */ __O uint8_t CERR ; /* Clear Error Register, offset: 0x1E */ __O uint8_t CINT ; /* Clear Interrupt Request Register, offset: 0x1F */ uint8_t RESERVED_2[4]; __IO uint32_t INT ; /* Interrupt Request Register, offset: 0x24 */ uint8_t RESERVED_3[4]; __IO uint32_t ERR ; /* Error Register, offset: 0x2C */ uint8_t RESERVED_4[4]; __I uint32_t HRS ; /* Hardware Request Status Register, offset: 0x34 */ uint8_t RESERVED_5[16]; __IO uint32_t DUME[DMA_DUME_COUNT] ; /* Unalign Modulo N Enable Register, offset: 0x48 */ uint8_t RESERVED_6[4]; __IO uint32_t DUMO[DMA_DUMO_COUNT] ; /* Unalign Modulo N Offset Register, offset: 0x50 */ uint8_t RESERVED_7[160]; __IO uint8_t DCHPRI[DMA_DCHPRI_COUNT] ; /* Channel Priority Register, offset: 0x100 */ uint8_t RESERVED_8[3824]; struct { /* offset: 0x1000, array step: 0x20 */ __IO uint32_t SADDR ; /* CFG Source Address, array offset: 0x1000, array step: 0x20 */ __IO uint16_t SOFF ; /* CFG Signed Source Address Offset, array offset: 0x1004, array step: 0x20 */ __IO uint16_t ATTR ; /* CFG Transfer Attributes, array offset: 0x1006, array step: 0x20 */ union { /* offset: 0x1008, array step: 0x20 */ __IO uint32_t ILNO ; /* CFG Inner Byte Transfer Count (Inner Loop Mapping Disabled), array offset: 0x1008, array step: 0x20 */ __IO uint32_t ILOFFNO ; /* CFG Signed Inner Loop Offset (Inner Loop Mapping Enabled and Offset Disabled), array offset: 0x1008, array step: 0x20 */ __IO uint32_t ILOFFYES ; /* CFG Signed Inner Loop Offset (Inner Loop Mapping and Offset Enabled), array offset: 0x1008, array step: 0x20 */ } NBYTES; __IO uint32_t SLAST ; /* CFG Last Source Address Adjustment, array offset: 0x100C, array step: 0x20 */ __IO uint32_t DADDR ; /* CFG Destination Address, array offset: 0x1010, array step: 0x20 */ __IO uint16_t DOFF ; /* CFG Signed Destination Address Offset, array offset: 0x1014, array step: 0x20 */ union { /* offset: 0x1016, array step: 0x20 */ __IO uint16_t CHTRGENNO ; /* CFG Current Inner Loop Trig, Outer Loop Count (Channel Trig Disabled), array offset: 0x1016, array step: 0x20 */ __IO uint16_t CHTRGENYES ; /* CFG Current Inner Loop Trig, Outer Loop Count (Channel Trig Enabled), array offset: 0x1016, array step: 0x20 */ } CLC; __IO uint32_t DLAST ; /* CFG Last Destination Address Adjustment, array offset: 0x1018, array step: 0x20 */ __IO uint16_t CSR ; /* CFG Control and Status, array offset: 0x101C, array step: 0x20 */ union { /* offset: 0x101E, array step: 0x20 */ __IO uint16_t CHTRGENNO ; /* CFG Beginning Inner Loop Trig, Outer Loop Count (Channel Trig Disabled), array offset: 0x101E, array step: 0x20 */ __IO uint16_t CHTRGENYES ; /* CFG Beginning Inner Loop Trig, Outer Loop Count (Channel Trig Enabled), array offset: 0x101E, array step: 0x20 */ } BLC; } CFG[DMA_CFG_COUNT]; } DMA_Type, *DMA_MemMapPtr; /** Number of instances of the DMA module. */ #define DMA_INSTANCE_COUNT (1u) /* DMA - Peripheral instance base addresses */ /** Peripheral DMA base address */ #define DMA_BASE (0x40008000u) /** Peripheral DMA base pointer */ #define DMA ((DMA_Type *)DMA_BASE) /** Array initializer of DMA peripheral base addresses */ #define DMA_BASE_ADDRS {DMA_BASE} /** Array initializer of DMA peripheral base pointers */ #define DMA_BASE_PTRS {DMA} // need fill by yourself ///** Number of interrupt vector arrays for the DMA module. */ //#define DMA_IRQS_ARR_COUNT (1u) ///** Number of interrupt channels for the DMA module. */ //#define DMA_IRQS_CH_COUNT (1u) ///** Interrupt vectors for the DMA peripheral type */ //#define DMA_IRQS {DMA_IRQn} /* ---------------------------------------------------------------------------- -- DMA Register Masks ---------------------------------------------------------------------------- */ /*! * @addtogroup DMA_Register_Masks DMA Register Masks * @{ */ /* CR Bit Fields */ #define DMA_CR_ACTIVE_MASK 0x80000000u #define DMA_CR_ACTIVE_SHIFT 31u #define DMA_CR_ACTIVE_WIDTH 1u #define DMA_CR_ACTIVE(x) (((uint32_t)(((uint32_t)(x))<