/**************************************************************************//** * @file TMPM321.h * @brief CMSIS Cortex-M3 Core Peripheral Access Layer Header File for the * Toshiba 'TMPM321F10' Device Series * @version V1.01 * @date 15. March 2010 * * @note * Copyright (C) 2010 ARM Limited. All rights reserved. * * @par * ARM Limited (ARM) is supplying this software for use with Cortex-M * processor based microcontrollers. This file can be freely distributed * within development tools that are supporting such ARM based processors. * * @par * THIS SOFTWARE IS PROVIDED "AS IS". NO WARRANTIES, WHETHER EXPRESS, IMPLIED * OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. * ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR * CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER. * ******************************************************************************/ #ifndef __TMPM321_H__ #define __TMPM321_H__ #ifdef __cplusplus extern "C" { #endif /** @addtogroup TMPM321_Definitions TMPM321 Definitions This file defines all structures and symbols for TMPM321: - registers and bitfields - peripheral base address - peripheral ID - PIO definitions @{ */ /******************************************************************************/ /* Processor and Core Peripherals */ /******************************************************************************/ /** @addtogroup TMPM321_CMSIS TMPM321 CMSIS Definitions Configuration of the Cortex-M3 Processor and Core Peripherals @{ */ /* * ========================================================================== * ---------- Interrupt Number Definition ----------------------------------- * ========================================================================== */ typedef enum IRQn { /****** Cortex-M3 Processor Exceptions Numbers ***************************************************/ NonMaskableInt_IRQn = -14, /*!< 2 Non Maskable Interrupt */ MemoryManagement_IRQn = -12, /*!< 4 Cortex-M3 Memory Management Interrupt */ BusFault_IRQn = -11, /*!< 5 Cortex-M3 Bus Fault Interrupt */ UsageFault_IRQn = -10, /*!< 6 Cortex-M3 Usage Fault Interrupt */ SVCall_IRQn = -5, /*!< 11 Cortex-M3 SV Call Interrupt */ DebugMonitor_IRQn = -4, /*!< 12 Cortex-M3 Debug Monitor Interrupt */ PendSV_IRQn = -2, /*!< 14 Cortex-M3 Pend SV Interrupt */ SysTick_IRQn = -1, /*!< 15 Cortex-M3 System Tick Interrupt */ /****** TMPM321 Specific Interrupt Numbers *******************************************************/ INT0_Handler = 0, /*!< Interrupt Pin INT0 */ INT1_Handler = 1, /*!< Interrupt Pin INT1 */ INT2_Handler = 2, /*!< Interrupt Pin INT2 */ INT3_Handler = 3, /*!< Interrupt Pin INT3 */ INT4_Handler = 4, /*!< Interrupt Pin INT4 */ INT5_Handler = 5, /*!< Interrupt Pin INT5 */ INT6_Handler = 6, /*!< Interrupt Pin INT6 */ INT7_Handler = 7, /*!< Interrupt Pin INT7 */ /*!< Reserved 8 ~ 15 */ INTRX0_Handler = 16, /*!< Serial Reception (Ch 0) */ INTTX0_Handler = 17, /*!< Serial Transmit (Ch 0) */ INTRX1_Handler = 18, /*!< Serial Reception (Ch 1) */ INTTX1_Handler = 19, /*!< Serial Transmit (Ch 1) */ INTRX2_Handler = 20, /*!< Serial Reception (Ch 2) */ INTTX2_Handler = 21, /*!< Serial Transmit (Ch 2) */ INTRX3_Handler = 22, /*!< Serial Reception (Ch 3) */ INTTX3_Handler = 23, /*!< Serial Transmit (Ch 3) */ INTRX4_Handler = 24, /*!< Serial Reception (Ch 4) */ INTTX4_Handler = 25, /*!< Serial Transmit (Ch 4) */ INTSBI0_Handler = 26, /*!< Serial Bus Interface 0 */ INTSBI1_Handler = 27, /*!< Serial Bus Interface 1 */ INTCECRX_Handler = 28, /*!< CEC Reception */ INTCECTX_Handler = 29, /*!< CEC Transmission */ INTRMCRX0_Handler = 30, /*!< Remote Control Reception 0 */ /*!< Reserved 31 */ INTRTC_Handler = 32, /*!< Real Time Clock */ INTKWUP_Handler = 33, /*!< Key on wake up */ INTSBI2_Handler = 34, /*!< Serial Bus Interface 2 */ INTSBI3_Handler = 35, /*!< Serial Bus Interface 3 */ /*!< Reserved 36 */ INTADHP_Handler = 37, /*!< AD Conversion Complete High. Priority */ INTADM0_Handler = 38, /*!< AD Conversion Monitor 0 */ INTADM1_Handler = 39, /*!< AD Conversion Monitor 1 */ INTTB0_Handler = 40, /*!< TMRB Match Detection 0 */ INTTB1_Handler = 41, /*!< TMRB Match Detection 1 */ INTTB2_Handler = 42, /*!< TMRB Match Detection 2 */ INTTB3_Handler = 43, /*!< TMRB Match Detection 3 */ INTTB4_Handler = 44, /*!< TMRB Match Detection 4 */ INTTB5_Handler = 45, /*!< TMRB Match Detection 5 */ INTTB6_Handler = 46, /*!< TMRB Match Detection 6 */ INTTB7_Handler = 47, /*!< TMRB Match Detection 7 */ /*!< Reserved 48 ~ 55 */ INTUSB_Handler = 56, /*!< USB Interrupt */ /*!< Reserved 57 */ INTAD_Handler = 58, /*!< AD Conversion Complete */ INTSSP0_Handler = 59, /*!< Synchronous serial port 0 */ /*!< Reserved 60 ~ 73 */ INTCAP10_Handler = 74, /*!< TMRB Input Capture 10 */ INTCAP11_Handler = 75, /*!< TMRB Input Capture 11 */ INTCAP20_Handler = 76, /*!< TMRB Input Capture 20 */ INTCAP21_Handler = 77, /*!< TMRB Input Capture 21 */ /*!< Reserved 78, 79 */ INTCAP50_Handler = 80, /*!< TMRB Input Capture 50 */ INTCAP51_Handler = 81, /*!< TMRB Input Capture 51 */ INTCAP60_Handler = 82, /*!< TMRB Input Capture 60 */ INTCAP61_Handler = 83, /*!< TMRB Input Capture 61 */ INTCAP70_Handler = 84, /*!< TMRB Input Capture 70 */ INTCAP71_Handler = 85, /*!< TMRB Input Capture 71 */ /*!< Reserved 86 ~ 97 */ INTDMACERR_Handler = 98, /*!< DMAC transfer Error */ INTDMACTC0_Handler = 99, /*!< DMAC transfer Complete */ } IRQn_Type; /* * ========================================================================== * ----------- Processor and Core Peripheral Section ------------------------ * ========================================================================== */ /* Configuration of the Cortex-M3 Processor and Core Peripherals */ #define __MPU_PRESENT 0 /*!< MPU present or not */ #define __NVIC_PRIO_BITS 8 /*!< Number of Bits used for Priority Levels */ #define __Vendor_SysTickConfig 0 /*!< Set to 1 if different SysTick Config is used */ /*@}*/ /* end of group TMPM321_CMSIS */ #include /* Cortex-M3 processor and core peripherals */ #include "system_TMPM321.h" /* TMPM321 System */ /******************************************************************************/ /* Device Specific Peripheral registers structures */ /******************************************************************************/ /** @addtogroup TMPM321_Peripherals TMPM321 Peripherals TMPM321 Device Specific Peripheral registers structures @{ */ #if defined ( __CC_ARM ) #pragma anon_unions #endif /*------------- Single Master DMAC Channel(DMAC CH) ---------------------*/ /** @addtogroup TMPM321_DMAC_CH TMPM321 Single Master DMAC Channel(DMAC CH) @{ */ typedef struct { __IO uint32_t SrcAddr; /*!< Offset: 0x0100 + (Chn * 0x20) Source Address Register */ __IO uint32_t DestAddr; /*!< Offset: 0x0104 + (Chn * 0x20) Destination Address Register */ __IO uint32_t LLI; /*!< Offset: 0x0108 + (Chn * 0x20) Linked List Item Register */ uint32_t Control; /*!< Offset: 0x010C + (Chn * 0x20) Control Register */ __IO uint32_t Configuration; /*!< Offset: 0x0110 + (Chn * 0x20) Configuration Register */ uint32_t RESERVED[3]; } TSB_DMAC_CHN_TypeDef; /*@}*/ /* end of group TMPM321_DMAC_CH */ /*------------- Single Master DMAC (DMAC) ---------------------*/ /** @addtogroup TMPM321_DMAC TMPM321 Single Master DMAC (DMAC) @{ */ typedef struct { __IO uint32_t IntStaus; /*!< Offset: 0x0000 Interrupt Status */ __IO uint32_t IntTCStatus; /*!< Offset: 0x0004 Interrupt Terminal Count Status */ __IO uint32_t IntTCClear; /*!< Offset: 0x0008 Interrupt Terminal Count Clear */ __IO uint32_t IntErrorStatus; /*!< Offset: 0x000C Interrupt Error Status */ __IO uint32_t IntErrClr; /*!< Offset: 0x0010 Interrupt Error Clear */ __IO uint32_t RawIntTCStatus; /*!< Offset: 0x0014 Raw Interrupt Terminal Count Status Register */ __IO uint32_t RawIntErrorStatus; /*!< Offset: 0x0018 Raw Error Interrupt Status Register */ __IO uint32_t EnbldChns; /*!< Offset: 0x001C Enabled Channe Register */ __IO uint32_t SoftBReq; /*!< Offset: 0x0020 Software Burst Request Register */ __IO uint32_t SoftSReq; /*!< Offset: 0x0024 Software Single Request Register */ uint32_t RESERVED0[2]; __IO uint32_t Configuration; /*!< Offset: 0x0030 Configuration Register */ uint32_t RESERVED1[51]; TSB_DMAC_CHN_TypeDef CHN[2]; /*!< Offset: 0x0100 Channel registers */ } TSB_DMAC_TypeDef; /*@}*/ /* end of group TMPM321_DMAC */ /*------------- Synchronous Serial Port(SSP) ---------------------*/ /** @addtogroup TMPM321_SSP TMPM321 Synchronous Serial Port(SSP) @{ */ typedef struct { __IO uint32_t CR0; /*!< Offset: 0x0000 Control Register 0 */ __IO uint32_t CR1; /*!< Offset: 0x0004 Control Register 1 */ __IO uint32_t DR; /*!< Offset: 0x0008 Data Register */ __IO uint32_t SR; /*!< Offset: 0x000C Status Register */ __IO uint32_t CPSR; /*!< Offset: 0x0010 Clock Prescaler Register */ __IO uint32_t IMSC; /*!< Offset: 0x0014 Interrupt Mask Set and Clear Register */ __IO uint32_t RIS; /*!< Offset: 0x0018 Raw Interrupt Status Register */ __IO uint32_t MIS; /*!< Offset: 0x001C Masked Interrupt Status Register */ __IO uint32_t ICR; /*!< Offset: 0x0020 Interrupt Clear Register */ __IO uint32_t DMACR; /*!< Offset: 0x0024 DMA Control Register */ uint32_t RESERVED0[63]; } TSB_SSP_TypeDef; /*@}*/ /* end of group TMPM321_SSP */ /*------------- General Purpose Input/Output Port (PORT) ---------------------*/ /** @addtogroup TMPM321_PORT TMPM321 General Purpose Input/Output Port (PORT) @{ */ typedef struct { __IO uint32_t DATA; /*!< Offset: 0x0000 Port Data Register */ __IO uint32_t CR; /*!< Offset: 0x0004 Port Control Register */ __IO uint32_t FR1; /*!< Offset: 0x0008 Port Function Register 1 */ __IO uint32_t FR2; /*!< Offset: 0x000C Port Function Register 2 */ __IO uint32_t FR3; /*!< Offset: 0x0010 Port Function Register 3 */ uint32_t RESERVED0[5]; __IO uint32_t OD; /*!< Offset: 0x0028 Port Open drain control Register */ __IO uint32_t PUP; /*!< Offset: 0x002C Port Pull up control Register */ uint32_t RESERVED1[2]; __IO uint32_t IE; /*!< Offset: 0x0038 Port Input control enable Register */ } TSB_PORT_TypeDef; /*@}*/ /* end of group TMPM321_PORT */ /*------------- 16-bit Timer/Event Counter (TMRB) ----------------------------*/ /** @addtogroup TMPM321_TMRB TMPM321 16-bit Timer/Event Counter (TMRB) @{ */ typedef struct { __IO uint32_t EN; /*!< Offset: 0x0000 Timer Enable Register */ __IO uint32_t RUN; /*!< Offset: 0x0004 Timer RUN Register */ __IO uint32_t CR; /*!< Offset: 0x0008 Timer Control Register */ __IO uint32_t MOD; /*!< Offset: 0x000C Timer Mode Register */ __IO uint32_t FFCR; /*!< Offset: 0x0010 Timer Flip-Flop Control Register */ __IO uint32_t ST; /*!< Offset: 0x0014 Timer Status Register */ __IO uint32_t IM; /*!< Offset: 0x0018 Interrupt Mask Register */ __IO uint32_t UC; /*!< Offset: 0x001C Timer Up Counter Register */ __IO uint32_t RG0; /*!< Offset: 0x0020 Timer Register 0 */ __IO uint32_t RG1; /*!< Offset: 0x0024 Timer Register 1 */ __IO uint32_t CP0; /*!< Offset: 0x0028 Capture register 0 */ __IO uint32_t CP1; /*!< Offset: 0x002C Capture register 1 */ } TSB_TMRB_TypeDef; /*@}*/ /* end of group TMPM321_TMRB */ /*------------- Serial Bus Interface (SBI/SIO) --------------------------------*/ /** @addtogroup TMPM321_SBI_SIO TMPM321 Serial Bus Interface (SBI/SIO) @{ */ typedef struct { __IO uint32_t CR0; /*!< Offset: 0x0000 SBI Control Register 0 */ __IO uint32_t CR1; /*!< Offset: 0x0004 SBI Control Register 1 */ __IO uint32_t DBR; /*!< Offset: 0x0008 SBI Data Buffer Register */ __IO uint32_t I2CAR; /*!< Offset: 0x000C SBI I2C bus Address Register */ union { __O uint32_t CR2; /*!< Offset: 0x0010 SBI Control Register 2 */ __I uint32_t SR; /*!< Offset: 0x0010 SBI Status Register */ }; __IO uint32_t BR0; /*!< Offset: 0x0014 SBI Baud Rate Register 0 */ } TSB_SBI_TypeDef; /*@}*/ /* end of group TMPM321_SBI_SIO */ /*------------- General-purpose Serial Interface (SIO/UART) ------------------*/ /** @addtogroup TMPM321_SIO_UART TMPM321 General-purpose Serial Interface (SIO/UART) @{ */ typedef struct { __IO uint32_t EN; /*!< Offset: 0x0000 SIO Enable Register */ __IO uint32_t BUF; /*!< Offset: 0x0004 SIO Transmit/ Receive Buffer Register */ __IO uint32_t CR; /*!< Offset: 0x0008 SIO Control Register */ __IO uint32_t MOD0; /*!< Offset: 0x000C SIO Mode Control Register 0 */ __IO uint32_t BRCR; /*!< Offset: 0x0010 SIO Baud Rate Generator Control */ __IO uint32_t BRADD; /*!< Offset: 0x0014 SIO Baud rate Generator Control 2 */ __IO uint32_t MOD1; /*!< Offset: 0x0018 SIO Mode Control Register 1 */ __IO uint32_t MOD2; /*!< Offset: 0x001C SIO Mode Control Register 2 */ __IO uint32_t RFC; /*!< Offset: 0x0020 SIO Receive FIFO Configuration Register */ __IO uint32_t TFC; /*!< Offset: 0x0024 SIO Transmit FIFO Configuration Register */ __I uint32_t RST; /*!< Offset: 0x0028 SIO Receive FIFO Status Register */ __I uint32_t TST; /*!< Offset: 0x002C SIO Transmit FIFO Status Register */ __IO uint8_t FCNF; /*!< Offset: 0x0030 SIO FIFO Configuration Register */ } TSB_SIO_TypeDef; /*@}*/ /* end of group TMPM321_SIO_UART */ /*------------- Consumer Electronics Control (CEC) ---------------------------*/ /** @addtogroup TMPM321_CEC TMPM321 Consumer Electronics Control (CEC) @{ */ typedef struct { __IO uint32_t EN; /*!< Offset: 0x0000 CEC Enable Register */ __IO uint32_t ADD; /*!< Offset: 0x0004 CEC Logical Address Register */ __O uint32_t RESET; /*!< Offset: 0x0008 CEC Software Reset Register */ __IO uint32_t REN; /*!< Offset: 0x000C CEC Receive Enable Register */ __I uint32_t RBUF; /*!< Offset: 0x0010 CEC Receive Buffer Register */ __IO uint32_t RCR1; /*!< Offset: 0x0014 CEC Control Register 1 */ __IO uint32_t RCR2; /*!< Offset: 0x0018 CEC Control Register 2 */ __IO uint32_t RCR3; /*!< Offset: 0x001C CEC Control Register 3 */ __IO uint32_t TEN; /*!< Offset: 0x0020 CEC Transmit Enable Register */ __IO uint32_t TBUF; /*!< Offset: 0x0024 CEC Transmit Buffer Register */ __IO uint32_t TCR; /*!< Offset: 0x0028 CEC Transmit Control Register */ __I uint32_t RSTAT; /*!< Offset: 0x002C CEC Receive Interrupt Status Register */ __I uint32_t TSTAT; /*!< Offset: 0x0030 CEC Transmit Interrupt Status Register */ __I uint32_t FSSEL; /*!< Offset: 0x0034 CEC Frequency Select Register */ } TSB_CEC_TypeDef; /*@}*/ /* end of group TMPM321_CEC */ /*------------- Remote Control Signal Preprocessor (RMC) ---------------------*/ /** @addtogroup TMPM321_RMC TMPM321 Remote Control Signal Preprocessor (RMC) @{ */ typedef struct { __IO uint32_t EN; /*!< Offset: 0x0000 RMC Enable Register */ __IO uint32_t REN; /*!< Offset: 0x0004 RMC Receive Enable Register */ __I uint32_t RBUF1; /*!< Offset: 0x0008 RMC Receive Data Buffer Register 1 */ __I uint32_t RBUF2; /*!< Offset: 0x000C RMC Receive Data Buffer Register 2 */ __I uint32_t RBUF3; /*!< Offset: 0x0010 RMC Receive Data Buffer Register 3 */ __IO uint32_t RCR1; /*!< Offset: 0x0014 RMC Control Register 1 */ __IO uint32_t RCR2; /*!< Offset: 0x0018 RMC Control Register 2 */ __IO uint32_t RCR3; /*!< Offset: 0x001C RMC Control Register 3 */ __IO uint32_t RCR4; /*!< Offset: 0x0020 RMC Control Register 4 */ __I uint32_t RSTAT; /*!< Offset: 0x0024 RMC Status Register */ __I uint32_t RNUM1; /*!< Offset: 0x0028 RMC Receive bit Number Register 1 */ __I uint32_t RNUM2; /*!< Offset: 0x002C RMC Receive bit Number Register 2 */ __I uint32_t RNUM3; /*!< Offset: 0x0030 RMC Receive bit Number Register 3 */ __I uint32_t FSSEL; /*!< Offset: 0x0034 RMC Frequency Selection Register */ } TSB_RMC_TypeDef; /*@}*/ /* end of group TMPM321_RMC */ /*------------- 10-bit A/D Converter (A/DC) ----------------------------------*/ /** @addtogroup TMPM321_ADC TMPM321 10-bit A/D Converter (A/DC) @{ */ typedef struct { __IO uint32_t CLK; /*!< Offset: 0x0000 A/D Conversion Clock Setting Register */ __IO uint32_t MOD0; /*!< Offset: 0x0004 A/D Mode Control Register 0 */ __IO uint32_t MOD1; /*!< Offset: 0x0008 A/D Mode Control Register 1 */ __IO uint32_t MOD2; /*!< Offset: 0x000C A/D Mode Control Register 2 */ __IO uint32_t MOD3; /*!< Offset: 0x0010 A/D Mode Control Register 3 */ __IO uint32_t MOD4; /*!< Offset: 0x0014 A/D Mode Control Register 4 */ __IO uint32_t MOD5; /*!< Offset: 0x0018 A/D Mode Control Register 5 */ uint32_t RESERVED0; __IO uint32_t CBAS; /*!< Offset: 0x0020 A/D Conversion Accuracy Setting Register */ uint32_t RESERVED1[3]; __IO uint32_t REG08; /*!< Offset: 0x0030 A/D Conversion Result Register 08L */ __IO uint32_t REG19; /*!< Offset: 0x0034 A/D Conversion Result Register 19L */ __IO uint32_t REG2A; /*!< Offset: 0x0038 A/D Conversion Result Register 2AL */ __IO uint32_t REG3B; /*!< Offset: 0x003C A/D Conversion Result Register 3BL */ __IO uint32_t REG4C; /*!< Offset: 0x0040 A/D Conversion Result Register 4CL */ __IO uint32_t REG5D; /*!< Offset: 0x0044 A/D Conversion Result Register 5DL */ __IO uint32_t REG6E; /*!< Offset: 0x0048 A/D Conversion Result Register 6EL */ __IO uint32_t REG7F; /*!< Offset: 0x004C A/D Conversion Result Register 7FL */ __IO uint32_t REGSP; /*!< Offset: 0x0050 A/D Conversion Result Register SP */ __IO uint32_t CMPREG0; /*!< Offset: 0x0054 A/D Conversion Result Comparison Register 0 */ __IO uint32_t CMPREG1; /*!< Offset: 0x0058 A/D Conversion Result Comparison Register 1 */ } TSB_ADC_TypeDef; /*@}*/ /* end of group TMPM321_ADC */ /*------------- Key on Wake Up (KWUP) -----------------------------------------*/ /** @addtogroup TMPM321_KWUP TMPM321 Key on Wake Up (KWUP) @{ */ typedef struct { __IO uint32_t CR0; /*!< Offset: 0x0000 KWUP Control Register 0 */ __IO uint32_t CR1; /*!< Offset: 0x0004 KWUP Control Register 1 */ __IO uint32_t CR2; /*!< Offset: 0x0008 KWUP Control Register 2 */ __IO uint32_t CR3; /*!< Offset: 0x000C KWUP Control Register 3 */ uint32_t RESERVED0[28]; __IO uint32_t PKEY; /*!< Offset: 0x0080 KWUP Port Monitor Register */ __IO uint32_t CNT; /*!< Offset: 0x0084 KWUP Control Register */ __IO uint32_t CLR; /*!< Offset: 0x0088 KWUP Interrupt All Clear Register */ __IO uint32_t INT; /*!< Offset: 0x000C KWUP Interrupt Monitor Register */ } TSB_KWUP_TypeDef; /*@}*/ /* end of group TMPM321_KWUP */ /*------------- Watchdog Timer (WDT) -----------------------------------------*/ /** @addtogroup TMPM321_WDT TMPM321 Watchdog Timer (WDT) @{ */ typedef struct { __IO uint32_t MOD; /*!< Offset: 0x0000 WDT Mode Register */ __IO uint32_t CR; /*!< Offset: 0x0004 WDT Control Register */ } TSB_WDT_TypeDef; /*@}*/ /* end of group TMPM321_WDT */ /*------------- Real Time Clock (RTC) ----------------------------------------*/ /** @addtogroup TMPM321_RTC TMPM321 Real Time Clock (RTC) @{ */ typedef struct { __IO uint8_t SECR; /*!< Offset: 0x0000 Second Column Register */ __IO uint8_t MINR; /*!< Offset: 0x0001 Minute Column Register */ __IO uint8_t HOURR; /*!< Offset: 0x0002 Hour Column Register */ uint8_t RESERVED0; __IO uint8_t DAYR; /*!< Offset: 0x0004 Day of the Week Column Register */ __IO uint8_t DATER; /*!< Offset: 0x0005 Day Column Register */ __IO uint8_t MONTHR; /*!< Offset: 0x0006 Month Column Register */ __IO uint8_t YEARR; /*!< Offset: 0x0007 Year Column Register */ __IO uint32_t PAGER; /*!< Offset: 0x0008 PAGE Register */ __O uint32_t RESTR; /*!< Offset: 0x000C Reset Register */ } TSB_RTC_TypeDef; /*@}*/ /* end of group TMPM321_RTC */ /*------------- Clock Generator (CG) -----------------------------------------*/ /** @addtogroup TMPM321_CG TMPM321 Clock Generator (CG) @{ */ typedef struct { __IO uint32_t SYSCR; /*!< Offset: 0x0000 System Control Register */ __IO uint32_t OSCCR; /*!< Offset: 0x0004 Oscillation Control Register */ __IO uint32_t STBYCR; /*!< Offset: 0x0008 Standby Control Register */ __IO uint32_t PLLSEL; /*!< Offset: 0x000C PLL Selection Register */ __IO uint32_t CKSEL; /*!< Offset: 0x0010 System Clock Selection Register */ __IO uint32_t ICRCG; /*!< Offset: 0x0014 CG Interrupt Request Clear Register (wr) */ __IO uint32_t NMIFLG; /*!< Offset: 0x0018 NMI Flag Register (rd) */ __IO uint32_t RSTFLG; /*!< Offset: 0x001C Reset Flag Register */ __IO uint32_t IMCGA; /*!< Offset: 0x0020 CG Interrupt Mode Control Register A */ __IO uint32_t IMCGB; /*!< Offset: 0x0024 CG Interrupt Mode Control Register B */ __IO uint32_t IMCGC; /*!< Offset: 0x0028 CG Interrupt Mode Control Register C */ __IO uint32_t IMCGD; /*!< Offset: 0x002C CG Interrupt Mode Control Register D */ __IO uint32_t IMCGE; /*!< Offset: 0x0030 CG Interrupt Mode Control Register E */ __IO uint32_t IMCGF; /*!< Offset: 0x0034 CG Interrupt Mode Control Register F */ } TSB_CG_TypeDef; /*@}*/ /* end of group TMPM321_CG */ /*------------- FLASH Interface (FIF) -------------------------------------------*/ /** @addtogroup TMPM321_FIF TMPM321 FLASH Interface (FIF) @{ */ typedef struct { uint32_t RESERVED0[4]; __I uint32_t SECBITF0; /*!< Offset: 0x0010 Security Bit Register 0 */ uint32_t RESERVED1[3]; __I uint32_t FLCSF0; /*!< Offset: 0x0020 FLASH Control Register 0 */ uint32_t RESERVED2[4]; } TSB_FIF_TypeDef; /*@}*/ /* end of group TMPM321_FIF */ #if defined ( __CC_ARM ) #pragma anon_unions #endif /*@}*/ /* end of group TMPM321_Peripherals */ /******************************************************************************/ /* Memory Mapping */ /******************************************************************************/ /** @addtogroup TMPM321_MemoryMap TMPM321 Memory Mapping @{ */ #define TSB_FLASH_BASE (0x00000000UL) /*!< (FLASH ) Base Address */ #define TSB_RAM_BASE (0x20000000UL) /*!< (RAM ) Base Address */ #define TSB_PERI_BASE (0x40000000UL) /*!< (Peripheral) Base Address */ #define TSB_DMAC_BASE (TSB_PERI_BASE + 0x00000000) /*!< (DMAC ) Base Address */ #define TSB_PA_BASE (TSB_PERI_BASE + 0x000C0000) /*!< (PA ) Base Address */ #define TSB_PB_BASE (TSB_PERI_BASE + 0x000C0100) /*!< (PB ) Base Address */ #define TSB_PE_BASE (TSB_PERI_BASE + 0x000C0400) /*!< (PE ) Base Address */ #define TSB_PF_BASE (TSB_PERI_BASE + 0x000C0500) /*!< (PF ) Base Address */ #define TSB_PG_BASE (TSB_PERI_BASE + 0x000C0600) /*!< (PG ) Base Address */ #define TSB_PI_BASE (TSB_PERI_BASE + 0x000C0800) /*!< (PI ) Base Address */ #define TSB_PJ_BASE (TSB_PERI_BASE + 0x000C0900) /*!< (PJ ) Base Address */ #define TSB_PL_BASE (TSB_PERI_BASE + 0x000C0B00) /*!< (PL ) Base Address */ #define TSB_PM_BASE (TSB_PERI_BASE + 0x000C0C00) /*!< (PM ) Base Address */ #define TSB_PN_BASE (TSB_PERI_BASE + 0x000C0D00) /*!< (PN ) Base Address */ #define TSB_PP_BASE (TSB_PERI_BASE + 0x000C0F00) /*!< (PP ) Base Address */ #define TSB_TB0_BASE (TSB_PERI_BASE + 0x000D0000) /*!< (TB0 ) Base Address */ #define TSB_TB1_BASE (TSB_PERI_BASE + 0x000D0100) /*!< (TB1 ) Base Address */ #define TSB_TB2_BASE (TSB_PERI_BASE + 0x000D0200) /*!< (TB2 ) Base Address */ #define TSB_TB3_BASE (TSB_PERI_BASE + 0x000D0300) /*!< (TB3 ) Base Address */ #define TSB_TB4_BASE (TSB_PERI_BASE + 0x000D0400) /*!< (TB4 ) Base Address */ #define TSB_TB5_BASE (TSB_PERI_BASE + 0x000D0500) /*!< (TB5 ) Base Address */ #define TSB_TB6_BASE (TSB_PERI_BASE + 0x000D0600) /*!< (TB6 ) Base Address */ #define TSB_TB7_BASE (TSB_PERI_BASE + 0x000D0700) /*!< (TB7 ) Base Address */ #define TSB_SBI0_BASE (TSB_PERI_BASE + 0x000E0000) /*!< (SBI0 ) Base Address */ #define TSB_SBI1_BASE (TSB_PERI_BASE + 0x000E0100) /*!< (SBI1 ) Base Address */ #define TSB_SBI2_BASE (TSB_PERI_BASE + 0x000E0200) /*!< (SBI2 ) Base Address */ #define TSB_SBI3_BASE (TSB_PERI_BASE + 0x000E0300) /*!< (SBI3 ) Base Address */ #define TSB_SIO0_BASE (TSB_PERI_BASE + 0x000E1000) /*!< (SIO0 ) Base Address */ #define TSB_SIO1_BASE (TSB_PERI_BASE + 0x000E1100) /*!< (SIO1 ) Base Address */ #define TSB_SIO2_BASE (TSB_PERI_BASE + 0x000E1200) /*!< (SIO2 ) Base Address */ #define TSB_SIO3_BASE (TSB_PERI_BASE + 0x000E1300) /*!< (SIO3 ) Base Address */ #define TSB_SIO4_BASE (TSB_PERI_BASE + 0x000E1400) /*!< (SIO4 ) Base Address */ #define TSB_CEC_BASE (TSB_PERI_BASE + 0x000E2000) /*!< (CEC ) Base Address */ #define TSB_RMC0_BASE (TSB_PERI_BASE + 0x000E3000) /*!< (RMC0 ) Base Address */ #define TSB_ADC_BASE (TSB_PERI_BASE + 0x000F0000) /*!< (ADC ) Base Address */ #define TSB_KWUP_BASE (TSB_PERI_BASE + 0x000F1000) /*!< (KWUP ) Base Address */ #define TSB_WDT_BASE (TSB_PERI_BASE + 0x000F2000) /*!< (WDT ) Base Address */ #define TSB_RTC_BASE (TSB_PERI_BASE + 0x000F3000) /*!< (RTC ) Base Address */ #define TSB_CG_BASE (TSB_PERI_BASE + 0x000F4000) /*!< (CG ) Base Address */ #define TSB_FIF_BASE (TSB_PERI_BASE + 0x01FFF000) /*!< (FIF ) Base Address */ /*@}*/ /* end of group TMPM321_MemoryMap */ /******************************************************************************/ /* Peripheral Declaration */ /******************************************************************************/ /** @addtogroup TMPM321_PeripheralDecl TMPM321 Peripheral Declaration @{ */ #define TSB_DMAC (( TSB_DMAC_TypeDef *) TSB_DMAC_BASE) #define TSB_PA (( TSB_PORT_TypeDef *) TSB_PA_BASE) #define TSB_PB (( TSB_PORT_TypeDef *) TSB_PB_BASE) #define TSB_PE (( TSB_PORT_TypeDef *) TSB_PE_BASE) #define TSB_PF (( TSB_PORT_TypeDef *) TSB_PF_BASE) #define TSB_PG (( TSB_PORT_TypeDef *) TSB_PG_BASE) #define TSB_PI (( TSB_PORT_TypeDef *) TSB_PI_BASE) #define TSB_PJ (( TSB_PORT_TypeDef *) TSB_PJ_BASE) #define TSB_PL (( TSB_PORT_TypeDef *) TSB_PL_BASE) #define TSB_PM (( TSB_PORT_TypeDef *) TSB_PM_BASE) #define TSB_PN (( TSB_PORT_TypeDef *) TSB_PN_BASE) #define TSB_PP (( TSB_PORT_TypeDef *) TSB_PP_BASE) #define TSB_TB0 (( TSB_TMRB_TypeDef *) TSB_TB0_BASE) #define TSB_TB1 (( TSB_TMRB_TypeDef *) TSB_TB1_BASE) #define TSB_TB2 (( TSB_TMRB_TypeDef *) TSB_TB2_BASE) #define TSB_TB3 (( TSB_TMRB_TypeDef *) TSB_TB3_BASE) #define TSB_TB4 (( TSB_TMRB_TypeDef *) TSB_TB4_BASE) #define TSB_TB5 (( TSB_TMRB_TypeDef *) TSB_TB5_BASE) #define TSB_TB6 (( TSB_TMRB_TypeDef *) TSB_TB6_BASE) #define TSB_TB7 (( TSB_TMRB_TypeDef *) TSB_TB7_BASE) #define TSB_SBI0 (( TSB_SBI_TypeDef *) TSB_SBI0_BASE) #define TSB_SBI1 (( TSB_SBI_TypeDef *) TSB_SBI1_BASE) #define TSB_SBI2 (( TSB_SBI_TypeDef *) TSB_SBI2_BASE) #define TSB_SBI3 (( TSB_SBI_TypeDef *) TSB_SBI3_BASE) #define TSB_SIO0 (( TSB_SIO_TypeDef *) TSB_SIO0_BASE) #define TSB_SIO1 (( TSB_SIO_TypeDef *) TSB_SIO1_BASE) #define TSB_SIO2 (( TSB_SIO_TypeDef *) TSB_SIO2_BASE) #define TSB_SIO3 (( TSB_SIO_TypeDef *) TSB_SIO3_BASE) #define TSB_SIO4 (( TSB_SIO_TypeDef *) TSB_SIO4_BASE) #define TSB_CEC (( TSB_CEC_TypeDef *) TSB_CEC_BASE) #define TSB_RMC0 (( TSB_RMC_TypeDef *) TSB_RMC0_BASE) #define TSB_ADC (( TSB_ADC_TypeDef *) TSB_ADC_BASE) #define TSB_KWUP (( TSB_KWUP_TypeDef *) TSB_KWUP_BASE) #define TSB_WDT (( TSB_WDT_TypeDef *) TSB_WDT_BASE) #define TSB_RTC (( TSB_RTC_TypeDef *) TSB_RTC_BASE) #define TSB_CG (( TSB_CG_TypeDef *) TSB_CG_BASE) #define TSB_FIF (( TSB_FIF_TypeDef *) TSB_FIF_BASE) /*@}*/ /* end of group TMPM321_PeripheralDecl */ /*@}*/ /* end of group TMPM321_Definitions */ #ifdef __cplusplus } #endif #endif /* __TMPM321_H__ */