#ifndef _FC7XXX_SCM_NU_Tztufn22_REGS_H_ #define _FC7XXX_SCM_NU_Tztufn22_REGS_H_ #ifdef __cplusplus extern "C" { #endif /* ---------------------------------------------------------------------------- -- SCM Peripheral Access Layer ---------------------------------------------------------------------------- */ /*! * @addtogroup SCM_Peripheral_Access_Layer SCM Peripheral Access Layer * @{ */ /** SCM - Size of Registers Arrays */ /** SCM - Register Layout Typedef */ #define SCM_INT_ROUTER_COUNT 154 typedef struct { __I uint32_t UIDL ; /* Unique Identification Register 0, offset: 0x0 */ __I uint32_t UIDML ; /* Unique Identification Register 1, offset: 0x4 */ __I uint32_t UIDMH ; /* Unique Identification Register 2, offset: 0x8 */ __I uint32_t UIDH ; /* Unique Identification Register 3, offset: 0xC */ __I uint32_t PARTID0 ; /* PART ID Register, offset: 0x10 */ uint8_t RESERVED_0[4]; __I uint32_t CHIPCFG0 ; /* CHIPCFG Register 0, offset: 0x18 */ __I uint32_t CHIPCFG1 ; /* CHIPCFG Register 1, offset: 0x1C */ __IO uint32_t MAMECCEN0 ; /* MAM ECC Enable Register 0, offset: 0x20 */ __IO uint32_t MAMECCEN1 ; /* MAM ECC Enable Register 1, offset: 0x24 */ __IO uint32_t CPU0ECCEN ; /* CPU0 ECC Enable Register, offset: 0x28 */ uint8_t RESERVED_1[4]; __IO uint32_t CPU1ECCEN ; /* CPU1 ECC Enable Register, offset: 0x30 */ __IO uint32_t CPU1VTOR ; /* CPU1 Vector Table Register, offset: 0x34 */ __IO uint32_t CPU2ECCEN ; /* CPU2 ECC Enable Register, offset: 0x38 */ __IO uint32_t CPU2VTOR ; /* CPU2 Vector Table Register, offset: 0x3C */ __IO uint32_t CORE_HOLD ; /* Core Hold Register, offset: 0x40 */ __IO uint32_t CPUIF_GASKET_MON_EN ; /* CPU Interface Gasket Monitor Enable Register, offset: 0x44 */ uint8_t RESERVED_2[8]; __IO uint32_t FCSPI_ROUTING ; /* FCSPI Routing Register, offset: 0x50 */ __IO uint32_t FCUART_ROUTING0 ; /* FCUART_ROUTING0, offset: 0x54 */ __IO uint32_t FCUART_ROUTING1 ; /* FCUART Routing Register 1, offset: 0x58 */ __IO uint32_t SCM_ENET ; /* ENET Control Register, offset: 0x5C */ __IO uint32_t ADC_ROUTING ; /* ADC Routing Register, offset: 0x60 */ __IO uint32_t FTU_ROUTING ; /* FTU Routing Register, offset: 0x64 */ __IO uint32_t FTU_GTB ; /* FTU GTB Register, offset: 0x68 */ __IO uint32_t FTU_SYNC ; /* FTU SYNC Register, offset: 0x6C */ __IO uint32_t DEBUG_TRACE ; /* DEBUG TRACE Register, offset: 0x70 */ __IO uint32_t SOCMISC ; /* SOCMISC Register, offset: 0x74 */ uint8_t RESERVED_3[8]; __I uint32_t CCM0_STATUS ; /* CCM0 Status Register, offset: 0x80 */ __I uint32_t CCM1_STATUS ; /* CCM1 Status Register, offset: 0x84 */ __I uint32_t CCM2_STATUS ; /* CCM2 Status Register, offset: 0x88 */ __I uint32_t ENET_STATUS ; /* ENET Status Register, offset: 0x8C */ __IO uint32_t SDDF_ROUTING ; /* SDDF ROUTING Register, offset: 0x90 */ __IO uint32_t FLEXCAN_ROUTING ; /* FLEXCAN Routing Register, offset: 0x94 */ __IO uint32_t MSC0_ROUTING ; /* MSC0 Routing Register, offset: 0x98 */ __IO uint32_t MSC1_ROUTING ; /* MSC1 Routing Register, offset: 0x9C */ __IO uint32_t PERI_CLKDIV ; /* PERI CLKDIV Register, offset: 0xA0 */ __IO uint32_t FCSMU_SW ; /* FCSMU Software Trigger Register, offset: 0xA4 */ __IO uint32_t ISM_ROUTING ; /* ISM Routing Register, offset: 0xA8 */ uint8_t RESERVED_4[4]; __I uint32_t MATRIX_STATUS0 ; /* Matrix Status Register 0, offset: 0xB0 */ __I uint32_t MATRIX_STATUS1 ; /* Matrix Status Register 1, offset: 0xB4 */ __I uint32_t MATRIX_STATUS2 ; /* Matrix Status Register 2, offset: 0xB8 */ __I uint32_t MATRIX_STATUS3 ; /* Matrix Status Register 3, offset: 0xBC */ __I uint32_t MATRIX_STATUS4 ; /* Matrix Status Register 4, offset: 0xC0 */ __I uint32_t MATRIX_STATUS5 ; /* Matrix Status Register 5, offset: 0xC4 */ __I uint32_t MATRIX_ID_STATUS0 ; /* Matrix Master ID Status Register, offset: 0xC8 */ __IO uint32_t MATRIX_STATUS6 ; /* Matrix Status Register 6, offset: 0xCC */ __IO uint32_t MATRIX_STATUS7 ; /* Matrix Status Register 7, offset: 0xD0 */ uint8_t RESERVED_5[28]; __IO uint32_t TPU_GTBCM ; /* TPU Global Time Base Control Mask Register, offset: 0xF0 */ __IO uint32_t FTU_GTBCM ; /* FTU Global Time Base Control Mask Register, offset: 0xF4 */ uint8_t RESERVED_6[8]; __IO uint32_t SYSAP_MDO ; /* SYSAP MDO Register, offset: 0x100 */ __I uint32_t SYSAP_MDI ; /* SYSAP MDI Register, offset: 0x104 */ __IO uint32_t SYSAP_CTRL ; /* SYSAP Control Register, offset: 0x108 */ uint8_t RESERVED_7[4]; __IO uint32_t HSM_PCC ; /* HSM_PCC Register, offset: 0x110 */ __I uint32_t HSM_STATUS ; /* HSM Status Register, offset: 0x114 */ __I uint32_t MDO_FLAG ; /* Mailbox Data Output Flag Register, offset: 0x118 */ uint8_t RESERVED_8[4]; __IO uint32_t MASTER_HALT_REQ ; /* MASTER Halt Request Register, offset: 0x120 */ __I uint32_t MASTER_HALT_ACK ; /* MASTER Halt ACK Register, offset: 0x124 */ uint8_t RESERVED_9[212]; __IO uint32_t INT_ROUTER_NMI ; /* NMI Interrupt Router Register, offset: 0x1FC */ __IO uint32_t INT_ROUTER[SCM_INT_ROUTER_COUNT]; /* NVIC Interrupt Router Register, offset: 0x200 */ uint8_t RESERVED_10[920]; __IO uint32_t CRCCSR ; /* CRC Control Status Register, offset: 0x800 */ __IO uint32_t CRCRES ; /* CRC Result Register, offset: 0x804 */ } SCM_Type, *SCM_MemMapPtr; /** Number of instances of the SCM module. */ #define SCM_INSTANCE_COUNT (1u) /* SCM - Peripheral instance base addresses */ /** Peripheral SCM base address */ #define SCM_BASE (0x40072000u) /** Peripheral SCM base pointer */ #define SCM ((SCM_Type *)SCM_BASE) /** Array initializer of SCM peripheral base addresses */ #define SCM_BASE_ADDRS {SCM_BASE} /** Array initializer of SCM peripheral base pointers */ #define SCM_BASE_PTRS {SCM} // need fill by yourself ///** Number of interrupt vector arrays for the SCM module. */ //#define SCM_IRQS_ARR_COUNT (1u) ///** Number of interrupt channels for the SCM module. */ //#define SCM_IRQS_CH_COUNT (1u) ///** Interrupt vectors for the SCM peripheral type */ //#define SCM_IRQS {SCM_IRQn} /* ---------------------------------------------------------------------------- -- SCM Register Masks ---------------------------------------------------------------------------- */ /*! * @addtogroup SCM_Register_Masks SCM Register Masks * @{ */ /* UIDL Bit Fields */ #define SCM_UIDL_UIDL_MASK 0xFFFFFFFFu #define SCM_UIDL_UIDL_SHIFT 0u #define SCM_UIDL_UIDL_WIDTH 32u #define SCM_UIDL_UIDL(x) (((uint32_t)(((uint32_t)(x))<