Trailing whitespace
[bertos.git] / bertos / cpu / cortex-m3 / io / sam3n.h
1 /**
2  * \file
3  * <!--
4  * This file is part of BeRTOS.
5  *
6  * Bertos is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License as published by
8  * the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
19  *
20  * As a special exception, you may use this file as part of a free software
21  * library without restriction.  Specifically, if other files instantiate
22  * templates or use macros or inline functions from this file, or you compile
23  * this file and link it with other files to produce an executable, this
24  * file does not by itself cause the resulting executable to be covered by
25  * the GNU General Public License.  This exception does not however
26  * invalidate any other reasons why the executable file might be covered by
27  * the GNU General Public License.
28  *
29  * Copyright 2010 Develer S.r.l. (http://www.develer.com/)
30  *
31  * -->
32  *
33  * \brief Atmel's SAM3 registers definitions.
34  *
35  * This file derives from the one included in Atmel softpack, and defines
36  * registers not yet written in standard BeRTOS include file (io/sam3_*.h) with
37  * some minor modifications for BeRTOS compatibility.
38  * You should normally use standard BeRTOS include file for register definitions
39  * (i.e. io/sam3.h, io/sam3_pio.h, io/sam3_uart.h, etc.) but in case you need
40  * register definitions for SAM3 hardware not yet supported by BeRTOS you
41  * can include this file.
42  */
43
44 /* ---------------------------------------------------------------------------- */
45 /*                  Atmel Microcontroller Software Support                      */
46 /* ---------------------------------------------------------------------------- */
47 /* Copyright (c) 2010, Atmel Corporation                                        */
48 /*                                                                              */
49 /* All rights reserved.                                                         */
50 /*                                                                              */
51 /* Redistribution and use in source and binary forms, with or without           */
52 /* modification, are permitted provided that the following condition is met:    */
53 /*                                                                              */
54 /* - Redistributions of source code must retain the above copyright notice,     */
55 /* this list of conditions and the disclaimer below.                            */
56 /*                                                                              */
57 /* Atmel's name may not be used to endorse or promote products derived from     */
58 /* this software without specific prior written permission.                     */
59 /*                                                                              */
60 /* DISCLAIMER:  THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR   */
61 /* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
62 /* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE   */
63 /* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT,      */
64 /* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
65 /* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,  */
66 /* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF    */
67 /* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING         */
68 /* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
69 /* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.                           */
70 /* ---------------------------------------------------------------------------- */
71 /*                                                                              */
72 /* File Name    : SAM3N.h */
73 /* Object       : SAM3N definitions */
74 /* Generated by : AT91 SW Application Group */
75 /* Generated on : 2010-09-06 */
76
77 #ifndef SAM3N_H
78 #define SAM3N_H
79
80 /* SAM3N_definitions SAM3N definitions
81   This file defines all structures and symbols for SAM3N:
82     - registers and bitfields
83     - peripheral base address
84     - peripheral ID
85     - PIO definitions
86 */
87
88 #ifdef __cplusplus
89  extern "C" {
90 #endif 
91
92 #ifndef __ASSEMBLY__
93 #include <stdint.h>
94 #ifndef __cplusplus
95 typedef volatile const uint32_t RoReg; /* Read only 32-bit register (volatile const unsigned int) */
96 #else
97 typedef volatile       uint32_t RoReg; /* Read only 32-bit register (volatile const unsigned int) */
98 #endif
99 typedef volatile       uint32_t WoReg; /* Write only 32-bit register (volatile unsigned int) */
100 typedef volatile       uint32_t RwReg; /* Read-Write 32-bit register (volatile unsigned int) */
101 #define CAST(type, value) ((type *) value)
102 #define REG_ACCESS(type, address) (*(type*)address) /* C code: Register value */
103 #else
104 #define CAST(type, value) (value) 
105 #define REG_ACCESS(type, address) (address) /* Assembly code: Register address */
106 #endif
107
108 /* ************************************************************************** */
109 /*   CMSIS DEFINITIONS FOR SAM3N */
110 /* ************************************************************************** */
111
112 /* Interrupt Number Definition */
113 typedef enum IRQn
114 {
115 /******  Cortex-M3 Processor Exceptions Numbers ******************************/
116   NonMaskableInt_IRQn   = -14, /*  2 Non Maskable Interrupt                */
117   MemoryManagement_IRQn = -12, /*  4 Cortex-M3 Memory Management Interrupt */
118   BusFault_IRQn         = -11, /*  5 Cortex-M3 Bus Fault Interrupt         */
119   UsageFault_IRQn       = -10, /*  6 Cortex-M3 Usage Fault Interrupt       */
120   SVCall_IRQn           = -5,  /* 11 Cortex-M3 SV Call Interrupt           */
121   DebugMonitor_IRQn     = -4,  /* 12 Cortex-M3 Debug Monitor Interrupt     */
122   PendSV_IRQn           = -2,  /* 14 Cortex-M3 Pend SV Interrupt           */
123   SysTick_IRQn          = -1,  /* 15 Cortex-M3 System Tick Interrupt       */
124 /******  SAM3N specific Interrupt Numbers *********************************/
125   
126   SUPC_IRQn            =  0, /*  0 SAM3N Supply Controller (SUPC) */
127   RSTC_IRQn            =  1, /*  1 SAM3N Reset Controller (RSTC) */
128   RTC_IRQn             =  2, /*  2 SAM3N Real Time Clock (RTC) */
129   RTT_IRQn             =  3, /*  3 SAM3N Real Time Timer (RTT) */
130   WDT_IRQn             =  4, /*  4 SAM3N Watchdog Timer (WDT) */
131   PMC_IRQn             =  5, /*  5 SAM3N Power Management Controller (PMC) */
132   EFC_IRQn             =  6, /*  6 SAM3N Enhanced Flash Controller (EFC) */
133   UART0_IRQn           =  8, /*  8 SAM3N UART 0 (UART0) */
134   UART1_IRQn           =  9, /*  9 SAM3N UART 1 (UART1) */
135   PIOA_IRQn            = 11, /* 11 SAM3N Parallel I/O Controller A (PIOA) */
136   PIOB_IRQn            = 12, /* 12 SAM3N Parallel I/O Controller B (PIOB) */
137   PIOC_IRQn            = 13, /* 13 SAM3N Parallel I/O Controller C (PIOC) */
138   USART0_IRQn          = 14, /* 14 SAM3N USART 0 (USART0) */
139   USART1_IRQn          = 15, /* 15 SAM3N USART 1 (USART1) */
140   TWI0_IRQn            = 19, /* 19 SAM3N Two Wire Interface 0 (TWI0) */
141   TWI1_IRQn            = 20, /* 20 SAM3N Two Wire Interface 1 (TWI1) */
142   SPI_IRQn             = 21, /* 21 SAM3N Serial Peripheral Interface (SPI) */
143   TC0_IRQn             = 23, /* 23 SAM3N Timer/Counter 0 (TC0) */
144   TC1_IRQn             = 24, /* 24 SAM3N Timer/Counter 1 (TC1) */
145   TC2_IRQn             = 25, /* 25 SAM3N Timer/Counter 2 (TC2) */
146   TC3_IRQn             = 26, /* 26 SAM3N Timer/Counter 3 (TC3) */
147   TC4_IRQn             = 27, /* 27 SAM3N Timer/Counter 4 (TC4) */
148   TC5_IRQn             = 28, /* 28 SAM3N Timer/Counter 5 (TC5) */
149   ADC_IRQn             = 29, /* 29 SAM3N Analog To Digital Converter (ADC) */
150   DACC_IRQn            = 30, /* 30 SAM3N Digital To Analog Converter (DACC) */
151   PWM_IRQn             = 31  /* 31 SAM3N Pulse Width Modulation (PWM) */
152 } IRQn_Type;
153
154 /*
155  *  Configuration of the Cortex-M3 Processor and Core Peripherals 
156  */
157
158 #define __MPU_PRESENT          0 /* $product does not provide a MPU */
159 #define __NVIC_PRIO_BITS       4 /* $product uses 4 Bits for the Priority Levels */
160 #define __Vendor_SysTickConfig 0 /* Set to 1 if different SysTick Config is used */
161
162
163 /* ************************************************************************** */
164 /*  SOFTWARE PERIPHERAL API DEFINITION FOR SAM3N */
165 /* ************************************************************************** */
166 /* ============================================================================= */
167 /*  SOFTWARE API DEFINITION FOR Analog-to-digital Converter */
168 /* ============================================================================= */
169
170 #ifndef __ASSEMBLY__
171 /* Adc hardware registers */
172 typedef struct {
173   WoReg ADC_CR;        /*  (Adc Offset: 0x00) Control Register */
174   RwReg ADC_MR;        /*  (Adc Offset: 0x04) Mode Register */
175   RwReg ADC_SEQR1;     /*  (Adc Offset: 0x08) Channel Sequence Register 1 */
176   RwReg ADC_SEQR2;     /*  (Adc Offset: 0x0C) Channel Sequence Register 2 */
177   WoReg ADC_CHER;      /*  (Adc Offset: 0x10) Channel Enable Register */
178   WoReg ADC_CHDR;      /*  (Adc Offset: 0x14) Channel Disable Register */
179   RoReg ADC_CHSR;      /*  (Adc Offset: 0x18) Channel Status Register */
180   RwReg Reserved1[1]; 
181   RoReg ADC_LCDR;      /*  (Adc Offset: 0x20) Last Converted Data Register */
182   WoReg ADC_IER;       /*  (Adc Offset: 0x24) Interrupt Enable Register */
183   WoReg ADC_IDR;       /*  (Adc Offset: 0x28) Interrupt Disable Register */
184   RoReg ADC_IMR;       /*  (Adc Offset: 0x2C) Interrupt Mask Register */
185   RoReg ADC_ISR;       /*  (Adc Offset: 0x30) Interrupt Status Register */
186   RwReg Reserved2[2]; 
187   RoReg ADC_OVER;      /*  (Adc Offset: 0x3C) Overrun Status Register */
188   RwReg ADC_EMR;       /*  (Adc Offset: 0x40) Extended Mode Register */
189   RwReg ADC_CWR;       /*  (Adc Offset: 0x44) Compare Window Register */
190   RwReg Reserved3[2]; 
191   RoReg ADC_CDR[16];   /*  (Adc Offset: 0x50) Channel Data Register */
192   RwReg Reserved4[21];
193   RwReg ADC_WPMR;      /*  (Adc Offset: 0xE4) Write Protect Mode Register */
194   RoReg ADC_WPSR;      /*  (Adc Offset: 0xE8) Write Protect Status Register */
195   RwReg Reserved5[5]; 
196   RwReg ADC_RPR;       /*  (Adc Offset: 0x100) Receive Pointer Register */
197   RwReg ADC_RCR;       /*  (Adc Offset: 0x104) Receive Counter Register */
198   RwReg ADC_TPR;       /*  (Adc Offset: 0x108) Transmit Pointer Register */
199   RwReg ADC_TCR;       /*  (Adc Offset: 0x10C) Transmit Counter Register */
200   RwReg ADC_RNPR;      /*  (Adc Offset: 0x110) Receive Next Pointer Register */
201   RwReg ADC_RNCR;      /*  (Adc Offset: 0x114) Receive Next Counter Register */
202   RwReg ADC_TNPR;      /*  (Adc Offset: 0x118) Transmit Next Pointer Register */
203   RwReg ADC_TNCR;      /*  (Adc Offset: 0x11C) Transmit Next Counter Register */
204   WoReg ADC_PTCR;      /*  (Adc Offset: 0x120) Transfer Control Register */
205   RoReg ADC_PTSR;      /*  (Adc Offset: 0x124) Transfer Status Register */
206 } Adc;
207 #endif /* __ASSEMBLY__ */
208 /* -------- ADC_CR : (ADC Offset: 0x00) Control Register -------- */
209 #define ADC_CR_SWRST (0x1u << 0) /*  (ADC_CR) Software Reset */
210 #define ADC_CR_START (0x1u << 1) /*  (ADC_CR) Start Conversion */
211 /* -------- ADC_MR : (ADC Offset: 0x04) Mode Register -------- */
212 #define ADC_MR_TRGEN (0x1u << 0) /*  (ADC_MR) Trigger Enable */
213 #define   ADC_MR_TRGEN_DIS (0x0u << 0) /*  (ADC_MR) Hardware triggers are disabled. Starting a conversion is only possible by software. */
214 #define   ADC_MR_TRGEN_EN (0x1u << 0) /*  (ADC_MR) Hardware trigger selected by TRGSEL field is enabled. */
215 #define ADC_MR_TRGSEL_Pos 1
216 #define ADC_MR_TRGSEL_Msk (0x7u << ADC_MR_TRGSEL_Pos) /*  (ADC_MR) Trigger Selection */
217 #define   ADC_MR_TRGSEL_ADC_TRIG0 (0x0u << 1) /*  (ADC_MR) External trigger */
218 #define   ADC_MR_TRGSEL_ADC_TRIG1 (0x1u << 1) /*  (ADC_MR) TIO Output of the Timer Counter Channel 0 */
219 #define   ADC_MR_TRGSEL_ADC_TRIG2 (0x2u << 1) /*  (ADC_MR) TIO Output of the Timer Counter Channel 1 */
220 #define   ADC_MR_TRGSEL_ADC_TRIG3 (0x3u << 1) /*  (ADC_MR) TIO Output of the Timer Counter Channel 2 */
221 #define ADC_MR_LOWRES (0x1u << 4) /*  (ADC_MR) Resolution */
222 #define   ADC_MR_LOWRES_BITS_10 (0x0u << 4) /*  (ADC_MR) 10-bit resolution */
223 #define   ADC_MR_LOWRES_BITS_8 (0x1u << 4) /*  (ADC_MR) 8-bit resolution */
224 #define ADC_MR_SLEEP (0x1u << 5) /*  (ADC_MR) Sleep Mode */
225 #define   ADC_MR_SLEEP_NORMAL (0x0u << 5) /*  (ADC_MR) Normal Mode: The ADC Core and reference voltage circuitry are kept ON between conversions */
226 #define   ADC_MR_SLEEP_SLEEP (0x1u << 5) /*  (ADC_MR) Sleep Mode: The ADC Core and reference voltage circuitry are OFF between conversions */
227 #define ADC_MR_FWUP (0x1u << 6) /*  (ADC_MR) Fast Wake Up */
228 #define   ADC_MR_FWUP_OFF (0x0u << 6) /*  (ADC_MR) Normal Sleep Mode: The sleep mode is defined by the SLEEP bit */
229 #define   ADC_MR_FWUP_ON (0x1u << 6) /*  (ADC_MR) Fast Wake Up Sleep Mode: The Voltage reference is ON between conversions and ADC Core is OFF */
230 #define ADC_MR_FREERUN (0x1u << 7) /*  (ADC_MR) Free Run Mode */
231 #define   ADC_MR_FREERUN_OFF (0x0u << 7) /*  (ADC_MR) Normal Mode */
232 #define   ADC_MR_FREERUN_ON (0x1u << 7) /*  (ADC_MR) Free Run Mode: Never wait for any trigger. */
233 #define ADC_MR_PRESCAL_Pos 8
234 #define ADC_MR_PRESCAL_Msk (0xffu << ADC_MR_PRESCAL_Pos) /*  (ADC_MR) Prescaler Rate Selection */
235 #define ADC_MR_PRESCAL(value) ((ADC_MR_PRESCAL_Msk & ((value) << ADC_MR_PRESCAL_Pos)))
236 #define ADC_MR_STARTUP_Pos 16
237 #define ADC_MR_STARTUP_Msk (0xfu << ADC_MR_STARTUP_Pos) /*  (ADC_MR) Start Up Time */
238 #define   ADC_MR_STARTUP_SUT0 (0x0u << 16) /*  (ADC_MR) 0 periods of ADCClock */
239 #define   ADC_MR_STARTUP_SUT8 (0x1u << 16) /*  (ADC_MR) 8 periods of ADCClock */
240 #define   ADC_MR_STARTUP_SUT16 (0x2u << 16) /*  (ADC_MR) 16 periods of ADCClock */
241 #define   ADC_MR_STARTUP_SUT24 (0x3u << 16) /*  (ADC_MR) 24 periods of ADCClock */
242 #define   ADC_MR_STARTUP_SUT64 (0x4u << 16) /*  (ADC_MR) 64 periods of ADCClock */
243 #define   ADC_MR_STARTUP_SUT80 (0x5u << 16) /*  (ADC_MR) 80 periods of ADCClock */
244 #define   ADC_MR_STARTUP_SUT96 (0x6u << 16) /*  (ADC_MR) 96 periods of ADCClock */
245 #define   ADC_MR_STARTUP_SUT112 (0x7u << 16) /*  (ADC_MR) 112 periods of ADCClock */
246 #define   ADC_MR_STARTUP_SUT512 (0x8u << 16) /*  (ADC_MR) 512 periods of ADCClock */
247 #define   ADC_MR_STARTUP_SUT576 (0x9u << 16) /*  (ADC_MR) 576 periods of ADCClock */
248 #define   ADC_MR_STARTUP_SUT640 (0xAu << 16) /*  (ADC_MR) 640 periods of ADCClock */
249 #define   ADC_MR_STARTUP_SUT704 (0xBu << 16) /*  (ADC_MR) 704 periods of ADCClock */
250 #define   ADC_MR_STARTUP_SUT768 (0xCu << 16) /*  (ADC_MR) 768 periods of ADCClock */
251 #define   ADC_MR_STARTUP_SUT832 (0xDu << 16) /*  (ADC_MR) 832 periods of ADCClock */
252 #define   ADC_MR_STARTUP_SUT896 (0xEu << 16) /*  (ADC_MR) 896 periods of ADCClock */
253 #define   ADC_MR_STARTUP_SUT960 (0xFu << 16) /*  (ADC_MR) 960 periods of ADCClock */
254 #define ADC_MR_TRACKTIM_Pos 24
255 #define ADC_MR_TRACKTIM_Msk (0xfu << ADC_MR_TRACKTIM_Pos) /*  (ADC_MR) Tracking Time */
256 #define ADC_MR_TRACKTIM(value) ((ADC_MR_TRACKTIM_Msk & ((value) << ADC_MR_TRACKTIM_Pos)))
257 #define ADC_MR_USEQ (0x1u << 31) /*  (ADC_MR) Use Sequence Enable */
258 #define   ADC_MR_USEQ_NUM_ORDER (0x0u << 31) /*  (ADC_MR) Normal Mode: The controller converts channels in a simple numeric order. */
259 #define   ADC_MR_USEQ_REG_ORDER (0x1u << 31) /*  (ADC_MR) User Sequence Mode: The sequence respects what is defined in ADC_SEQR1 and ADC_SEQR2 registers. */
260 /* -------- ADC_SEQR1 : (ADC Offset: 0x08) Channel Sequence Register 1 -------- */
261 #define ADC_SEQR1_USCH1_Pos 0
262 #define ADC_SEQR1_USCH1_Msk (0xfu << ADC_SEQR1_USCH1_Pos) /*  (ADC_SEQR1) User Sequence Number 1 */
263 #define ADC_SEQR1_USCH1(value) ((ADC_SEQR1_USCH1_Msk & ((value) << ADC_SEQR1_USCH1_Pos)))
264 #define ADC_SEQR1_USCH2_Pos 4
265 #define ADC_SEQR1_USCH2_Msk (0xfu << ADC_SEQR1_USCH2_Pos) /*  (ADC_SEQR1) User Sequence Number 2 */
266 #define ADC_SEQR1_USCH2(value) ((ADC_SEQR1_USCH2_Msk & ((value) << ADC_SEQR1_USCH2_Pos)))
267 #define ADC_SEQR1_USCH3_Pos 8
268 #define ADC_SEQR1_USCH3_Msk (0xfu << ADC_SEQR1_USCH3_Pos) /*  (ADC_SEQR1) User Sequence Number 3 */
269 #define ADC_SEQR1_USCH3(value) ((ADC_SEQR1_USCH3_Msk & ((value) << ADC_SEQR1_USCH3_Pos)))
270 #define ADC_SEQR1_USCH4_Pos 12
271 #define ADC_SEQR1_USCH4_Msk (0xfu << ADC_SEQR1_USCH4_Pos) /*  (ADC_SEQR1) User Sequence Number 4 */
272 #define ADC_SEQR1_USCH4(value) ((ADC_SEQR1_USCH4_Msk & ((value) << ADC_SEQR1_USCH4_Pos)))
273 #define ADC_SEQR1_USCH5_Pos 16
274 #define ADC_SEQR1_USCH5_Msk (0xfu << ADC_SEQR1_USCH5_Pos) /*  (ADC_SEQR1) User Sequence Number 5 */
275 #define ADC_SEQR1_USCH5(value) ((ADC_SEQR1_USCH5_Msk & ((value) << ADC_SEQR1_USCH5_Pos)))
276 #define ADC_SEQR1_USCH6_Pos 20
277 #define ADC_SEQR1_USCH6_Msk (0xfu << ADC_SEQR1_USCH6_Pos) /*  (ADC_SEQR1) User Sequence Number 6 */
278 #define ADC_SEQR1_USCH6(value) ((ADC_SEQR1_USCH6_Msk & ((value) << ADC_SEQR1_USCH6_Pos)))
279 #define ADC_SEQR1_USCH7_Pos 24
280 #define ADC_SEQR1_USCH7_Msk (0xfu << ADC_SEQR1_USCH7_Pos) /*  (ADC_SEQR1) User Sequence Number 7 */
281 #define ADC_SEQR1_USCH7(value) ((ADC_SEQR1_USCH7_Msk & ((value) << ADC_SEQR1_USCH7_Pos)))
282 #define ADC_SEQR1_USCH8_Pos 28
283 #define ADC_SEQR1_USCH8_Msk (0xfu << ADC_SEQR1_USCH8_Pos) /*  (ADC_SEQR1) User Sequence Number 8 */
284 #define ADC_SEQR1_USCH8(value) ((ADC_SEQR1_USCH8_Msk & ((value) << ADC_SEQR1_USCH8_Pos)))
285 /* -------- ADC_SEQR2 : (ADC Offset: 0x0C) Channel Sequence Register 2 -------- */
286 #define ADC_SEQR2_USCH9_Pos 0
287 #define ADC_SEQR2_USCH9_Msk (0xfu << ADC_SEQR2_USCH9_Pos) /*  (ADC_SEQR2) User Sequence Number 9 */
288 #define ADC_SEQR2_USCH9(value) ((ADC_SEQR2_USCH9_Msk & ((value) << ADC_SEQR2_USCH9_Pos)))
289 #define ADC_SEQR2_USCH10_Pos 4
290 #define ADC_SEQR2_USCH10_Msk (0xfu << ADC_SEQR2_USCH10_Pos) /*  (ADC_SEQR2) User Sequence Number 10 */
291 #define ADC_SEQR2_USCH10(value) ((ADC_SEQR2_USCH10_Msk & ((value) << ADC_SEQR2_USCH10_Pos)))
292 #define ADC_SEQR2_USCH11_Pos 8
293 #define ADC_SEQR2_USCH11_Msk (0xfu << ADC_SEQR2_USCH11_Pos) /*  (ADC_SEQR2) User Sequence Number 11 */
294 #define ADC_SEQR2_USCH11(value) ((ADC_SEQR2_USCH11_Msk & ((value) << ADC_SEQR2_USCH11_Pos)))
295 #define ADC_SEQR2_USCH12_Pos 12
296 #define ADC_SEQR2_USCH12_Msk (0xfu << ADC_SEQR2_USCH12_Pos) /*  (ADC_SEQR2) User Sequence Number 12 */
297 #define ADC_SEQR2_USCH12(value) ((ADC_SEQR2_USCH12_Msk & ((value) << ADC_SEQR2_USCH12_Pos)))
298 #define ADC_SEQR2_USCH13_Pos 16
299 #define ADC_SEQR2_USCH13_Msk (0xfu << ADC_SEQR2_USCH13_Pos) /*  (ADC_SEQR2) User Sequence Number 13 */
300 #define ADC_SEQR2_USCH13(value) ((ADC_SEQR2_USCH13_Msk & ((value) << ADC_SEQR2_USCH13_Pos)))
301 #define ADC_SEQR2_USCH14_Pos 20
302 #define ADC_SEQR2_USCH14_Msk (0xfu << ADC_SEQR2_USCH14_Pos) /*  (ADC_SEQR2) User Sequence Number 14 */
303 #define ADC_SEQR2_USCH14(value) ((ADC_SEQR2_USCH14_Msk & ((value) << ADC_SEQR2_USCH14_Pos)))
304 #define ADC_SEQR2_USCH15_Pos 24
305 #define ADC_SEQR2_USCH15_Msk (0xfu << ADC_SEQR2_USCH15_Pos) /*  (ADC_SEQR2) User Sequence Number 15 */
306 #define ADC_SEQR2_USCH15(value) ((ADC_SEQR2_USCH15_Msk & ((value) << ADC_SEQR2_USCH15_Pos)))
307 #define ADC_SEQR2_USCH16_Pos 28
308 #define ADC_SEQR2_USCH16_Msk (0xfu << ADC_SEQR2_USCH16_Pos) /*  (ADC_SEQR2) User Sequence Number 16 */
309 #define ADC_SEQR2_USCH16(value) ((ADC_SEQR2_USCH16_Msk & ((value) << ADC_SEQR2_USCH16_Pos)))
310 /* -------- ADC_CHER : (ADC Offset: 0x10) Channel Enable Register -------- */
311 #define ADC_CHER_CH0 (0x1u << 0) /*  (ADC_CHER) Channel 0 Enable */
312 #define ADC_CHER_CH1 (0x1u << 1) /*  (ADC_CHER) Channel 1 Enable */
313 #define ADC_CHER_CH2 (0x1u << 2) /*  (ADC_CHER) Channel 2 Enable */
314 #define ADC_CHER_CH3 (0x1u << 3) /*  (ADC_CHER) Channel 3 Enable */
315 #define ADC_CHER_CH4 (0x1u << 4) /*  (ADC_CHER) Channel 4 Enable */
316 #define ADC_CHER_CH5 (0x1u << 5) /*  (ADC_CHER) Channel 5 Enable */
317 #define ADC_CHER_CH6 (0x1u << 6) /*  (ADC_CHER) Channel 6 Enable */
318 #define ADC_CHER_CH7 (0x1u << 7) /*  (ADC_CHER) Channel 7 Enable */
319 #define ADC_CHER_CH8 (0x1u << 8) /*  (ADC_CHER) Channel 8 Enable */
320 #define ADC_CHER_CH9 (0x1u << 9) /*  (ADC_CHER) Channel 9 Enable */
321 #define ADC_CHER_CH10 (0x1u << 10) /*  (ADC_CHER) Channel 10 Enable */
322 #define ADC_CHER_CH11 (0x1u << 11) /*  (ADC_CHER) Channel 11 Enable */
323 #define ADC_CHER_CH12 (0x1u << 12) /*  (ADC_CHER) Channel 12 Enable */
324 #define ADC_CHER_CH13 (0x1u << 13) /*  (ADC_CHER) Channel 13 Enable */
325 #define ADC_CHER_CH14 (0x1u << 14) /*  (ADC_CHER) Channel 14 Enable */
326 #define ADC_CHER_CH15 (0x1u << 15) /*  (ADC_CHER) Channel 15 Enable */
327 /* -------- ADC_CHDR : (ADC Offset: 0x14) Channel Disable Register -------- */
328 #define ADC_CHDR_CH0 (0x1u << 0) /*  (ADC_CHDR) Channel 0 Disable */
329 #define ADC_CHDR_CH1 (0x1u << 1) /*  (ADC_CHDR) Channel 1 Disable */
330 #define ADC_CHDR_CH2 (0x1u << 2) /*  (ADC_CHDR) Channel 2 Disable */
331 #define ADC_CHDR_CH3 (0x1u << 3) /*  (ADC_CHDR) Channel 3 Disable */
332 #define ADC_CHDR_CH4 (0x1u << 4) /*  (ADC_CHDR) Channel 4 Disable */
333 #define ADC_CHDR_CH5 (0x1u << 5) /*  (ADC_CHDR) Channel 5 Disable */
334 #define ADC_CHDR_CH6 (0x1u << 6) /*  (ADC_CHDR) Channel 6 Disable */
335 #define ADC_CHDR_CH7 (0x1u << 7) /*  (ADC_CHDR) Channel 7 Disable */
336 #define ADC_CHDR_CH8 (0x1u << 8) /*  (ADC_CHDR) Channel 8 Disable */
337 #define ADC_CHDR_CH9 (0x1u << 9) /*  (ADC_CHDR) Channel 9 Disable */
338 #define ADC_CHDR_CH10 (0x1u << 10) /*  (ADC_CHDR) Channel 10 Disable */
339 #define ADC_CHDR_CH11 (0x1u << 11) /*  (ADC_CHDR) Channel 11 Disable */
340 #define ADC_CHDR_CH12 (0x1u << 12) /*  (ADC_CHDR) Channel 12 Disable */
341 #define ADC_CHDR_CH13 (0x1u << 13) /*  (ADC_CHDR) Channel 13 Disable */
342 #define ADC_CHDR_CH14 (0x1u << 14) /*  (ADC_CHDR) Channel 14 Disable */
343 #define ADC_CHDR_CH15 (0x1u << 15) /*  (ADC_CHDR) Channel 15 Disable */
344 /* -------- ADC_CHSR : (ADC Offset: 0x18) Channel Status Register -------- */
345 #define ADC_CHSR_CH0 (0x1u << 0) /*  (ADC_CHSR) Channel 0 Status */
346 #define ADC_CHSR_CH1 (0x1u << 1) /*  (ADC_CHSR) Channel 1 Status */
347 #define ADC_CHSR_CH2 (0x1u << 2) /*  (ADC_CHSR) Channel 2 Status */
348 #define ADC_CHSR_CH3 (0x1u << 3) /*  (ADC_CHSR) Channel 3 Status */
349 #define ADC_CHSR_CH4 (0x1u << 4) /*  (ADC_CHSR) Channel 4 Status */
350 #define ADC_CHSR_CH5 (0x1u << 5) /*  (ADC_CHSR) Channel 5 Status */
351 #define ADC_CHSR_CH6 (0x1u << 6) /*  (ADC_CHSR) Channel 6 Status */
352 #define ADC_CHSR_CH7 (0x1u << 7) /*  (ADC_CHSR) Channel 7 Status */
353 #define ADC_CHSR_CH8 (0x1u << 8) /*  (ADC_CHSR) Channel 8 Status */
354 #define ADC_CHSR_CH9 (0x1u << 9) /*  (ADC_CHSR) Channel 9 Status */
355 #define ADC_CHSR_CH10 (0x1u << 10) /*  (ADC_CHSR) Channel 10 Status */
356 #define ADC_CHSR_CH11 (0x1u << 11) /*  (ADC_CHSR) Channel 11 Status */
357 #define ADC_CHSR_CH12 (0x1u << 12) /*  (ADC_CHSR) Channel 12 Status */
358 #define ADC_CHSR_CH13 (0x1u << 13) /*  (ADC_CHSR) Channel 13 Status */
359 #define ADC_CHSR_CH14 (0x1u << 14) /*  (ADC_CHSR) Channel 14 Status */
360 #define ADC_CHSR_CH15 (0x1u << 15) /*  (ADC_CHSR) Channel 15 Status */
361 /* -------- ADC_LCDR : (ADC Offset: 0x20) Last Converted Data Register -------- */
362 #define ADC_LCDR_LDATA_Pos 0
363 #define ADC_LCDR_LDATA_Msk (0xfffu << ADC_LCDR_LDATA_Pos) /*  (ADC_LCDR) Last Data Converted */
364 #define ADC_LCDR_CHNB_Pos 12
365 #define ADC_LCDR_CHNB_Msk (0xfu << ADC_LCDR_CHNB_Pos) /*  (ADC_LCDR) Channel Number */
366 /* -------- ADC_IER : (ADC Offset: 0x24) Interrupt Enable Register -------- */
367 #define ADC_IER_EOC0 (0x1u << 0) /*  (ADC_IER) End of Conversion Interrupt Enable 0 */
368 #define ADC_IER_EOC1 (0x1u << 1) /*  (ADC_IER) End of Conversion Interrupt Enable 1 */
369 #define ADC_IER_EOC2 (0x1u << 2) /*  (ADC_IER) End of Conversion Interrupt Enable 2 */
370 #define ADC_IER_EOC3 (0x1u << 3) /*  (ADC_IER) End of Conversion Interrupt Enable 3 */
371 #define ADC_IER_EOC4 (0x1u << 4) /*  (ADC_IER) End of Conversion Interrupt Enable 4 */
372 #define ADC_IER_EOC5 (0x1u << 5) /*  (ADC_IER) End of Conversion Interrupt Enable 5 */
373 #define ADC_IER_EOC6 (0x1u << 6) /*  (ADC_IER) End of Conversion Interrupt Enable 6 */
374 #define ADC_IER_EOC7 (0x1u << 7) /*  (ADC_IER) End of Conversion Interrupt Enable 7 */
375 #define ADC_IER_EOC8 (0x1u << 8) /*  (ADC_IER) End of Conversion Interrupt Enable 8 */
376 #define ADC_IER_EOC9 (0x1u << 9) /*  (ADC_IER) End of Conversion Interrupt Enable 9 */
377 #define ADC_IER_EOC10 (0x1u << 10) /*  (ADC_IER) End of Conversion Interrupt Enable 10 */
378 #define ADC_IER_EOC11 (0x1u << 11) /*  (ADC_IER) End of Conversion Interrupt Enable 11 */
379 #define ADC_IER_EOC12 (0x1u << 12) /*  (ADC_IER) End of Conversion Interrupt Enable 12 */
380 #define ADC_IER_EOC13 (0x1u << 13) /*  (ADC_IER) End of Conversion Interrupt Enable 13 */
381 #define ADC_IER_EOC14 (0x1u << 14) /*  (ADC_IER) End of Conversion Interrupt Enable 14 */
382 #define ADC_IER_EOC15 (0x1u << 15) /*  (ADC_IER) End of Conversion Interrupt Enable 15 */
383 #define ADC_IER_DRDY (0x1u << 24) /*  (ADC_IER) Data Ready Interrupt Enable */
384 #define ADC_IER_GOVRE (0x1u << 25) /*  (ADC_IER) General Overrun Error Interrupt Enable */
385 #define ADC_IER_COMPE (0x1u << 26) /*  (ADC_IER) Comparison Event Interrupt Enable */
386 #define ADC_IER_ENDRX (0x1u << 27) /*  (ADC_IER) End of Receive Buffer Interrupt Enable */
387 #define ADC_IER_RXBUFF (0x1u << 28) /*  (ADC_IER) Receive Buffer Full Interrupt Enable */
388 /* -------- ADC_IDR : (ADC Offset: 0x28) Interrupt Disable Register -------- */
389 #define ADC_IDR_EOC0 (0x1u << 0) /*  (ADC_IDR) End of Conversion Interrupt Disable 0 */
390 #define ADC_IDR_EOC1 (0x1u << 1) /*  (ADC_IDR) End of Conversion Interrupt Disable 1 */
391 #define ADC_IDR_EOC2 (0x1u << 2) /*  (ADC_IDR) End of Conversion Interrupt Disable 2 */
392 #define ADC_IDR_EOC3 (0x1u << 3) /*  (ADC_IDR) End of Conversion Interrupt Disable 3 */
393 #define ADC_IDR_EOC4 (0x1u << 4) /*  (ADC_IDR) End of Conversion Interrupt Disable 4 */
394 #define ADC_IDR_EOC5 (0x1u << 5) /*  (ADC_IDR) End of Conversion Interrupt Disable 5 */
395 #define ADC_IDR_EOC6 (0x1u << 6) /*  (ADC_IDR) End of Conversion Interrupt Disable 6 */
396 #define ADC_IDR_EOC7 (0x1u << 7) /*  (ADC_IDR) End of Conversion Interrupt Disable 7 */
397 #define ADC_IDR_EOC8 (0x1u << 8) /*  (ADC_IDR) End of Conversion Interrupt Disable 8 */
398 #define ADC_IDR_EOC9 (0x1u << 9) /*  (ADC_IDR) End of Conversion Interrupt Disable 9 */
399 #define ADC_IDR_EOC10 (0x1u << 10) /*  (ADC_IDR) End of Conversion Interrupt Disable 10 */
400 #define ADC_IDR_EOC11 (0x1u << 11) /*  (ADC_IDR) End of Conversion Interrupt Disable 11 */
401 #define ADC_IDR_EOC12 (0x1u << 12) /*  (ADC_IDR) End of Conversion Interrupt Disable 12 */
402 #define ADC_IDR_EOC13 (0x1u << 13) /*  (ADC_IDR) End of Conversion Interrupt Disable 13 */
403 #define ADC_IDR_EOC14 (0x1u << 14) /*  (ADC_IDR) End of Conversion Interrupt Disable 14 */
404 #define ADC_IDR_EOC15 (0x1u << 15) /*  (ADC_IDR) End of Conversion Interrupt Disable 15 */
405 #define ADC_IDR_DRDY (0x1u << 24) /*  (ADC_IDR) Data Ready Interrupt Disable */
406 #define ADC_IDR_GOVRE (0x1u << 25) /*  (ADC_IDR) General Overrun Error Interrupt Disable */
407 #define ADC_IDR_COMPE (0x1u << 26) /*  (ADC_IDR) Comparison Event Interrupt Disable */
408 #define ADC_IDR_ENDRX (0x1u << 27) /*  (ADC_IDR) End of Receive Buffer Interrupt Disable */
409 #define ADC_IDR_RXBUFF (0x1u << 28) /*  (ADC_IDR) Receive Buffer Full Interrupt Disable */
410 /* -------- ADC_IMR : (ADC Offset: 0x2C) Interrupt Mask Register -------- */
411 #define ADC_IMR_EOC0 (0x1u << 0) /*  (ADC_IMR) End of Conversion Interrupt Mask 0 */
412 #define ADC_IMR_EOC1 (0x1u << 1) /*  (ADC_IMR) End of Conversion Interrupt Mask 1 */
413 #define ADC_IMR_EOC2 (0x1u << 2) /*  (ADC_IMR) End of Conversion Interrupt Mask 2 */
414 #define ADC_IMR_EOC3 (0x1u << 3) /*  (ADC_IMR) End of Conversion Interrupt Mask 3 */
415 #define ADC_IMR_EOC4 (0x1u << 4) /*  (ADC_IMR) End of Conversion Interrupt Mask 4 */
416 #define ADC_IMR_EOC5 (0x1u << 5) /*  (ADC_IMR) End of Conversion Interrupt Mask 5 */
417 #define ADC_IMR_EOC6 (0x1u << 6) /*  (ADC_IMR) End of Conversion Interrupt Mask 6 */
418 #define ADC_IMR_EOC7 (0x1u << 7) /*  (ADC_IMR) End of Conversion Interrupt Mask 7 */
419 #define ADC_IMR_EOC8 (0x1u << 8) /*  (ADC_IMR) End of Conversion Interrupt Mask 8 */
420 #define ADC_IMR_EOC9 (0x1u << 9) /*  (ADC_IMR) End of Conversion Interrupt Mask 9 */
421 #define ADC_IMR_EOC10 (0x1u << 10) /*  (ADC_IMR) End of Conversion Interrupt Mask 10 */
422 #define ADC_IMR_EOC11 (0x1u << 11) /*  (ADC_IMR) End of Conversion Interrupt Mask 11 */
423 #define ADC_IMR_EOC12 (0x1u << 12) /*  (ADC_IMR) End of Conversion Interrupt Mask 12 */
424 #define ADC_IMR_EOC13 (0x1u << 13) /*  (ADC_IMR) End of Conversion Interrupt Mask 13 */
425 #define ADC_IMR_EOC14 (0x1u << 14) /*  (ADC_IMR) End of Conversion Interrupt Mask 14 */
426 #define ADC_IMR_EOC15 (0x1u << 15) /*  (ADC_IMR) End of Conversion Interrupt Mask 15 */
427 #define ADC_IMR_DRDY (0x1u << 24) /*  (ADC_IMR) Data Ready Interrupt Mask */
428 #define ADC_IMR_GOVRE (0x1u << 25) /*  (ADC_IMR) General Overrun Error Interrupt Mask */
429 #define ADC_IMR_COMPE (0x1u << 26) /*  (ADC_IMR) Comparison Event Interrupt Mask */
430 #define ADC_IMR_ENDRX (0x1u << 27) /*  (ADC_IMR) End of Receive Buffer Interrupt Mask */
431 #define ADC_IMR_RXBUFF (0x1u << 28) /*  (ADC_IMR) Receive Buffer Full Interrupt Mask */
432 /* -------- ADC_ISR : (ADC Offset: 0x30) Interrupt Status Register -------- */
433 #define ADC_ISR_EOC0 (0x1u << 0) /*  (ADC_ISR) End of Conversion 0 */
434 #define ADC_ISR_EOC1 (0x1u << 1) /*  (ADC_ISR) End of Conversion 1 */
435 #define ADC_ISR_EOC2 (0x1u << 2) /*  (ADC_ISR) End of Conversion 2 */
436 #define ADC_ISR_EOC3 (0x1u << 3) /*  (ADC_ISR) End of Conversion 3 */
437 #define ADC_ISR_EOC4 (0x1u << 4) /*  (ADC_ISR) End of Conversion 4 */
438 #define ADC_ISR_EOC5 (0x1u << 5) /*  (ADC_ISR) End of Conversion 5 */
439 #define ADC_ISR_EOC6 (0x1u << 6) /*  (ADC_ISR) End of Conversion 6 */
440 #define ADC_ISR_EOC7 (0x1u << 7) /*  (ADC_ISR) End of Conversion 7 */
441 #define ADC_ISR_EOC8 (0x1u << 8) /*  (ADC_ISR) End of Conversion 8 */
442 #define ADC_ISR_EOC9 (0x1u << 9) /*  (ADC_ISR) End of Conversion 9 */
443 #define ADC_ISR_EOC10 (0x1u << 10) /*  (ADC_ISR) End of Conversion 10 */
444 #define ADC_ISR_EOC11 (0x1u << 11) /*  (ADC_ISR) End of Conversion 11 */
445 #define ADC_ISR_EOC12 (0x1u << 12) /*  (ADC_ISR) End of Conversion 12 */
446 #define ADC_ISR_EOC13 (0x1u << 13) /*  (ADC_ISR) End of Conversion 13 */
447 #define ADC_ISR_EOC14 (0x1u << 14) /*  (ADC_ISR) End of Conversion 14 */
448 #define ADC_ISR_EOC15 (0x1u << 15) /*  (ADC_ISR) End of Conversion 15 */
449 #define ADC_ISR_DRDY (0x1u << 24) /*  (ADC_ISR) Data Ready */
450 #define ADC_ISR_GOVRE (0x1u << 25) /*  (ADC_ISR) General Overrun Error */
451 #define ADC_ISR_COMPE (0x1u << 26) /*  (ADC_ISR) Comparison Error */
452 #define ADC_ISR_ENDRX (0x1u << 27) /*  (ADC_ISR) End of RX Buffer */
453 #define ADC_ISR_RXBUFF (0x1u << 28) /*  (ADC_ISR) RX Buffer Full */
454 /* -------- ADC_OVER : (ADC Offset: 0x3C) Overrun Status Register -------- */
455 #define ADC_OVER_OVRE0 (0x1u << 0) /*  (ADC_OVER) Overrun Error 0 */
456 #define ADC_OVER_OVRE1 (0x1u << 1) /*  (ADC_OVER) Overrun Error 1 */
457 #define ADC_OVER_OVRE2 (0x1u << 2) /*  (ADC_OVER) Overrun Error 2 */
458 #define ADC_OVER_OVRE3 (0x1u << 3) /*  (ADC_OVER) Overrun Error 3 */
459 #define ADC_OVER_OVRE4 (0x1u << 4) /*  (ADC_OVER) Overrun Error 4 */
460 #define ADC_OVER_OVRE5 (0x1u << 5) /*  (ADC_OVER) Overrun Error 5 */
461 #define ADC_OVER_OVRE6 (0x1u << 6) /*  (ADC_OVER) Overrun Error 6 */
462 #define ADC_OVER_OVRE7 (0x1u << 7) /*  (ADC_OVER) Overrun Error 7 */
463 #define ADC_OVER_OVRE8 (0x1u << 8) /*  (ADC_OVER) Overrun Error 8 */
464 #define ADC_OVER_OVRE9 (0x1u << 9) /*  (ADC_OVER) Overrun Error 9 */
465 #define ADC_OVER_OVRE10 (0x1u << 10) /*  (ADC_OVER) Overrun Error 10 */
466 #define ADC_OVER_OVRE11 (0x1u << 11) /*  (ADC_OVER) Overrun Error 11 */
467 #define ADC_OVER_OVRE12 (0x1u << 12) /*  (ADC_OVER) Overrun Error 12 */
468 #define ADC_OVER_OVRE13 (0x1u << 13) /*  (ADC_OVER) Overrun Error 13 */
469 #define ADC_OVER_OVRE14 (0x1u << 14) /*  (ADC_OVER) Overrun Error 14 */
470 #define ADC_OVER_OVRE15 (0x1u << 15) /*  (ADC_OVER) Overrun Error 15 */
471 /* -------- ADC_EMR : (ADC Offset: 0x40) Extended Mode Register -------- */
472 #define ADC_EMR_CMPMODE_Pos 0
473 #define ADC_EMR_CMPMODE_Msk (0x3u << ADC_EMR_CMPMODE_Pos) /*  (ADC_EMR) Comparison Mode */
474 #define   ADC_EMR_CMPMODE_LOW (0x0u << 0) /*  (ADC_EMR) Generates an event when the converted data is lower than the low threshold of the window. */
475 #define   ADC_EMR_CMPMODE_HIGH (0x1u << 0) /*  (ADC_EMR) Generates an event when the converted data is higher than the high threshold of the window. */
476 #define   ADC_EMR_CMPMODE_IN (0x2u << 0) /*  (ADC_EMR) Generates an event when the converted data is in the comparison window. */
477 #define   ADC_EMR_CMPMODE_OUT (0x3u << 0) /*  (ADC_EMR) Generates an event when the converted data is out of the comparison window. */
478 #define ADC_EMR_CMPSEL_Pos 4
479 #define ADC_EMR_CMPSEL_Msk (0xfu << ADC_EMR_CMPSEL_Pos) /*  (ADC_EMR) Comparison Selected Channel */
480 #define ADC_EMR_CMPSEL(value) ((ADC_EMR_CMPSEL_Msk & ((value) << ADC_EMR_CMPSEL_Pos)))
481 #define ADC_EMR_CMPALL (0x1u << 9) /*  (ADC_EMR) Compare All Channels */
482 #define ADC_EMR_TAG (0x1u << 24) /*  (ADC_EMR) TAG of ADC_LDCR register */
483 /* -------- ADC_CWR : (ADC Offset: 0x44) Compare Window Register -------- */
484 #define ADC_CWR_LOWTHRES_Pos 0
485 #define ADC_CWR_LOWTHRES_Msk (0xfffu << ADC_CWR_LOWTHRES_Pos) /*  (ADC_CWR) Low Threshold */
486 #define ADC_CWR_LOWTHRES(value) ((ADC_CWR_LOWTHRES_Msk & ((value) << ADC_CWR_LOWTHRES_Pos)))
487 #define ADC_CWR_HIGHTHRES_Pos 16
488 #define ADC_CWR_HIGHTHRES_Msk (0xfffu << ADC_CWR_HIGHTHRES_Pos) /*  (ADC_CWR) High Threshold */
489 #define ADC_CWR_HIGHTHRES(value) ((ADC_CWR_HIGHTHRES_Msk & ((value) << ADC_CWR_HIGHTHRES_Pos)))
490 /* -------- ADC_CDR[16] : (ADC Offset: 0x50) Channel Data Register -------- */
491 #define ADC_CDR_DATA_Pos 0
492 #define ADC_CDR_DATA_Msk (0x3ffu << ADC_CDR_DATA_Pos) /*  (ADC_CDR[16]) Converted Data */
493 /* -------- ADC_WPMR : (ADC Offset: 0xE4) Write Protect Mode Register -------- */
494 #define ADC_WPMR_WPEN (0x1u << 0) /*  (ADC_WPMR) Write Protect Enable */
495 #define ADC_WPMR_WPKEY_Pos 8
496 #define ADC_WPMR_WPKEY_Msk (0xffffffu << ADC_WPMR_WPKEY_Pos) /*  (ADC_WPMR) Write Protect KEY */
497 #define ADC_WPMR_WPKEY(value) ((ADC_WPMR_WPKEY_Msk & ((value) << ADC_WPMR_WPKEY_Pos)))
498 /* -------- ADC_WPSR : (ADC Offset: 0xE8) Write Protect Status Register -------- */
499 #define ADC_WPSR_WPVS (0x1u << 0) /*  (ADC_WPSR) Write Protect Violation Status */
500 #define ADC_WPSR_WPVSRC_Pos 8
501 #define ADC_WPSR_WPVSRC_Msk (0xffffu << ADC_WPSR_WPVSRC_Pos) /*  (ADC_WPSR) Write Protect Violation Source */
502 /* -------- ADC_RPR : (ADC Offset: 0x100) Receive Pointer Register -------- */
503 #define ADC_RPR_RXPTR_Pos 0
504 #define ADC_RPR_RXPTR_Msk (0xffffffffu << ADC_RPR_RXPTR_Pos) /*  (ADC_RPR) Receive Pointer Register */
505 #define ADC_RPR_RXPTR(value) ((ADC_RPR_RXPTR_Msk & ((value) << ADC_RPR_RXPTR_Pos)))
506 /* -------- ADC_RCR : (ADC Offset: 0x104) Receive Counter Register -------- */
507 #define ADC_RCR_RXCTR_Pos 0
508 #define ADC_RCR_RXCTR_Msk (0xffffu << ADC_RCR_RXCTR_Pos) /*  (ADC_RCR) Receive Counter Register */
509 #define ADC_RCR_RXCTR(value) ((ADC_RCR_RXCTR_Msk & ((value) << ADC_RCR_RXCTR_Pos)))
510 /* -------- ADC_TPR : (ADC Offset: 0x108) Transmit Pointer Register -------- */
511 #define ADC_TPR_TXPTR_Pos 0
512 #define ADC_TPR_TXPTR_Msk (0xffffffffu << ADC_TPR_TXPTR_Pos) /*  (ADC_TPR) Transmit Counter Register */
513 #define ADC_TPR_TXPTR(value) ((ADC_TPR_TXPTR_Msk & ((value) << ADC_TPR_TXPTR_Pos)))
514 /* -------- ADC_TCR : (ADC Offset: 0x10C) Transmit Counter Register -------- */
515 #define ADC_TCR_TXCTR_Pos 0
516 #define ADC_TCR_TXCTR_Msk (0xffffu << ADC_TCR_TXCTR_Pos) /*  (ADC_TCR) Transmit Counter Register */
517 #define ADC_TCR_TXCTR(value) ((ADC_TCR_TXCTR_Msk & ((value) << ADC_TCR_TXCTR_Pos)))
518 /* -------- ADC_RNPR : (ADC Offset: 0x110) Receive Next Pointer Register -------- */
519 #define ADC_RNPR_RXNPTR_Pos 0
520 #define ADC_RNPR_RXNPTR_Msk (0xffffffffu << ADC_RNPR_RXNPTR_Pos) /*  (ADC_RNPR) Receive Next Pointer */
521 #define ADC_RNPR_RXNPTR(value) ((ADC_RNPR_RXNPTR_Msk & ((value) << ADC_RNPR_RXNPTR_Pos)))
522 /* -------- ADC_RNCR : (ADC Offset: 0x114) Receive Next Counter Register -------- */
523 #define ADC_RNCR_RXNCTR_Pos 0
524 #define ADC_RNCR_RXNCTR_Msk (0xffffu << ADC_RNCR_RXNCTR_Pos) /*  (ADC_RNCR) Receive Next Counter */
525 #define ADC_RNCR_RXNCTR(value) ((ADC_RNCR_RXNCTR_Msk & ((value) << ADC_RNCR_RXNCTR_Pos)))
526 /* -------- ADC_TNPR : (ADC Offset: 0x118) Transmit Next Pointer Register -------- */
527 #define ADC_TNPR_TXNPTR_Pos 0
528 #define ADC_TNPR_TXNPTR_Msk (0xffffffffu << ADC_TNPR_TXNPTR_Pos) /*  (ADC_TNPR) Transmit Next Pointer */
529 #define ADC_TNPR_TXNPTR(value) ((ADC_TNPR_TXNPTR_Msk & ((value) << ADC_TNPR_TXNPTR_Pos)))
530 /* -------- ADC_TNCR : (ADC Offset: 0x11C) Transmit Next Counter Register -------- */
531 #define ADC_TNCR_TXNCTR_Pos 0
532 #define ADC_TNCR_TXNCTR_Msk (0xffffu << ADC_TNCR_TXNCTR_Pos) /*  (ADC_TNCR) Transmit Counter Next */
533 #define ADC_TNCR_TXNCTR(value) ((ADC_TNCR_TXNCTR_Msk & ((value) << ADC_TNCR_TXNCTR_Pos)))
534 /* -------- ADC_PTCR : (ADC Offset: 0x120) Transfer Control Register -------- */
535 #define ADC_PTCR_RXTEN (0x1u << 0) /*  (ADC_PTCR) Receiver Transfer Enable */
536 #define ADC_PTCR_RXTDIS (0x1u << 1) /*  (ADC_PTCR) Receiver Transfer Disable */
537 #define ADC_PTCR_TXTEN (0x1u << 8) /*  (ADC_PTCR) Transmitter Transfer Enable */
538 #define ADC_PTCR_TXTDIS (0x1u << 9) /*  (ADC_PTCR) Transmitter Transfer Disable */
539 /* -------- ADC_PTSR : (ADC Offset: 0x124) Transfer Status Register -------- */
540 #define ADC_PTSR_RXTEN (0x1u << 0) /*  (ADC_PTSR) Receiver Transfer Enable */
541 #define ADC_PTSR_TXTEN (0x1u << 8) /*  (ADC_PTSR) Transmitter Transfer Enable */
542
543
544 /* ============================================================================= */
545 /*  SOFTWARE API DEFINITION FOR Chip Identifier */
546 /* ============================================================================= */
547
548 #ifndef __ASSEMBLY__
549 /* Chipid hardware registers */
550 typedef struct {
551   RoReg CHIPID_CIDR; /*  (Chipid Offset: 0x0) Chip ID Register */
552   RoReg CHIPID_EXID; /*  (Chipid Offset: 0x4) Chip ID Extension Register */
553 } Chipid;
554 #endif /* __ASSEMBLY__ */
555 /* -------- CHIPID_CIDR : (CHIPID Offset: 0x0) Chip ID Register -------- */
556 #define CHIPID_CIDR_VERSION_Pos 0
557 #define CHIPID_CIDR_VERSION_Msk (0x1fu << CHIPID_CIDR_VERSION_Pos) /*  (CHIPID_CIDR) Version of the Device */
558 #define CHIPID_CIDR_EPROC_Pos 5
559 #define CHIPID_CIDR_EPROC_Msk (0x7u << CHIPID_CIDR_EPROC_Pos) /*  (CHIPID_CIDR) Embedded Processor */
560 #define   CHIPID_CIDR_EPROC_ARM946ES (0x1u << 5) /*  (CHIPID_CIDR) ARM946ES */
561 #define   CHIPID_CIDR_EPROC_ARM7TDMI (0x2u << 5) /*  (CHIPID_CIDR) ARM7TDMI */
562 #define   CHIPID_CIDR_EPROC_CM3 (0x3u << 5) /*  (CHIPID_CIDR) Cortex-M3 */
563 #define   CHIPID_CIDR_EPROC_ARM920T (0x4u << 5) /*  (CHIPID_CIDR) ARM920T */
564 #define   CHIPID_CIDR_EPROC_ARM926EJS (0x5u << 5) /*  (CHIPID_CIDR) ARM926EJS */
565 #define   CHIPID_CIDR_EPROC_CA5 (0x6u << 5) /*  (CHIPID_CIDR) Cortex-A5 */
566 #define CHIPID_CIDR_NVPSIZ_Pos 8
567 #define CHIPID_CIDR_NVPSIZ_Msk (0xfu << CHIPID_CIDR_NVPSIZ_Pos) /*  (CHIPID_CIDR) Nonvolatile Program Memory Size */
568 #define   CHIPID_CIDR_NVPSIZ_NONE (0x0u << 8) /*  (CHIPID_CIDR) None */
569 #define   CHIPID_CIDR_NVPSIZ_8K (0x1u << 8) /*  (CHIPID_CIDR) 8K bytes */
570 #define   CHIPID_CIDR_NVPSIZ_16K (0x2u << 8) /*  (CHIPID_CIDR) 16K bytes */
571 #define   CHIPID_CIDR_NVPSIZ_32K (0x3u << 8) /*  (CHIPID_CIDR) 32K bytes */
572 #define   CHIPID_CIDR_NVPSIZ_64K (0x5u << 8) /*  (CHIPID_CIDR) 64K bytes */
573 #define   CHIPID_CIDR_NVPSIZ_128K (0x7u << 8) /*  (CHIPID_CIDR) 128K bytes */
574 #define   CHIPID_CIDR_NVPSIZ_256K (0x9u << 8) /*  (CHIPID_CIDR) 256K bytes */
575 #define   CHIPID_CIDR_NVPSIZ_512K (0xAu << 8) /*  (CHIPID_CIDR) 512K bytes */
576 #define   CHIPID_CIDR_NVPSIZ_1024K (0xCu << 8) /*  (CHIPID_CIDR) 1024K bytes */
577 #define   CHIPID_CIDR_NVPSIZ_2048K (0xEu << 8) /*  (CHIPID_CIDR) 2048K bytes */
578 #define CHIPID_CIDR_NVPSIZ2_Pos 12
579 #define CHIPID_CIDR_NVPSIZ2_Msk (0xfu << CHIPID_CIDR_NVPSIZ2_Pos) /*  (CHIPID_CIDR)  */
580 #define   CHIPID_CIDR_NVPSIZ2_NONE (0x0u << 12) /*  (CHIPID_CIDR) None */
581 #define   CHIPID_CIDR_NVPSIZ2_8K (0x1u << 12) /*  (CHIPID_CIDR) 8K bytes */
582 #define   CHIPID_CIDR_NVPSIZ2_16K (0x2u << 12) /*  (CHIPID_CIDR) 16K bytes */
583 #define   CHIPID_CIDR_NVPSIZ2_32K (0x3u << 12) /*  (CHIPID_CIDR) 32K bytes */
584 #define   CHIPID_CIDR_NVPSIZ2_64K (0x5u << 12) /*  (CHIPID_CIDR) 64K bytes */
585 #define   CHIPID_CIDR_NVPSIZ2_128K (0x7u << 12) /*  (CHIPID_CIDR) 128K bytes */
586 #define   CHIPID_CIDR_NVPSIZ2_256K (0x9u << 12) /*  (CHIPID_CIDR) 256K bytes */
587 #define   CHIPID_CIDR_NVPSIZ2_512K (0xAu << 12) /*  (CHIPID_CIDR) 512K bytes */
588 #define   CHIPID_CIDR_NVPSIZ2_1024K (0xCu << 12) /*  (CHIPID_CIDR) 1024K bytes */
589 #define   CHIPID_CIDR_NVPSIZ2_2048K (0xEu << 12) /*  (CHIPID_CIDR) 2048K bytes */
590 #define CHIPID_CIDR_SRAMSIZ_Pos 16
591 #define CHIPID_CIDR_SRAMSIZ_Msk (0xfu << CHIPID_CIDR_SRAMSIZ_Pos) /*  (CHIPID_CIDR) Internal SRAM Size */
592 #define   CHIPID_CIDR_SRAMSIZ_48K (0x0u << 16) /*  (CHIPID_CIDR) 48K bytes */
593 #define   CHIPID_CIDR_SRAMSIZ_1K (0x1u << 16) /*  (CHIPID_CIDR) 1K bytes */
594 #define   CHIPID_CIDR_SRAMSIZ_2K (0x2u << 16) /*  (CHIPID_CIDR) 2K bytes */
595 #define   CHIPID_CIDR_SRAMSIZ_6K (0x3u << 16) /*  (CHIPID_CIDR) 6K bytes */
596 #define   CHIPID_CIDR_SRAMSIZ_112K (0x4u << 16) /*  (CHIPID_CIDR) 112K bytes */
597 #define   CHIPID_CIDR_SRAMSIZ_4K (0x5u << 16) /*  (CHIPID_CIDR) 4K bytes */
598 #define   CHIPID_CIDR_SRAMSIZ_80K (0x6u << 16) /*  (CHIPID_CIDR) 80K bytes */
599 #define   CHIPID_CIDR_SRAMSIZ_160K (0x7u << 16) /*  (CHIPID_CIDR) 160K bytes */
600 #define   CHIPID_CIDR_SRAMSIZ_8K (0x8u << 16) /*  (CHIPID_CIDR) 8K bytes */
601 #define   CHIPID_CIDR_SRAMSIZ_16K (0x9u << 16) /*  (CHIPID_CIDR) 16K bytes */
602 #define   CHIPID_CIDR_SRAMSIZ_32K (0xAu << 16) /*  (CHIPID_CIDR) 32K bytes */
603 #define   CHIPID_CIDR_SRAMSIZ_64K (0xBu << 16) /*  (CHIPID_CIDR) 64K bytes */
604 #define   CHIPID_CIDR_SRAMSIZ_128K (0xCu << 16) /*  (CHIPID_CIDR) 128K bytes */
605 #define   CHIPID_CIDR_SRAMSIZ_256K (0xDu << 16) /*  (CHIPID_CIDR) 256K bytes */
606 #define   CHIPID_CIDR_SRAMSIZ_96K (0xEu << 16) /*  (CHIPID_CIDR) 96K bytes */
607 #define   CHIPID_CIDR_SRAMSIZ_512K (0xFu << 16) /*  (CHIPID_CIDR) 512K bytes */
608 #define CHIPID_CIDR_ARCH_Pos 20
609 #define CHIPID_CIDR_ARCH_Msk (0xffu << CHIPID_CIDR_ARCH_Pos) /*  (CHIPID_CIDR) Architecture Identifier */
610 #define   CHIPID_CIDR_ARCH_AT91SAM9xx (0x19u << 20) /*  (CHIPID_CIDR) AT91SAM9xx Series */
611 #define   CHIPID_CIDR_ARCH_AT91SAM9XExx (0x29u << 20) /*  (CHIPID_CIDR) AT91SAM9XExx Series */
612 #define   CHIPID_CIDR_ARCH_AT91x34 (0x34u << 20) /*  (CHIPID_CIDR) AT91x34 Series */
613 #define   CHIPID_CIDR_ARCH_CAP7 (0x37u << 20) /*  (CHIPID_CIDR) CAP7 Series */
614 #define   CHIPID_CIDR_ARCH_CAP9 (0x39u << 20) /*  (CHIPID_CIDR) CAP9 Series */
615 #define   CHIPID_CIDR_ARCH_CAP11 (0x3Bu << 20) /*  (CHIPID_CIDR) CAP11 Series */
616 #define   CHIPID_CIDR_ARCH_AT91x40 (0x40u << 20) /*  (CHIPID_CIDR) AT91x40 Series */
617 #define   CHIPID_CIDR_ARCH_AT91x42 (0x42u << 20) /*  (CHIPID_CIDR) AT91x42 Series */
618 #define   CHIPID_CIDR_ARCH_AT91x55 (0x55u << 20) /*  (CHIPID_CIDR) AT91x55 Series */
619 #define   CHIPID_CIDR_ARCH_AT91SAM7Axx (0x60u << 20) /*  (CHIPID_CIDR) AT91SAM7Axx Series */
620 #define   CHIPID_CIDR_ARCH_AT91SAM7AQxx (0x61u << 20) /*  (CHIPID_CIDR) AT91SAM7AQxx Series */
621 #define   CHIPID_CIDR_ARCH_AT91x63 (0x63u << 20) /*  (CHIPID_CIDR) AT91x63 Series */
622 #define   CHIPID_CIDR_ARCH_AT91SAM7Sxx (0x70u << 20) /*  (CHIPID_CIDR) AT91SAM7Sxx Series */
623 #define   CHIPID_CIDR_ARCH_AT91SAM7XCxx (0x71u << 20) /*  (CHIPID_CIDR) AT91SAM7XCxx Series */
624 #define   CHIPID_CIDR_ARCH_AT91SAM7SExx (0x72u << 20) /*  (CHIPID_CIDR) AT91SAM7SExx Series */
625 #define   CHIPID_CIDR_ARCH_AT91SAM7Lxx (0x73u << 20) /*  (CHIPID_CIDR) AT91SAM7Lxx Series */
626 #define   CHIPID_CIDR_ARCH_AT91SAM7Xxx (0x75u << 20) /*  (CHIPID_CIDR) AT91SAM7Xxx Series */
627 #define   CHIPID_CIDR_ARCH_AT91SAM7SLxx (0x76u << 20) /*  (CHIPID_CIDR) AT91SAM7SLxx Series */
628 #define   CHIPID_CIDR_ARCH_SAM3UxC (0x80u << 20) /*  (CHIPID_CIDR) SAM3UxC Series (100-pin version) */
629 #define   CHIPID_CIDR_ARCH_SAM3UxE (0x81u << 20) /*  (CHIPID_CIDR) SAM3UxE Series (144-pin version) */
630 #define   CHIPID_CIDR_ARCH_SAM3AxC (0x83u << 20) /*  (CHIPID_CIDR) SAM3AxC Series (100-pin version) */
631 #define   CHIPID_CIDR_ARCH_SAM3XxC (0x84u << 20) /*  (CHIPID_CIDR) SAM3XxC Series (100-pin version) */
632 #define   CHIPID_CIDR_ARCH_SAM3XxE (0x85u << 20) /*  (CHIPID_CIDR) SAM3XxE Series (144-pin version) */
633 #define   CHIPID_CIDR_ARCH_SAM3XxG (0x86u << 20) /*  (CHIPID_CIDR) SAM3XxG Series (208/217-pin version) */
634 #define   CHIPID_CIDR_ARCH_SAM3SxA (0x88u << 20) /*  (CHIPID_CIDR) SAM3SxA Series (48-pin version) */
635 #define   CHIPID_CIDR_ARCH_SAM3SxB (0x89u << 20) /*  (CHIPID_CIDR) SAM3SxB Series (64-pin version) */
636 #define   CHIPID_CIDR_ARCH_SAM3SxC (0x8Au << 20) /*  (CHIPID_CIDR) SAM3SxC Series (100-pin version) */
637 #define   CHIPID_CIDR_ARCH_AT91x92 (0x92u << 20) /*  (CHIPID_CIDR) AT91x92 Series */
638 #define   CHIPID_CIDR_ARCH_SAM3NxA (0x93u << 20) /*  (CHIPID_CIDR) SAM3NxA Series (48-pin version) */
639 #define   CHIPID_CIDR_ARCH_SAM3NxB (0x94u << 20) /*  (CHIPID_CIDR) SAM3NxB Series (64-pin version) */
640 #define   CHIPID_CIDR_ARCH_SAM3NxC (0x95u << 20) /*  (CHIPID_CIDR) SAM3NxC Series (100-pin version) */
641 #define   CHIPID_CIDR_ARCH_SAM3SDxA (0x98u << 20) /*  (CHIPID_CIDR) SAM3SDxA Series (48-pin version) */
642 #define   CHIPID_CIDR_ARCH_SAM3SDxB (0x99u << 20) /*  (CHIPID_CIDR) SAM3SDxB Series (64-pin version) */
643 #define   CHIPID_CIDR_ARCH_SAM3SDxC (0x9Au << 20) /*  (CHIPID_CIDR) SAM3SDxC Series (100-pin version) */
644 #define   CHIPID_CIDR_ARCH_SAM5A (0xA5u << 20) /*  (CHIPID_CIDR) SAM5A */
645 #define   CHIPID_CIDR_ARCH_AT75Cxx (0xF0u << 20) /*  (CHIPID_CIDR) AT75Cxx Series */
646 #define CHIPID_CIDR_NVPTYP_Pos 28
647 #define CHIPID_CIDR_NVPTYP_Msk (0x7u << CHIPID_CIDR_NVPTYP_Pos) /*  (CHIPID_CIDR) Nonvolatile Program Memory Type */
648 #define   CHIPID_CIDR_NVPTYP_ROM (0x0u << 28) /*  (CHIPID_CIDR) ROM */
649 #define   CHIPID_CIDR_NVPTYP_ROMLESS (0x1u << 28) /*  (CHIPID_CIDR) ROMless or on-chip Flash */
650 #define   CHIPID_CIDR_NVPTYP_FLASH (0x2u << 28) /*  (CHIPID_CIDR) Embedded Flash Memory */
651 #define   CHIPID_CIDR_NVPTYP_ROM_FLASH (0x3u << 28) /*  (CHIPID_CIDR) ROM and Embedded Flash MemoryNVPSIZ is ROM size NVPSIZ2 is Flash size */
652 #define   CHIPID_CIDR_NVPTYP_SRAM (0x4u << 28) /*  (CHIPID_CIDR) SRAM emulating ROM */
653 #define CHIPID_CIDR_EXT (0x1u << 31) /*  (CHIPID_CIDR) Extension Flag */
654 /* -------- CHIPID_EXID : (CHIPID Offset: 0x4) Chip ID Extension Register -------- */
655 #define CHIPID_EXID_EXID_Pos 0
656 #define CHIPID_EXID_EXID_Msk (0xffffffffu << CHIPID_EXID_EXID_Pos) /*  (CHIPID_EXID) Chip ID Extension */
657
658
659 /* ============================================================================= */
660 /*  SOFTWARE API DEFINITION FOR Digital-to-Analog Converter Controller */
661 /* ============================================================================= */
662
663 #ifndef __ASSEMBLY__
664 /* Dacc hardware registers */
665 typedef struct {
666   WoReg DACC_CR;       /*  (Dacc Offset: 0x00) Control Register */
667   RwReg DACC_MR;       /*  (Dacc Offset: 0x04) Mode Register */
668   WoReg DACC_CDR;      /*  (Dacc Offset: 0x08) Conversion Data Register */
669   WoReg DACC_IER;      /*  (Dacc Offset: 0x0C) Interrupt Enable Register */
670   WoReg DACC_IDR;      /*  (Dacc Offset: 0x10) Interrupt Disable Register */
671   RoReg DACC_IMR;      /*  (Dacc Offset: 0x14) Interrupt Mask Register */
672   RoReg DACC_ISR;      /*  (Dacc Offset: 0x18) Interrupt Status Register */
673   RwReg Reserved1[50];
674   RwReg DACC_WPMR;     /*  (Dacc Offset: 0xE4) Write Protect Mode Register */
675   RoReg DACC_WPSR;     /*  (Dacc Offset: 0xE8) Write Protect Status Register */
676   RwReg Reserved2[5]; 
677   RwReg DACC_RPR;      /*  (Dacc Offset: 0x100) Receive Pointer Register */
678   RwReg DACC_RCR;      /*  (Dacc Offset: 0x104) Receive Counter Register */
679   RwReg DACC_TPR;      /*  (Dacc Offset: 0x108) Transmit Pointer Register */
680   RwReg DACC_TCR;      /*  (Dacc Offset: 0x10C) Transmit Counter Register */
681   RwReg DACC_RNPR;     /*  (Dacc Offset: 0x110) Receive Next Pointer Register */
682   RwReg DACC_RNCR;     /*  (Dacc Offset: 0x114) Receive Next Counter Register */
683   RwReg DACC_TNPR;     /*  (Dacc Offset: 0x118) Transmit Next Pointer Register */
684   RwReg DACC_TNCR;     /*  (Dacc Offset: 0x11C) Transmit Next Counter Register */
685   WoReg DACC_PTCR;     /*  (Dacc Offset: 0x120) Transfer Control Register */
686   RoReg DACC_PTSR;     /*  (Dacc Offset: 0x124) Transfer Status Register */
687 } Dacc;
688 #endif /* __ASSEMBLY__ */
689 /* -------- DACC_CR : (DACC Offset: 0x00) Control Register -------- */
690 #define DACC_CR_SWRST (0x1u << 0) /*  (DACC_CR) Software Reset */
691 /* -------- DACC_MR : (DACC Offset: 0x04) Mode Register -------- */
692 #define DACC_MR_TRGEN (0x1u << 0) /*  (DACC_MR) Trigger Enable */
693 #define   DACC_MR_TRGEN_DIS (0x0u << 0) /*  (DACC_MR) External trigger mode disabled. DACC in free running mode. */
694 #define   DACC_MR_TRGEN_EN (0x1u << 0) /*  (DACC_MR) External trigger mode enabled. */
695 #define DACC_MR_TRGSEL_Pos 1
696 #define DACC_MR_TRGSEL_Msk (0x7u << DACC_MR_TRGSEL_Pos) /*  (DACC_MR) Trigger Selection */
697 #define   DACC_MR_TRGSEL_TRGSEL0 (0x0u << 1) /*  (DACC_MR) External trigger */
698 #define   DACC_MR_TRGSEL_TRGSEL1 (0x1u << 1) /*  (DACC_MR) TIO Output of the Timer Counter Channel 0 */
699 #define   DACC_MR_TRGSEL_TRGSEL2 (0x2u << 1) /*  (DACC_MR) TIO Output of the Timer Counter Channel 1 */
700 #define   DACC_MR_TRGSEL_TRGSEL3 (0x3u << 1) /*  (DACC_MR) TIO Output of the Timer Counter Channel 2 */
701 #define DACC_MR_DACEN (0x1u << 4) /*  (DACC_MR) DAC enable */
702 #define DACC_MR_WORD (0x1u << 5) /*  (DACC_MR) Word Transfer */
703 #define   DACC_MR_WORD_HALF (0x0u << 5) /*  (DACC_MR) Half-Word transfer */
704 #define   DACC_MR_WORD_WORD (0x1u << 5) /*  (DACC_MR) Word Transfer */
705 #define DACC_MR_STARTUP_Pos 8
706 #define DACC_MR_STARTUP_Msk (0xffu << DACC_MR_STARTUP_Pos) /*  (DACC_MR) Startup Time Selection */
707 #define DACC_MR_STARTUP(value) ((DACC_MR_STARTUP_Msk & ((value) << DACC_MR_STARTUP_Pos)))
708 #define DACC_MR_CLKDIV_Pos 16
709 #define DACC_MR_CLKDIV_Msk (0xffffu << DACC_MR_CLKDIV_Pos) /*  (DACC_MR) DAC Clock Divider for Internal Trigger */
710 #define DACC_MR_CLKDIV(value) ((DACC_MR_CLKDIV_Msk & ((value) << DACC_MR_CLKDIV_Pos)))
711 /* -------- DACC_CDR : (DACC Offset: 0x08) Conversion Data Register -------- */
712 #define DACC_CDR_DATA_Pos 0
713 #define DACC_CDR_DATA_Msk (0xffffffffu << DACC_CDR_DATA_Pos) /*  (DACC_CDR) Data to Convert */
714 #define DACC_CDR_DATA(value) ((DACC_CDR_DATA_Msk & ((value) << DACC_CDR_DATA_Pos)))
715 /* -------- DACC_IER : (DACC Offset: 0x0C) Interrupt Enable Register -------- */
716 #define DACC_IER_TXRDY (0x1u << 0) /*  (DACC_IER) Transmission Ready Interrupt Enable */
717 #define DACC_IER_ENDTX (0x1u << 1) /*  (DACC_IER) End of PDC Interrupt Enable */
718 #define DACC_IER_TXBUFE (0x1u << 2) /*  (DACC_IER) Buffer Empty Interrupt Enable */
719 /* -------- DACC_IDR : (DACC Offset: 0x10) Interrupt Disable Register -------- */
720 #define DACC_IDR_TXRDY (0x1u << 0) /*  (DACC_IDR) Transmission Ready Interrupt Disable */
721 #define DACC_IDR_ENDTX (0x1u << 1) /*  (DACC_IDR) End of PDC Interrupt Disable */
722 #define DACC_IDR_TXBUFE (0x1u << 2) /*  (DACC_IDR) Buffer Empty Interrupt Disable */
723 /* -------- DACC_IMR : (DACC Offset: 0x14) Interrupt Mask Register -------- */
724 #define DACC_IMR_TXRDY (0x1u << 0) /*  (DACC_IMR) Transmission Ready Interrupt Mask */
725 #define DACC_IMR_ENDTX (0x1u << 1) /*  (DACC_IMR) End of PDC Interrupt Mask */
726 #define DACC_IMR_TXBUFE (0x1u << 2) /*  (DACC_IMR) Buffer Empty Interrupt Mask */
727 /* -------- DACC_ISR : (DACC Offset: 0x18) Interrupt Status Register -------- */
728 #define DACC_ISR_TXRDY (0x1u << 0) /*  (DACC_ISR) Transmission Ready Interrupt Flag */
729 #define DACC_ISR_ENDTX (0x1u << 1) /*  (DACC_ISR) End of PDC Interrupt Flag */
730 #define DACC_ISR_TXBUFE (0x1u << 2) /*  (DACC_ISR) Buffer Empty Interrupt Flag */
731 /* -------- DACC_WPMR : (DACC Offset: 0xE4) Write Protect Mode Register -------- */
732 #define DACC_WPMR_WPEN (0x1u << 0) /*  (DACC_WPMR) Write Protect Enable */
733 #define DACC_WPMR_WPKEY_Pos 8
734 #define DACC_WPMR_WPKEY_Msk (0xffffffu << DACC_WPMR_WPKEY_Pos) /*  (DACC_WPMR) Write Protect KEY */
735 #define DACC_WPMR_WPKEY(value) ((DACC_WPMR_WPKEY_Msk & ((value) << DACC_WPMR_WPKEY_Pos)))
736 /* -------- DACC_WPSR : (DACC Offset: 0xE8) Write Protect Status Register -------- */
737 #define DACC_WPSR_WPROTERR (0x1u << 0) /*  (DACC_WPSR) Write protection error */
738 #define DACC_WPSR_WPROTADDR_Pos 8
739 #define DACC_WPSR_WPROTADDR_Msk (0xffu << DACC_WPSR_WPROTADDR_Pos) /*  (DACC_WPSR) Write protection error address */
740 /* -------- DACC_RPR : (DACC Offset: 0x100) Receive Pointer Register -------- */
741 #define DACC_RPR_RXPTR_Pos 0
742 #define DACC_RPR_RXPTR_Msk (0xffffffffu << DACC_RPR_RXPTR_Pos) /*  (DACC_RPR) Receive Pointer Register */
743 #define DACC_RPR_RXPTR(value) ((DACC_RPR_RXPTR_Msk & ((value) << DACC_RPR_RXPTR_Pos)))
744 /* -------- DACC_RCR : (DACC Offset: 0x104) Receive Counter Register -------- */
745 #define DACC_RCR_RXCTR_Pos 0
746 #define DACC_RCR_RXCTR_Msk (0xffffu << DACC_RCR_RXCTR_Pos) /*  (DACC_RCR) Receive Counter Register */
747 #define DACC_RCR_RXCTR(value) ((DACC_RCR_RXCTR_Msk & ((value) << DACC_RCR_RXCTR_Pos)))
748 /* -------- DACC_TPR : (DACC Offset: 0x108) Transmit Pointer Register -------- */
749 #define DACC_TPR_TXPTR_Pos 0
750 #define DACC_TPR_TXPTR_Msk (0xffffffffu << DACC_TPR_TXPTR_Pos) /*  (DACC_TPR) Transmit Counter Register */
751 #define DACC_TPR_TXPTR(value) ((DACC_TPR_TXPTR_Msk & ((value) << DACC_TPR_TXPTR_Pos)))
752 /* -------- DACC_TCR : (DACC Offset: 0x10C) Transmit Counter Register -------- */
753 #define DACC_TCR_TXCTR_Pos 0
754 #define DACC_TCR_TXCTR_Msk (0xffffu << DACC_TCR_TXCTR_Pos) /*  (DACC_TCR) Transmit Counter Register */
755 #define DACC_TCR_TXCTR(value) ((DACC_TCR_TXCTR_Msk & ((value) << DACC_TCR_TXCTR_Pos)))
756 /* -------- DACC_RNPR : (DACC Offset: 0x110) Receive Next Pointer Register -------- */
757 #define DACC_RNPR_RXNPTR_Pos 0
758 #define DACC_RNPR_RXNPTR_Msk (0xffffffffu << DACC_RNPR_RXNPTR_Pos) /*  (DACC_RNPR) Receive Next Pointer */
759 #define DACC_RNPR_RXNPTR(value) ((DACC_RNPR_RXNPTR_Msk & ((value) << DACC_RNPR_RXNPTR_Pos)))
760 /* -------- DACC_RNCR : (DACC Offset: 0x114) Receive Next Counter Register -------- */
761 #define DACC_RNCR_RXNCTR_Pos 0
762 #define DACC_RNCR_RXNCTR_Msk (0xffffu << DACC_RNCR_RXNCTR_Pos) /*  (DACC_RNCR) Receive Next Counter */
763 #define DACC_RNCR_RXNCTR(value) ((DACC_RNCR_RXNCTR_Msk & ((value) << DACC_RNCR_RXNCTR_Pos)))
764 /* -------- DACC_TNPR : (DACC Offset: 0x118) Transmit Next Pointer Register -------- */
765 #define DACC_TNPR_TXNPTR_Pos 0
766 #define DACC_TNPR_TXNPTR_Msk (0xffffffffu << DACC_TNPR_TXNPTR_Pos) /*  (DACC_TNPR) Transmit Next Pointer */
767 #define DACC_TNPR_TXNPTR(value) ((DACC_TNPR_TXNPTR_Msk & ((value) << DACC_TNPR_TXNPTR_Pos)))
768 /* -------- DACC_TNCR : (DACC Offset: 0x11C) Transmit Next Counter Register -------- */
769 #define DACC_TNCR_TXNCTR_Pos 0
770 #define DACC_TNCR_TXNCTR_Msk (0xffffu << DACC_TNCR_TXNCTR_Pos) /*  (DACC_TNCR) Transmit Counter Next */
771 #define DACC_TNCR_TXNCTR(value) ((DACC_TNCR_TXNCTR_Msk & ((value) << DACC_TNCR_TXNCTR_Pos)))
772 /* -------- DACC_PTCR : (DACC Offset: 0x120) Transfer Control Register -------- */
773 #define DACC_PTCR_RXTEN (0x1u << 0) /*  (DACC_PTCR) Receiver Transfer Enable */
774 #define DACC_PTCR_RXTDIS (0x1u << 1) /*  (DACC_PTCR) Receiver Transfer Disable */
775 #define DACC_PTCR_TXTEN (0x1u << 8) /*  (DACC_PTCR) Transmitter Transfer Enable */
776 #define DACC_PTCR_TXTDIS (0x1u << 9) /*  (DACC_PTCR) Transmitter Transfer Disable */
777 /* -------- DACC_PTSR : (DACC Offset: 0x124) Transfer Status Register -------- */
778 #define DACC_PTSR_RXTEN (0x1u << 0) /*  (DACC_PTSR) Receiver Transfer Enable */
779 #define DACC_PTSR_TXTEN (0x1u << 8) /*  (DACC_PTSR) Transmitter Transfer Enable */
780
781
782
783 /* ============================================================================= */
784 /*  SOFTWARE API DEFINITION FOR General Purpose Backup Register */
785 /* ============================================================================= */
786
787 #ifndef __ASSEMBLY__
788 /* Gpbr hardware registers */
789 typedef struct {
790   RwReg SYS_GPBR0; /*  (Gpbr Offset: 0x0) General Purpose Backup Register 0 */
791   RwReg SYS_GPBR1; /*  (Gpbr Offset: 0x4) General Purpose Backup Register 1 */
792   RwReg SYS_GPBR2; /*  (Gpbr Offset: 0x8) General Purpose Backup Register 2 */
793   RwReg SYS_GPBR3; /*  (Gpbr Offset: 0xC) General Purpose Backup Register 3 */
794   RwReg SYS_GPBR4; /*  (Gpbr Offset: 0x10) General Purpose Backup Register 4 */
795   RwReg SYS_GPBR5; /*  (Gpbr Offset: 0x14) General Purpose Backup Register 5 */
796   RwReg SYS_GPBR6; /*  (Gpbr Offset: 0x18) General Purpose Backup Register 6 */
797   RwReg SYS_GPBR7; /*  (Gpbr Offset: 0x1C) General Purpose Backup Register 7 */
798 } Gpbr;
799 #endif /* __ASSEMBLY__ */
800 /* -------- SYS_GPBR0 : (GPBR Offset: 0x0) General Purpose Backup Register 0 -------- */
801 #define SYS_GPBR0_GPBR_VALUE0_Pos 0
802 #define SYS_GPBR0_GPBR_VALUE0_Msk (0xffffffffu << SYS_GPBR0_GPBR_VALUE0_Pos) /*  (SYS_GPBR0) Value of GPBR x */
803 #define SYS_GPBR0_GPBR_VALUE0(value) ((SYS_GPBR0_GPBR_VALUE0_Msk & ((value) << SYS_GPBR0_GPBR_VALUE0_Pos)))
804 /* -------- SYS_GPBR1 : (GPBR Offset: 0x4) General Purpose Backup Register 1 -------- */
805 #define SYS_GPBR1_GPBR_VALUE1_Pos 0
806 #define SYS_GPBR1_GPBR_VALUE1_Msk (0xffffffffu << SYS_GPBR1_GPBR_VALUE1_Pos) /*  (SYS_GPBR1) Value of GPBR x */
807 #define SYS_GPBR1_GPBR_VALUE1(value) ((SYS_GPBR1_GPBR_VALUE1_Msk & ((value) << SYS_GPBR1_GPBR_VALUE1_Pos)))
808 /* -------- SYS_GPBR2 : (GPBR Offset: 0x8) General Purpose Backup Register 2 -------- */
809 #define SYS_GPBR2_GPBR_VALUE2_Pos 0
810 #define SYS_GPBR2_GPBR_VALUE2_Msk (0xffffffffu << SYS_GPBR2_GPBR_VALUE2_Pos) /*  (SYS_GPBR2) Value of GPBR x */
811 #define SYS_GPBR2_GPBR_VALUE2(value) ((SYS_GPBR2_GPBR_VALUE2_Msk & ((value) << SYS_GPBR2_GPBR_VALUE2_Pos)))
812 /* -------- SYS_GPBR3 : (GPBR Offset: 0xC) General Purpose Backup Register 3 -------- */
813 #define SYS_GPBR3_GPBR_VALUE3_Pos 0
814 #define SYS_GPBR3_GPBR_VALUE3_Msk (0xffffffffu << SYS_GPBR3_GPBR_VALUE3_Pos) /*  (SYS_GPBR3) Value of GPBR x */
815 #define SYS_GPBR3_GPBR_VALUE3(value) ((SYS_GPBR3_GPBR_VALUE3_Msk & ((value) << SYS_GPBR3_GPBR_VALUE3_Pos)))
816 /* -------- SYS_GPBR4 : (GPBR Offset: 0x10) General Purpose Backup Register 4 -------- */
817 #define SYS_GPBR4_GPBR_VALUE4_Pos 0
818 #define SYS_GPBR4_GPBR_VALUE4_Msk (0xffffffffu << SYS_GPBR4_GPBR_VALUE4_Pos) /*  (SYS_GPBR4) Value of GPBR x */
819 #define SYS_GPBR4_GPBR_VALUE4(value) ((SYS_GPBR4_GPBR_VALUE4_Msk & ((value) << SYS_GPBR4_GPBR_VALUE4_Pos)))
820 /* -------- SYS_GPBR5 : (GPBR Offset: 0x14) General Purpose Backup Register 5 -------- */
821 #define SYS_GPBR5_GPBR_VALUE5_Pos 0
822 #define SYS_GPBR5_GPBR_VALUE5_Msk (0xffffffffu << SYS_GPBR5_GPBR_VALUE5_Pos) /*  (SYS_GPBR5) Value of GPBR x */
823 #define SYS_GPBR5_GPBR_VALUE5(value) ((SYS_GPBR5_GPBR_VALUE5_Msk & ((value) << SYS_GPBR5_GPBR_VALUE5_Pos)))
824 /* -------- SYS_GPBR6 : (GPBR Offset: 0x18) General Purpose Backup Register 6 -------- */
825 #define SYS_GPBR6_GPBR_VALUE6_Pos 0
826 #define SYS_GPBR6_GPBR_VALUE6_Msk (0xffffffffu << SYS_GPBR6_GPBR_VALUE6_Pos) /*  (SYS_GPBR6) Value of GPBR x */
827 #define SYS_GPBR6_GPBR_VALUE6(value) ((SYS_GPBR6_GPBR_VALUE6_Msk & ((value) << SYS_GPBR6_GPBR_VALUE6_Pos)))
828 /* -------- SYS_GPBR7 : (GPBR Offset: 0x1C) General Purpose Backup Register 7 -------- */
829 #define SYS_GPBR7_GPBR_VALUE7_Pos 0
830 #define SYS_GPBR7_GPBR_VALUE7_Msk (0xffffffffu << SYS_GPBR7_GPBR_VALUE7_Pos) /*  (SYS_GPBR7) Value of GPBR x */
831 #define SYS_GPBR7_GPBR_VALUE7(value) ((SYS_GPBR7_GPBR_VALUE7_Msk & ((value) << SYS_GPBR7_GPBR_VALUE7_Pos)))
832
833
834 /* ============================================================================= */
835 /*  SOFTWARE API DEFINITION FOR AHB Bus Matrix */
836 /* ============================================================================= */
837
838 #ifndef __ASSEMBLY__
839 /* Matrix hardware registers */
840 typedef struct {
841   RwReg MATRIX_MCFG[3]; /*  (Matrix Offset: 0x0000) Master Configuration Register */
842   RwReg Reserved1[13]; 
843   RwReg MATRIX_SCFG[4]; /*  (Matrix Offset: 0x0040) Slave Configuration Register */
844   RwReg Reserved2[12]; 
845   RwReg MATRIX_PRAS0;   /*  (Matrix Offset: 0x0080) Priority Register A for Slave 0 */
846   RwReg Reserved3[1];  
847   RwReg MATRIX_PRAS1;   /*  (Matrix Offset: 0x0088) Priority Register A for Slave 1 */
848   RwReg Reserved4[1];  
849   RwReg MATRIX_PRAS2;   /*  (Matrix Offset: 0x0090) Priority Register A for Slave 2 */
850   RwReg Reserved5[1];  
851   RwReg MATRIX_PRAS3;   /*  (Matrix Offset: 0x0098) Priority Register A for Slave 3 */
852   RwReg Reserved6[1];  
853   RwReg Reserved7[29]; 
854   RwReg CCFG_SYSIO;     /*  (Matrix Offset: 0x0114) System I/O Configuration register */
855   RwReg Reserved8[51]; 
856   RwReg MATRIX_WPMR;    /*  (Matrix Offset: 0x1E4) Write Protect Mode Register */
857   RoReg MATRIX_WPSR;    /*  (Matrix Offset: 0x1E8) Write Protect Status Register */
858 } Matrix;
859 #endif /* __ASSEMBLY__ */
860 /* -------- MATRIX_MCFG[3] : (MATRIX Offset: 0x0000) Master Configuration Register -------- */
861 #define MATRIX_MCFG_ULBT_Pos 0
862 #define MATRIX_MCFG_ULBT_Msk (0x7u << MATRIX_MCFG_ULBT_Pos) /*  (MATRIX_MCFG[3]) Undefined Length Burst Type */
863 #define MATRIX_MCFG_ULBT(value) ((MATRIX_MCFG_ULBT_Msk & ((value) << MATRIX_MCFG_ULBT_Pos)))
864 /* -------- MATRIX_SCFG[4] : (MATRIX Offset: 0x0040) Slave Configuration Register -------- */
865 #define MATRIX_SCFG_SLOT_CYCLE_Pos 0
866 #define MATRIX_SCFG_SLOT_CYCLE_Msk (0xffu << MATRIX_SCFG_SLOT_CYCLE_Pos) /*  (MATRIX_SCFG[4]) Maximum Number of Allowed Cycles for a Burst */
867 #define MATRIX_SCFG_SLOT_CYCLE(value) ((MATRIX_SCFG_SLOT_CYCLE_Msk & ((value) << MATRIX_SCFG_SLOT_CYCLE_Pos)))
868 #define MATRIX_SCFG_DEFMSTR_TYPE_Pos 16
869 #define MATRIX_SCFG_DEFMSTR_TYPE_Msk (0x3u << MATRIX_SCFG_DEFMSTR_TYPE_Pos) /*  (MATRIX_SCFG[4]) Default Master Type */
870 #define MATRIX_SCFG_DEFMSTR_TYPE(value) ((MATRIX_SCFG_DEFMSTR_TYPE_Msk & ((value) << MATRIX_SCFG_DEFMSTR_TYPE_Pos)))
871 #define MATRIX_SCFG_FIXED_DEFMSTR_Pos 18
872 #define MATRIX_SCFG_FIXED_DEFMSTR_Msk (0x7u << MATRIX_SCFG_FIXED_DEFMSTR_Pos) /*  (MATRIX_SCFG[4]) Fixed Default Master */
873 #define MATRIX_SCFG_FIXED_DEFMSTR(value) ((MATRIX_SCFG_FIXED_DEFMSTR_Msk & ((value) << MATRIX_SCFG_FIXED_DEFMSTR_Pos)))
874 #define MATRIX_SCFG_ARBT_Pos 24
875 #define MATRIX_SCFG_ARBT_Msk (0x3u << MATRIX_SCFG_ARBT_Pos) /*  (MATRIX_SCFG[4]) Arbitration Type */
876 #define MATRIX_SCFG_ARBT(value) ((MATRIX_SCFG_ARBT_Msk & ((value) << MATRIX_SCFG_ARBT_Pos)))
877 /* -------- MATRIX_PRAS0 : (MATRIX Offset: 0x0080) Priority Register A for Slave 0 -------- */
878 #define MATRIX_PRAS0_M0PR_Pos 0
879 #define MATRIX_PRAS0_M0PR_Msk (0x3u << MATRIX_PRAS0_M0PR_Pos) /*  (MATRIX_PRAS0) Master 0 Priority */
880 #define MATRIX_PRAS0_M0PR(value) ((MATRIX_PRAS0_M0PR_Msk & ((value) << MATRIX_PRAS0_M0PR_Pos)))
881 #define MATRIX_PRAS0_M1PR_Pos 4
882 #define MATRIX_PRAS0_M1PR_Msk (0x3u << MATRIX_PRAS0_M1PR_Pos) /*  (MATRIX_PRAS0) Master 1 Priority */
883 #define MATRIX_PRAS0_M1PR(value) ((MATRIX_PRAS0_M1PR_Msk & ((value) << MATRIX_PRAS0_M1PR_Pos)))
884 #define MATRIX_PRAS0_M2PR_Pos 8
885 #define MATRIX_PRAS0_M2PR_Msk (0x3u << MATRIX_PRAS0_M2PR_Pos) /*  (MATRIX_PRAS0) Master 2 Priority */
886 #define MATRIX_PRAS0_M2PR(value) ((MATRIX_PRAS0_M2PR_Msk & ((value) << MATRIX_PRAS0_M2PR_Pos)))
887 #define MATRIX_PRAS0_M3PR_Pos 12
888 #define MATRIX_PRAS0_M3PR_Msk (0x3u << MATRIX_PRAS0_M3PR_Pos) /*  (MATRIX_PRAS0) Master 3 Priority */
889 #define MATRIX_PRAS0_M3PR(value) ((MATRIX_PRAS0_M3PR_Msk & ((value) << MATRIX_PRAS0_M3PR_Pos)))
890 /* -------- MATRIX_PRAS1 : (MATRIX Offset: 0x0088) Priority Register A for Slave 1 -------- */
891 #define MATRIX_PRAS1_M0PR_Pos 0
892 #define MATRIX_PRAS1_M0PR_Msk (0x3u << MATRIX_PRAS1_M0PR_Pos) /*  (MATRIX_PRAS1) Master 0 Priority */
893 #define MATRIX_PRAS1_M0PR(value) ((MATRIX_PRAS1_M0PR_Msk & ((value) << MATRIX_PRAS1_M0PR_Pos)))
894 #define MATRIX_PRAS1_M1PR_Pos 4
895 #define MATRIX_PRAS1_M1PR_Msk (0x3u << MATRIX_PRAS1_M1PR_Pos) /*  (MATRIX_PRAS1) Master 1 Priority */
896 #define MATRIX_PRAS1_M1PR(value) ((MATRIX_PRAS1_M1PR_Msk & ((value) << MATRIX_PRAS1_M1PR_Pos)))
897 #define MATRIX_PRAS1_M2PR_Pos 8
898 #define MATRIX_PRAS1_M2PR_Msk (0x3u << MATRIX_PRAS1_M2PR_Pos) /*  (MATRIX_PRAS1) Master 2 Priority */
899 #define MATRIX_PRAS1_M2PR(value) ((MATRIX_PRAS1_M2PR_Msk & ((value) << MATRIX_PRAS1_M2PR_Pos)))
900 #define MATRIX_PRAS1_M3PR_Pos 12
901 #define MATRIX_PRAS1_M3PR_Msk (0x3u << MATRIX_PRAS1_M3PR_Pos) /*  (MATRIX_PRAS1) Master 3 Priority */
902 #define MATRIX_PRAS1_M3PR(value) ((MATRIX_PRAS1_M3PR_Msk & ((value) << MATRIX_PRAS1_M3PR_Pos)))
903 /* -------- MATRIX_PRAS2 : (MATRIX Offset: 0x0090) Priority Register A for Slave 2 -------- */
904 #define MATRIX_PRAS2_M0PR_Pos 0
905 #define MATRIX_PRAS2_M0PR_Msk (0x3u << MATRIX_PRAS2_M0PR_Pos) /*  (MATRIX_PRAS2) Master 0 Priority */
906 #define MATRIX_PRAS2_M0PR(value) ((MATRIX_PRAS2_M0PR_Msk & ((value) << MATRIX_PRAS2_M0PR_Pos)))
907 #define MATRIX_PRAS2_M1PR_Pos 4
908 #define MATRIX_PRAS2_M1PR_Msk (0x3u << MATRIX_PRAS2_M1PR_Pos) /*  (MATRIX_PRAS2) Master 1 Priority */
909 #define MATRIX_PRAS2_M1PR(value) ((MATRIX_PRAS2_M1PR_Msk & ((value) << MATRIX_PRAS2_M1PR_Pos)))
910 #define MATRIX_PRAS2_M2PR_Pos 8
911 #define MATRIX_PRAS2_M2PR_Msk (0x3u << MATRIX_PRAS2_M2PR_Pos) /*  (MATRIX_PRAS2) Master 2 Priority */
912 #define MATRIX_PRAS2_M2PR(value) ((MATRIX_PRAS2_M2PR_Msk & ((value) << MATRIX_PRAS2_M2PR_Pos)))
913 #define MATRIX_PRAS2_M3PR_Pos 12
914 #define MATRIX_PRAS2_M3PR_Msk (0x3u << MATRIX_PRAS2_M3PR_Pos) /*  (MATRIX_PRAS2) Master 3 Priority */
915 #define MATRIX_PRAS2_M3PR(value) ((MATRIX_PRAS2_M3PR_Msk & ((value) << MATRIX_PRAS2_M3PR_Pos)))
916 /* -------- MATRIX_PRAS3 : (MATRIX Offset: 0x0098) Priority Register A for Slave 3 -------- */
917 #define MATRIX_PRAS3_M0PR_Pos 0
918 #define MATRIX_PRAS3_M0PR_Msk (0x3u << MATRIX_PRAS3_M0PR_Pos) /*  (MATRIX_PRAS3) Master 0 Priority */
919 #define MATRIX_PRAS3_M0PR(value) ((MATRIX_PRAS3_M0PR_Msk & ((value) << MATRIX_PRAS3_M0PR_Pos)))
920 #define MATRIX_PRAS3_M1PR_Pos 4
921 #define MATRIX_PRAS3_M1PR_Msk (0x3u << MATRIX_PRAS3_M1PR_Pos) /*  (MATRIX_PRAS3) Master 1 Priority */
922 #define MATRIX_PRAS3_M1PR(value) ((MATRIX_PRAS3_M1PR_Msk & ((value) << MATRIX_PRAS3_M1PR_Pos)))
923 #define MATRIX_PRAS3_M2PR_Pos 8
924 #define MATRIX_PRAS3_M2PR_Msk (0x3u << MATRIX_PRAS3_M2PR_Pos) /*  (MATRIX_PRAS3) Master 2 Priority */
925 #define MATRIX_PRAS3_M2PR(value) ((MATRIX_PRAS3_M2PR_Msk & ((value) << MATRIX_PRAS3_M2PR_Pos)))
926 #define MATRIX_PRAS3_M3PR_Pos 12
927 #define MATRIX_PRAS3_M3PR_Msk (0x3u << MATRIX_PRAS3_M3PR_Pos) /*  (MATRIX_PRAS3) Master 3 Priority */
928 #define MATRIX_PRAS3_M3PR(value) ((MATRIX_PRAS3_M3PR_Msk & ((value) << MATRIX_PRAS3_M3PR_Pos)))
929 /* -------- CCFG_SYSIO : (MATRIX Offset: 0x0114) System I/O Configuration register -------- */
930 #define CCFG_SYSIO_SYSIO4 (0x1u << 4) /*  (CCFG_SYSIO) PB4 or TDI Assignment */
931 #define CCFG_SYSIO_SYSIO5 (0x1u << 5) /*  (CCFG_SYSIO) PB5 or TDO/TRACESWO Assignment */
932 #define CCFG_SYSIO_SYSIO6 (0x1u << 6) /*  (CCFG_SYSIO) PB6 or TMS/SWDIO Assignment */
933 #define CCFG_SYSIO_SYSIO7 (0x1u << 7) /*  (CCFG_SYSIO) PB7 or TCK/SWCLK Assignment */
934 #define CCFG_SYSIO_SYSIO12 (0x1u << 12) /*  (CCFG_SYSIO) PB12 or ERASE Assignment */
935 /* -------- MATRIX_WPMR : (MATRIX Offset: 0x1E4) Write Protect Mode Register -------- */
936 #define MATRIX_WPMR_WPEN (0x1u << 0) /*  (MATRIX_WPMR) Write Protect ENable */
937 #define MATRIX_WPMR_WPKEY_Pos 8
938 #define MATRIX_WPMR_WPKEY_Msk (0xffffffu << MATRIX_WPMR_WPKEY_Pos) /*  (MATRIX_WPMR) Write Protect KEY (Write-only) */
939 #define MATRIX_WPMR_WPKEY(value) ((MATRIX_WPMR_WPKEY_Msk & ((value) << MATRIX_WPMR_WPKEY_Pos)))
940 /* -------- MATRIX_WPSR : (MATRIX Offset: 0x1E8) Write Protect Status Register -------- */
941 #define MATRIX_WPSR_WPVS (0x1u << 0) /*  (MATRIX_WPSR) Write Protect Violation Status */
942 #define MATRIX_WPSR_WPVSRC_Pos 8
943 #define MATRIX_WPSR_WPVSRC_Msk (0xffffu << MATRIX_WPSR_WPVSRC_Pos) /*  (MATRIX_WPSR) Write Protect Violation Source */
944
945
946 /* ============================================================================= */
947 /*  SOFTWARE API DEFINITION FOR Peripheral DMA Controller */
948 /* ============================================================================= */
949
950 #ifndef __ASSEMBLY__
951 /* Pdc hardware registers */
952 typedef struct {
953   RwReg Reserved1[64];
954   RwReg PERIPH_RPR;    /*  (Pdc Offset: 0x100) Receive Pointer Register */
955   RwReg PERIPH_RCR;    /*  (Pdc Offset: 0x104) Receive Counter Register */
956   RwReg PERIPH_TPR;    /*  (Pdc Offset: 0x108) Transmit Pointer Register */
957   RwReg PERIPH_TCR;    /*  (Pdc Offset: 0x10C) Transmit Counter Register */
958   RwReg PERIPH_RNPR;   /*  (Pdc Offset: 0x110) Receive Next Pointer Register */
959   RwReg PERIPH_RNCR;   /*  (Pdc Offset: 0x114) Receive Next Counter Register */
960   RwReg PERIPH_TNPR;   /*  (Pdc Offset: 0x118) Transmit Next Pointer Register */
961   RwReg PERIPH_TNCR;   /*  (Pdc Offset: 0x11C) Transmit Next Counter Register */
962   WoReg PERIPH_PTCR;   /*  (Pdc Offset: 0x120) Transfer Control Register */
963   RoReg PERIPH_PTSR;   /*  (Pdc Offset: 0x124) Transfer Status Register */
964 } Pdc;
965 #endif /* __ASSEMBLY__ */
966 /* -------- PERIPH_RPR : (PDC Offset: 0x100) Receive Pointer Register -------- */
967 #define PERIPH_RPR_RXPTR_Pos 0
968 #define PERIPH_RPR_RXPTR_Msk (0xffffffffu << PERIPH_RPR_RXPTR_Pos) /*  (PERIPH_RPR) Receive Pointer Register */
969 #define PERIPH_RPR_RXPTR(value) ((PERIPH_RPR_RXPTR_Msk & ((value) << PERIPH_RPR_RXPTR_Pos)))
970 /* -------- PERIPH_RCR : (PDC Offset: 0x104) Receive Counter Register -------- */
971 #define PERIPH_RCR_RXCTR_Pos 0
972 #define PERIPH_RCR_RXCTR_Msk (0xffffu << PERIPH_RCR_RXCTR_Pos) /*  (PERIPH_RCR) Receive Counter Register */
973 #define PERIPH_RCR_RXCTR(value) ((PERIPH_RCR_RXCTR_Msk & ((value) << PERIPH_RCR_RXCTR_Pos)))
974 /* -------- PERIPH_TPR : (PDC Offset: 0x108) Transmit Pointer Register -------- */
975 #define PERIPH_TPR_TXPTR_Pos 0
976 #define PERIPH_TPR_TXPTR_Msk (0xffffffffu << PERIPH_TPR_TXPTR_Pos) /*  (PERIPH_TPR) Transmit Counter Register */
977 #define PERIPH_TPR_TXPTR(value) ((PERIPH_TPR_TXPTR_Msk & ((value) << PERIPH_TPR_TXPTR_Pos)))
978 /* -------- PERIPH_TCR : (PDC Offset: 0x10C) Transmit Counter Register -------- */
979 #define PERIPH_TCR_TXCTR_Pos 0
980 #define PERIPH_TCR_TXCTR_Msk (0xffffu << PERIPH_TCR_TXCTR_Pos) /*  (PERIPH_TCR) Transmit Counter Register */
981 #define PERIPH_TCR_TXCTR(value) ((PERIPH_TCR_TXCTR_Msk & ((value) << PERIPH_TCR_TXCTR_Pos)))
982 /* -------- PERIPH_RNPR : (PDC Offset: 0x110) Receive Next Pointer Register -------- */
983 #define PERIPH_RNPR_RXNPTR_Pos 0
984 #define PERIPH_RNPR_RXNPTR_Msk (0xffffffffu << PERIPH_RNPR_RXNPTR_Pos) /*  (PERIPH_RNPR) Receive Next Pointer */
985 #define PERIPH_RNPR_RXNPTR(value) ((PERIPH_RNPR_RXNPTR_Msk & ((value) << PERIPH_RNPR_RXNPTR_Pos)))
986 /* -------- PERIPH_RNCR : (PDC Offset: 0x114) Receive Next Counter Register -------- */
987 #define PERIPH_RNCR_RXNCTR_Pos 0
988 #define PERIPH_RNCR_RXNCTR_Msk (0xffffu << PERIPH_RNCR_RXNCTR_Pos) /*  (PERIPH_RNCR) Receive Next Counter */
989 #define PERIPH_RNCR_RXNCTR(value) ((PERIPH_RNCR_RXNCTR_Msk & ((value) << PERIPH_RNCR_RXNCTR_Pos)))
990 /* -------- PERIPH_TNPR : (PDC Offset: 0x118) Transmit Next Pointer Register -------- */
991 #define PERIPH_TNPR_TXNPTR_Pos 0
992 #define PERIPH_TNPR_TXNPTR_Msk (0xffffffffu << PERIPH_TNPR_TXNPTR_Pos) /*  (PERIPH_TNPR) Transmit Next Pointer */
993 #define PERIPH_TNPR_TXNPTR(value) ((PERIPH_TNPR_TXNPTR_Msk & ((value) << PERIPH_TNPR_TXNPTR_Pos)))
994 /* -------- PERIPH_TNCR : (PDC Offset: 0x11C) Transmit Next Counter Register -------- */
995 #define PERIPH_TNCR_TXNCTR_Pos 0
996 #define PERIPH_TNCR_TXNCTR_Msk (0xffffu << PERIPH_TNCR_TXNCTR_Pos) /*  (PERIPH_TNCR) Transmit Counter Next */
997 #define PERIPH_TNCR_TXNCTR(value) ((PERIPH_TNCR_TXNCTR_Msk & ((value) << PERIPH_TNCR_TXNCTR_Pos)))
998 /* -------- PERIPH_PTCR : (PDC Offset: 0x120) Transfer Control Register -------- */
999 #define PERIPH_PTCR_RXTEN (0x1u << 0) /*  (PERIPH_PTCR) Receiver Transfer Enable */
1000 #define PERIPH_PTCR_RXTDIS (0x1u << 1) /*  (PERIPH_PTCR) Receiver Transfer Disable */
1001 #define PERIPH_PTCR_TXTEN (0x1u << 8) /*  (PERIPH_PTCR) Transmitter Transfer Enable */
1002 #define PERIPH_PTCR_TXTDIS (0x1u << 9) /*  (PERIPH_PTCR) Transmitter Transfer Disable */
1003 /* -------- PERIPH_PTSR : (PDC Offset: 0x124) Transfer Status Register -------- */
1004 #define PERIPH_PTSR_RXTEN (0x1u << 0) /*  (PERIPH_PTSR) Receiver Transfer Enable */
1005 #define PERIPH_PTSR_TXTEN (0x1u << 8) /*  (PERIPH_PTSR) Transmitter Transfer Enable */
1006
1007
1008 /* ============================================================================= */
1009 /*  SOFTWARE API DEFINITION FOR Parallel Input/Output */
1010 /* ============================================================================= */
1011
1012 #ifndef __ASSEMBLY__
1013 /* Pio hardware registers */
1014 typedef struct {
1015   WoReg PIO_PER;       /*  (Pio Offset: 0x0000) PIO Enable Register */
1016   WoReg PIO_PDR;       /*  (Pio Offset: 0x0004) PIO Disable Register */
1017   RoReg PIO_PSR;       /*  (Pio Offset: 0x0008) PIO Status Register */
1018   RwReg Reserved1[1]; 
1019   WoReg PIO_OER;       /*  (Pio Offset: 0x0010) Output Enable Register */
1020   WoReg PIO_ODR;       /*  (Pio Offset: 0x0014) Output Disable Register */
1021   RoReg PIO_OSR;       /*  (Pio Offset: 0x0018) Output Status Register */
1022   RwReg Reserved2[1]; 
1023   WoReg PIO_IFER;      /*  (Pio Offset: 0x0020) Glitch Input Filter Enable Register */
1024   WoReg PIO_IFDR;      /*  (Pio Offset: 0x0024) Glitch Input Filter Disable Register */
1025   RoReg PIO_IFSR;      /*  (Pio Offset: 0x0028) Glitch Input Filter Status Register */
1026   RwReg Reserved3[1]; 
1027   WoReg PIO_SODR;      /*  (Pio Offset: 0x0030) Set Output Data Register */
1028   WoReg PIO_CODR;      /*  (Pio Offset: 0x0034) Clear Output Data Register */
1029   RwReg PIO_ODSR;      /*  (Pio Offset: 0x0038) Output Data Status Register */
1030   RoReg PIO_PDSR;      /*  (Pio Offset: 0x003C) Pin Data Status Register */
1031   WoReg PIO_IER;       /*  (Pio Offset: 0x0040) Interrupt Enable Register */
1032   WoReg PIO_IDR;       /*  (Pio Offset: 0x0044) Interrupt Disable Register */
1033   RoReg PIO_IMR;       /*  (Pio Offset: 0x0048) Interrupt Mask Register */
1034   RoReg PIO_ISR;       /*  (Pio Offset: 0x004C) Interrupt Status Register */
1035   WoReg PIO_MDER;      /*  (Pio Offset: 0x0050) Multi-driver Enable Register */
1036   WoReg PIO_MDDR;      /*  (Pio Offset: 0x0054) Multi-driver Disable Register */
1037   RoReg PIO_MDSR;      /*  (Pio Offset: 0x0058) Multi-driver Status Register */
1038   RwReg Reserved4[1]; 
1039   WoReg PIO_PUDR;      /*  (Pio Offset: 0x0060) Pull-up Disable Register */
1040   WoReg PIO_PUER;      /*  (Pio Offset: 0x0064) Pull-up Enable Register */
1041   RoReg PIO_PUSR;      /*  (Pio Offset: 0x0068) Pad Pull-up Status Register */
1042   RwReg Reserved5[1]; 
1043   RwReg PIO_ABCDSR[2]; /*  (Pio Offset: 0x0070) Peripheral Select Register */
1044   RwReg Reserved6[2]; 
1045   WoReg PIO_IFSCDR;    /*  (Pio Offset: 0x0080) Input Filter Slow Clock Disable Register */
1046   WoReg PIO_IFSCER;    /*  (Pio Offset: 0x0084) Input Filter Slow Clock Enable Register */
1047   RoReg PIO_IFSCSR;    /*  (Pio Offset: 0x0088) Input Filter Slow Clock Status Register */
1048   RwReg PIO_SCDR;      /*  (Pio Offset: 0x008C) Slow Clock Divider Debouncing Register */
1049   WoReg PIO_PPDDR;     /*  (Pio Offset: 0x0090) Pad Pull-down Disable Register */
1050   WoReg PIO_PPDER;     /*  (Pio Offset: 0x0094) Pad Pull-down Enable Register */
1051   RoReg PIO_PPDSR;     /*  (Pio Offset: 0x0098) Pad Pull-down Status Register */
1052   RwReg Reserved7[1]; 
1053   WoReg PIO_OWER;      /*  (Pio Offset: 0x00A0) Output Write Enable */
1054   WoReg PIO_OWDR;      /*  (Pio Offset: 0x00A4) Output Write Disable */
1055   RoReg PIO_OWSR;      /*  (Pio Offset: 0x00A8) Output Write Status Register */
1056   RwReg Reserved8[1]; 
1057   WoReg PIO_AIMER;     /*  (Pio Offset: 0x00B0) Additional Interrupt Modes Enable Register */
1058   WoReg PIO_AIMDR;     /*  (Pio Offset: 0x00B4) Additional Interrupt Modes Disables Register */
1059   RoReg PIO_AIMMR;     /*  (Pio Offset: 0x00B8) Additional Interrupt Modes Mask Register */
1060   RwReg Reserved9[1]; 
1061   WoReg PIO_ESR;       /*  (Pio Offset: 0x00C0) Edge Select Register */
1062   WoReg PIO_LSR;       /*  (Pio Offset: 0x00C4) Level Select Register */
1063   RoReg PIO_ELSR;      /*  (Pio Offset: 0x00C8) Edge/Level Status Register */
1064   RwReg Reserved10[1];
1065   WoReg PIO_FELLSR;    /*  (Pio Offset: 0x00D0) Falling Edge/Low Level Select Register */
1066   WoReg PIO_REHLSR;    /*  (Pio Offset: 0x00D4) Rising Edge/ High Level Select Register */
1067   RoReg PIO_FRLHSR;    /*  (Pio Offset: 0x00D8) Fall/Rise - Low/High Status Register */
1068   RwReg Reserved11[1];
1069   RoReg PIO_LOCKSR;    /*  (Pio Offset: 0x00E0) Lock Status */
1070   RwReg PIO_WPMR;      /*  (Pio Offset: 0x00E4) Write Protect Mode Register */
1071   RoReg PIO_WPSR;      /*  (Pio Offset: 0x00E8) Write Protect Status Register */
1072   RwReg Reserved12[5];
1073   RwReg PIO_SCHMITT;   /*  (Pio Offset: 0x0100) Schmitt Trigger Register */
1074 } Pio;
1075 #endif /* __ASSEMBLY__ */
1076 /* -------- PIO_PER : (PIO Offset: 0x0000) PIO Enable Register -------- */
1077 #define PIO_PER_P0 (0x1u << 0) /*  (PIO_PER) PIO Enable */
1078 #define PIO_PER_P1 (0x1u << 1) /*  (PIO_PER) PIO Enable */
1079 #define PIO_PER_P2 (0x1u << 2) /*  (PIO_PER) PIO Enable */
1080 #define PIO_PER_P3 (0x1u << 3) /*  (PIO_PER) PIO Enable */
1081 #define PIO_PER_P4 (0x1u << 4) /*  (PIO_PER) PIO Enable */
1082 #define PIO_PER_P5 (0x1u << 5) /*  (PIO_PER) PIO Enable */
1083 #define PIO_PER_P6 (0x1u << 6) /*  (PIO_PER) PIO Enable */
1084 #define PIO_PER_P7 (0x1u << 7) /*  (PIO_PER) PIO Enable */
1085 #define PIO_PER_P8 (0x1u << 8) /*  (PIO_PER) PIO Enable */
1086 #define PIO_PER_P9 (0x1u << 9) /*  (PIO_PER) PIO Enable */
1087 #define PIO_PER_P10 (0x1u << 10) /*  (PIO_PER) PIO Enable */
1088 #define PIO_PER_P11 (0x1u << 11) /*  (PIO_PER) PIO Enable */
1089 #define PIO_PER_P12 (0x1u << 12) /*  (PIO_PER) PIO Enable */
1090 #define PIO_PER_P13 (0x1u << 13) /*  (PIO_PER) PIO Enable */
1091 #define PIO_PER_P14 (0x1u << 14) /*  (PIO_PER) PIO Enable */
1092 #define PIO_PER_P15 (0x1u << 15) /*  (PIO_PER) PIO Enable */
1093 #define PIO_PER_P16 (0x1u << 16) /*  (PIO_PER) PIO Enable */
1094 #define PIO_PER_P17 (0x1u << 17) /*  (PIO_PER) PIO Enable */
1095 #define PIO_PER_P18 (0x1u << 18) /*  (PIO_PER) PIO Enable */
1096 #define PIO_PER_P19 (0x1u << 19) /*  (PIO_PER) PIO Enable */
1097 #define PIO_PER_P20 (0x1u << 20) /*  (PIO_PER) PIO Enable */
1098 #define PIO_PER_P21 (0x1u << 21) /*  (PIO_PER) PIO Enable */
1099 #define PIO_PER_P22 (0x1u << 22) /*  (PIO_PER) PIO Enable */
1100 #define PIO_PER_P23 (0x1u << 23) /*  (PIO_PER) PIO Enable */
1101 #define PIO_PER_P24 (0x1u << 24) /*  (PIO_PER) PIO Enable */
1102 #define PIO_PER_P25 (0x1u << 25) /*  (PIO_PER) PIO Enable */
1103 #define PIO_PER_P26 (0x1u << 26) /*  (PIO_PER) PIO Enable */
1104 #define PIO_PER_P27 (0x1u << 27) /*  (PIO_PER) PIO Enable */
1105 #define PIO_PER_P28 (0x1u << 28) /*  (PIO_PER) PIO Enable */
1106 #define PIO_PER_P29 (0x1u << 29) /*  (PIO_PER) PIO Enable */
1107 #define PIO_PER_P30 (0x1u << 30) /*  (PIO_PER) PIO Enable */
1108 #define PIO_PER_P31 (0x1u << 31) /*  (PIO_PER) PIO Enable */
1109 /* -------- PIO_PDR : (PIO Offset: 0x0004) PIO Disable Register -------- */
1110 #define PIO_PDR_P0 (0x1u << 0) /*  (PIO_PDR) PIO Disable */
1111 #define PIO_PDR_P1 (0x1u << 1) /*  (PIO_PDR) PIO Disable */
1112 #define PIO_PDR_P2 (0x1u << 2) /*  (PIO_PDR) PIO Disable */
1113 #define PIO_PDR_P3 (0x1u << 3) /*  (PIO_PDR) PIO Disable */
1114 #define PIO_PDR_P4 (0x1u << 4) /*  (PIO_PDR) PIO Disable */
1115 #define PIO_PDR_P5 (0x1u << 5) /*  (PIO_PDR) PIO Disable */
1116 #define PIO_PDR_P6 (0x1u << 6) /*  (PIO_PDR) PIO Disable */
1117 #define PIO_PDR_P7 (0x1u << 7) /*  (PIO_PDR) PIO Disable */
1118 #define PIO_PDR_P8 (0x1u << 8) /*  (PIO_PDR) PIO Disable */
1119 #define PIO_PDR_P9 (0x1u << 9) /*  (PIO_PDR) PIO Disable */
1120 #define PIO_PDR_P10 (0x1u << 10) /*  (PIO_PDR) PIO Disable */
1121 #define PIO_PDR_P11 (0x1u << 11) /*  (PIO_PDR) PIO Disable */
1122 #define PIO_PDR_P12 (0x1u << 12) /*  (PIO_PDR) PIO Disable */
1123 #define PIO_PDR_P13 (0x1u << 13) /*  (PIO_PDR) PIO Disable */
1124 #define PIO_PDR_P14 (0x1u << 14) /*  (PIO_PDR) PIO Disable */
1125 #define PIO_PDR_P15 (0x1u << 15) /*  (PIO_PDR) PIO Disable */
1126 #define PIO_PDR_P16 (0x1u << 16) /*  (PIO_PDR) PIO Disable */
1127 #define PIO_PDR_P17 (0x1u << 17) /*  (PIO_PDR) PIO Disable */
1128 #define PIO_PDR_P18 (0x1u << 18) /*  (PIO_PDR) PIO Disable */
1129 #define PIO_PDR_P19 (0x1u << 19) /*  (PIO_PDR) PIO Disable */
1130 #define PIO_PDR_P20 (0x1u << 20) /*  (PIO_PDR) PIO Disable */
1131 #define PIO_PDR_P21 (0x1u << 21) /*  (PIO_PDR) PIO Disable */
1132 #define PIO_PDR_P22 (0x1u << 22) /*  (PIO_PDR) PIO Disable */
1133 #define PIO_PDR_P23 (0x1u << 23) /*  (PIO_PDR) PIO Disable */
1134 #define PIO_PDR_P24 (0x1u << 24) /*  (PIO_PDR) PIO Disable */
1135 #define PIO_PDR_P25 (0x1u << 25) /*  (PIO_PDR) PIO Disable */
1136 #define PIO_PDR_P26 (0x1u << 26) /*  (PIO_PDR) PIO Disable */
1137 #define PIO_PDR_P27 (0x1u << 27) /*  (PIO_PDR) PIO Disable */
1138 #define PIO_PDR_P28 (0x1u << 28) /*  (PIO_PDR) PIO Disable */
1139 #define PIO_PDR_P29 (0x1u << 29) /*  (PIO_PDR) PIO Disable */
1140 #define PIO_PDR_P30 (0x1u << 30) /*  (PIO_PDR) PIO Disable */
1141 #define PIO_PDR_P31 (0x1u << 31) /*  (PIO_PDR) PIO Disable */
1142 /* -------- PIO_PSR : (PIO Offset: 0x0008) PIO Status Register -------- */
1143 #define PIO_PSR_P0 (0x1u << 0) /*  (PIO_PSR) PIO Status */
1144 #define PIO_PSR_P1 (0x1u << 1) /*  (PIO_PSR) PIO Status */
1145 #define PIO_PSR_P2 (0x1u << 2) /*  (PIO_PSR) PIO Status */
1146 #define PIO_PSR_P3 (0x1u << 3) /*  (PIO_PSR) PIO Status */
1147 #define PIO_PSR_P4 (0x1u << 4) /*  (PIO_PSR) PIO Status */
1148 #define PIO_PSR_P5 (0x1u << 5) /*  (PIO_PSR) PIO Status */
1149 #define PIO_PSR_P6 (0x1u << 6) /*  (PIO_PSR) PIO Status */
1150 #define PIO_PSR_P7 (0x1u << 7) /*  (PIO_PSR) PIO Status */
1151 #define PIO_PSR_P8 (0x1u << 8) /*  (PIO_PSR) PIO Status */
1152 #define PIO_PSR_P9 (0x1u << 9) /*  (PIO_PSR) PIO Status */
1153 #define PIO_PSR_P10 (0x1u << 10) /*  (PIO_PSR) PIO Status */
1154 #define PIO_PSR_P11 (0x1u << 11) /*  (PIO_PSR) PIO Status */
1155 #define PIO_PSR_P12 (0x1u << 12) /*  (PIO_PSR) PIO Status */
1156 #define PIO_PSR_P13 (0x1u << 13) /*  (PIO_PSR) PIO Status */
1157 #define PIO_PSR_P14 (0x1u << 14) /*  (PIO_PSR) PIO Status */
1158 #define PIO_PSR_P15 (0x1u << 15) /*  (PIO_PSR) PIO Status */
1159 #define PIO_PSR_P16 (0x1u << 16) /*  (PIO_PSR) PIO Status */
1160 #define PIO_PSR_P17 (0x1u << 17) /*  (PIO_PSR) PIO Status */
1161 #define PIO_PSR_P18 (0x1u << 18) /*  (PIO_PSR) PIO Status */
1162 #define PIO_PSR_P19 (0x1u << 19) /*  (PIO_PSR) PIO Status */
1163 #define PIO_PSR_P20 (0x1u << 20) /*  (PIO_PSR) PIO Status */
1164 #define PIO_PSR_P21 (0x1u << 21) /*  (PIO_PSR) PIO Status */
1165 #define PIO_PSR_P22 (0x1u << 22) /*  (PIO_PSR) PIO Status */
1166 #define PIO_PSR_P23 (0x1u << 23) /*  (PIO_PSR) PIO Status */
1167 #define PIO_PSR_P24 (0x1u << 24) /*  (PIO_PSR) PIO Status */
1168 #define PIO_PSR_P25 (0x1u << 25) /*  (PIO_PSR) PIO Status */
1169 #define PIO_PSR_P26 (0x1u << 26) /*  (PIO_PSR) PIO Status */
1170 #define PIO_PSR_P27 (0x1u << 27) /*  (PIO_PSR) PIO Status */
1171 #define PIO_PSR_P28 (0x1u << 28) /*  (PIO_PSR) PIO Status */
1172 #define PIO_PSR_P29 (0x1u << 29) /*  (PIO_PSR) PIO Status */
1173 #define PIO_PSR_P30 (0x1u << 30) /*  (PIO_PSR) PIO Status */
1174 #define PIO_PSR_P31 (0x1u << 31) /*  (PIO_PSR) PIO Status */
1175 /* -------- PIO_OER : (PIO Offset: 0x0010) Output Enable Register -------- */
1176 #define PIO_OER_P0 (0x1u << 0) /*  (PIO_OER) Output Enable */
1177 #define PIO_OER_P1 (0x1u << 1) /*  (PIO_OER) Output Enable */
1178 #define PIO_OER_P2 (0x1u << 2) /*  (PIO_OER) Output Enable */
1179 #define PIO_OER_P3 (0x1u << 3) /*  (PIO_OER) Output Enable */
1180 #define PIO_OER_P4 (0x1u << 4) /*  (PIO_OER) Output Enable */
1181 #define PIO_OER_P5 (0x1u << 5) /*  (PIO_OER) Output Enable */
1182 #define PIO_OER_P6 (0x1u << 6) /*  (PIO_OER) Output Enable */
1183 #define PIO_OER_P7 (0x1u << 7) /*  (PIO_OER) Output Enable */
1184 #define PIO_OER_P8 (0x1u << 8) /*  (PIO_OER) Output Enable */
1185 #define PIO_OER_P9 (0x1u << 9) /*  (PIO_OER) Output Enable */
1186 #define PIO_OER_P10 (0x1u << 10) /*  (PIO_OER) Output Enable */
1187 #define PIO_OER_P11 (0x1u << 11) /*  (PIO_OER) Output Enable */
1188 #define PIO_OER_P12 (0x1u << 12) /*  (PIO_OER) Output Enable */
1189 #define PIO_OER_P13 (0x1u << 13) /*  (PIO_OER) Output Enable */
1190 #define PIO_OER_P14 (0x1u << 14) /*  (PIO_OER) Output Enable */
1191 #define PIO_OER_P15 (0x1u << 15) /*  (PIO_OER) Output Enable */
1192 #define PIO_OER_P16 (0x1u << 16) /*  (PIO_OER) Output Enable */
1193 #define PIO_OER_P17 (0x1u << 17) /*  (PIO_OER) Output Enable */
1194 #define PIO_OER_P18 (0x1u << 18) /*  (PIO_OER) Output Enable */
1195 #define PIO_OER_P19 (0x1u << 19) /*  (PIO_OER) Output Enable */
1196 #define PIO_OER_P20 (0x1u << 20) /*  (PIO_OER) Output Enable */
1197 #define PIO_OER_P21 (0x1u << 21) /*  (PIO_OER) Output Enable */
1198 #define PIO_OER_P22 (0x1u << 22) /*  (PIO_OER) Output Enable */
1199 #define PIO_OER_P23 (0x1u << 23) /*  (PIO_OER) Output Enable */
1200 #define PIO_OER_P24 (0x1u << 24) /*  (PIO_OER) Output Enable */
1201 #define PIO_OER_P25 (0x1u << 25) /*  (PIO_OER) Output Enable */
1202 #define PIO_OER_P26 (0x1u << 26) /*  (PIO_OER) Output Enable */
1203 #define PIO_OER_P27 (0x1u << 27) /*  (PIO_OER) Output Enable */
1204 #define PIO_OER_P28 (0x1u << 28) /*  (PIO_OER) Output Enable */
1205 #define PIO_OER_P29 (0x1u << 29) /*  (PIO_OER) Output Enable */
1206 #define PIO_OER_P30 (0x1u << 30) /*  (PIO_OER) Output Enable */
1207 #define PIO_OER_P31 (0x1u << 31) /*  (PIO_OER) Output Enable */
1208 /* -------- PIO_ODR : (PIO Offset: 0x0014) Output Disable Register -------- */
1209 #define PIO_ODR_P0 (0x1u << 0) /*  (PIO_ODR) Output Disable */
1210 #define PIO_ODR_P1 (0x1u << 1) /*  (PIO_ODR) Output Disable */
1211 #define PIO_ODR_P2 (0x1u << 2) /*  (PIO_ODR) Output Disable */
1212 #define PIO_ODR_P3 (0x1u << 3) /*  (PIO_ODR) Output Disable */
1213 #define PIO_ODR_P4 (0x1u << 4) /*  (PIO_ODR) Output Disable */
1214 #define PIO_ODR_P5 (0x1u << 5) /*  (PIO_ODR) Output Disable */
1215 #define PIO_ODR_P6 (0x1u << 6) /*  (PIO_ODR) Output Disable */
1216 #define PIO_ODR_P7 (0x1u << 7) /*  (PIO_ODR) Output Disable */
1217 #define PIO_ODR_P8 (0x1u << 8) /*  (PIO_ODR) Output Disable */
1218 #define PIO_ODR_P9 (0x1u << 9) /*  (PIO_ODR) Output Disable */
1219 #define PIO_ODR_P10 (0x1u << 10) /*  (PIO_ODR) Output Disable */
1220 #define PIO_ODR_P11 (0x1u << 11) /*  (PIO_ODR) Output Disable */
1221 #define PIO_ODR_P12 (0x1u << 12) /*  (PIO_ODR) Output Disable */
1222 #define PIO_ODR_P13 (0x1u << 13) /*  (PIO_ODR) Output Disable */
1223 #define PIO_ODR_P14 (0x1u << 14) /*  (PIO_ODR) Output Disable */
1224 #define PIO_ODR_P15 (0x1u << 15) /*  (PIO_ODR) Output Disable */
1225 #define PIO_ODR_P16 (0x1u << 16) /*  (PIO_ODR) Output Disable */
1226 #define PIO_ODR_P17 (0x1u << 17) /*  (PIO_ODR) Output Disable */
1227 #define PIO_ODR_P18 (0x1u << 18) /*  (PIO_ODR) Output Disable */
1228 #define PIO_ODR_P19 (0x1u << 19) /*  (PIO_ODR) Output Disable */
1229 #define PIO_ODR_P20 (0x1u << 20) /*  (PIO_ODR) Output Disable */
1230 #define PIO_ODR_P21 (0x1u << 21) /*  (PIO_ODR) Output Disable */
1231 #define PIO_ODR_P22 (0x1u << 22) /*  (PIO_ODR) Output Disable */
1232 #define PIO_ODR_P23 (0x1u << 23) /*  (PIO_ODR) Output Disable */
1233 #define PIO_ODR_P24 (0x1u << 24) /*  (PIO_ODR) Output Disable */
1234 #define PIO_ODR_P25 (0x1u << 25) /*  (PIO_ODR) Output Disable */
1235 #define PIO_ODR_P26 (0x1u << 26) /*  (PIO_ODR) Output Disable */
1236 #define PIO_ODR_P27 (0x1u << 27) /*  (PIO_ODR) Output Disable */
1237 #define PIO_ODR_P28 (0x1u << 28) /*  (PIO_ODR) Output Disable */
1238 #define PIO_ODR_P29 (0x1u << 29) /*  (PIO_ODR) Output Disable */
1239 #define PIO_ODR_P30 (0x1u << 30) /*  (PIO_ODR) Output Disable */
1240 #define PIO_ODR_P31 (0x1u << 31) /*  (PIO_ODR) Output Disable */
1241 /* -------- PIO_OSR : (PIO Offset: 0x0018) Output Status Register -------- */
1242 #define PIO_OSR_P0 (0x1u << 0) /*  (PIO_OSR) Output Status */
1243 #define PIO_OSR_P1 (0x1u << 1) /*  (PIO_OSR) Output Status */
1244 #define PIO_OSR_P2 (0x1u << 2) /*  (PIO_OSR) Output Status */
1245 #define PIO_OSR_P3 (0x1u << 3) /*  (PIO_OSR) Output Status */
1246 #define PIO_OSR_P4 (0x1u << 4) /*  (PIO_OSR) Output Status */
1247 #define PIO_OSR_P5 (0x1u << 5) /*  (PIO_OSR) Output Status */
1248 #define PIO_OSR_P6 (0x1u << 6) /*  (PIO_OSR) Output Status */
1249 #define PIO_OSR_P7 (0x1u << 7) /*  (PIO_OSR) Output Status */
1250 #define PIO_OSR_P8 (0x1u << 8) /*  (PIO_OSR) Output Status */
1251 #define PIO_OSR_P9 (0x1u << 9) /*  (PIO_OSR) Output Status */
1252 #define PIO_OSR_P10 (0x1u << 10) /*  (PIO_OSR) Output Status */
1253 #define PIO_OSR_P11 (0x1u << 11) /*  (PIO_OSR) Output Status */
1254 #define PIO_OSR_P12 (0x1u << 12) /*  (PIO_OSR) Output Status */
1255 #define PIO_OSR_P13 (0x1u << 13) /*  (PIO_OSR) Output Status */
1256 #define PIO_OSR_P14 (0x1u << 14) /*  (PIO_OSR) Output Status */
1257 #define PIO_OSR_P15 (0x1u << 15) /*  (PIO_OSR) Output Status */
1258 #define PIO_OSR_P16 (0x1u << 16) /*  (PIO_OSR) Output Status */
1259 #define PIO_OSR_P17 (0x1u << 17) /*  (PIO_OSR) Output Status */
1260 #define PIO_OSR_P18 (0x1u << 18) /*  (PIO_OSR) Output Status */
1261 #define PIO_OSR_P19 (0x1u << 19) /*  (PIO_OSR) Output Status */
1262 #define PIO_OSR_P20 (0x1u << 20) /*  (PIO_OSR) Output Status */
1263 #define PIO_OSR_P21 (0x1u << 21) /*  (PIO_OSR) Output Status */
1264 #define PIO_OSR_P22 (0x1u << 22) /*  (PIO_OSR) Output Status */
1265 #define PIO_OSR_P23 (0x1u << 23) /*  (PIO_OSR) Output Status */
1266 #define PIO_OSR_P24 (0x1u << 24) /*  (PIO_OSR) Output Status */
1267 #define PIO_OSR_P25 (0x1u << 25) /*  (PIO_OSR) Output Status */
1268 #define PIO_OSR_P26 (0x1u << 26) /*  (PIO_OSR) Output Status */
1269 #define PIO_OSR_P27 (0x1u << 27) /*  (PIO_OSR) Output Status */
1270 #define PIO_OSR_P28 (0x1u << 28) /*  (PIO_OSR) Output Status */
1271 #define PIO_OSR_P29 (0x1u << 29) /*  (PIO_OSR) Output Status */
1272 #define PIO_OSR_P30 (0x1u << 30) /*  (PIO_OSR) Output Status */
1273 #define PIO_OSR_P31 (0x1u << 31) /*  (PIO_OSR) Output Status */
1274 /* -------- PIO_IFER : (PIO Offset: 0x0020) Glitch Input Filter Enable Register -------- */
1275 #define PIO_IFER_P0 (0x1u << 0) /*  (PIO_IFER) Input Filter Enable */
1276 #define PIO_IFER_P1 (0x1u << 1) /*  (PIO_IFER) Input Filter Enable */
1277 #define PIO_IFER_P2 (0x1u << 2) /*  (PIO_IFER) Input Filter Enable */
1278 #define PIO_IFER_P3 (0x1u << 3) /*  (PIO_IFER) Input Filter Enable */
1279 #define PIO_IFER_P4 (0x1u << 4) /*  (PIO_IFER) Input Filter Enable */
1280 #define PIO_IFER_P5 (0x1u << 5) /*  (PIO_IFER) Input Filter Enable */
1281 #define PIO_IFER_P6 (0x1u << 6) /*  (PIO_IFER) Input Filter Enable */
1282 #define PIO_IFER_P7 (0x1u << 7) /*  (PIO_IFER) Input Filter Enable */
1283 #define PIO_IFER_P8 (0x1u << 8) /*  (PIO_IFER) Input Filter Enable */
1284 #define PIO_IFER_P9 (0x1u << 9) /*  (PIO_IFER) Input Filter Enable */
1285 #define PIO_IFER_P10 (0x1u << 10) /*  (PIO_IFER) Input Filter Enable */
1286 #define PIO_IFER_P11 (0x1u << 11) /*  (PIO_IFER) Input Filter Enable */
1287 #define PIO_IFER_P12 (0x1u << 12) /*  (PIO_IFER) Input Filter Enable */
1288 #define PIO_IFER_P13 (0x1u << 13) /*  (PIO_IFER) Input Filter Enable */
1289 #define PIO_IFER_P14 (0x1u << 14) /*  (PIO_IFER) Input Filter Enable */
1290 #define PIO_IFER_P15 (0x1u << 15) /*  (PIO_IFER) Input Filter Enable */
1291 #define PIO_IFER_P16 (0x1u << 16) /*  (PIO_IFER) Input Filter Enable */
1292 #define PIO_IFER_P17 (0x1u << 17) /*  (PIO_IFER) Input Filter Enable */
1293 #define PIO_IFER_P18 (0x1u << 18) /*  (PIO_IFER) Input Filter Enable */
1294 #define PIO_IFER_P19 (0x1u << 19) /*  (PIO_IFER) Input Filter Enable */
1295 #define PIO_IFER_P20 (0x1u << 20) /*  (PIO_IFER) Input Filter Enable */
1296 #define PIO_IFER_P21 (0x1u << 21) /*  (PIO_IFER) Input Filter Enable */
1297 #define PIO_IFER_P22 (0x1u << 22) /*  (PIO_IFER) Input Filter Enable */
1298 #define PIO_IFER_P23 (0x1u << 23) /*  (PIO_IFER) Input Filter Enable */
1299 #define PIO_IFER_P24 (0x1u << 24) /*  (PIO_IFER) Input Filter Enable */
1300 #define PIO_IFER_P25 (0x1u << 25) /*  (PIO_IFER) Input Filter Enable */
1301 #define PIO_IFER_P26 (0x1u << 26) /*  (PIO_IFER) Input Filter Enable */
1302 #define PIO_IFER_P27 (0x1u << 27) /*  (PIO_IFER) Input Filter Enable */
1303 #define PIO_IFER_P28 (0x1u << 28) /*  (PIO_IFER) Input Filter Enable */
1304 #define PIO_IFER_P29 (0x1u << 29) /*  (PIO_IFER) Input Filter Enable */
1305 #define PIO_IFER_P30 (0x1u << 30) /*  (PIO_IFER) Input Filter Enable */
1306 #define PIO_IFER_P31 (0x1u << 31) /*  (PIO_IFER) Input Filter Enable */
1307 /* -------- PIO_IFDR : (PIO Offset: 0x0024) Glitch Input Filter Disable Register -------- */
1308 #define PIO_IFDR_P0 (0x1u << 0) /*  (PIO_IFDR) Input Filter Disable */
1309 #define PIO_IFDR_P1 (0x1u << 1) /*  (PIO_IFDR) Input Filter Disable */
1310 #define PIO_IFDR_P2 (0x1u << 2) /*  (PIO_IFDR) Input Filter Disable */
1311 #define PIO_IFDR_P3 (0x1u << 3) /*  (PIO_IFDR) Input Filter Disable */
1312 #define PIO_IFDR_P4 (0x1u << 4) /*  (PIO_IFDR) Input Filter Disable */
1313 #define PIO_IFDR_P5 (0x1u << 5) /*  (PIO_IFDR) Input Filter Disable */
1314 #define PIO_IFDR_P6 (0x1u << 6) /*  (PIO_IFDR) Input Filter Disable */
1315 #define PIO_IFDR_P7 (0x1u << 7) /*  (PIO_IFDR) Input Filter Disable */
1316 #define PIO_IFDR_P8 (0x1u << 8) /*  (PIO_IFDR) Input Filter Disable */
1317 #define PIO_IFDR_P9 (0x1u << 9) /*  (PIO_IFDR) Input Filter Disable */
1318 #define PIO_IFDR_P10 (0x1u << 10) /*  (PIO_IFDR) Input Filter Disable */
1319 #define PIO_IFDR_P11 (0x1u << 11) /*  (PIO_IFDR) Input Filter Disable */
1320 #define PIO_IFDR_P12 (0x1u << 12) /*  (PIO_IFDR) Input Filter Disable */
1321 #define PIO_IFDR_P13 (0x1u << 13) /*  (PIO_IFDR) Input Filter Disable */
1322 #define PIO_IFDR_P14 (0x1u << 14) /*  (PIO_IFDR) Input Filter Disable */
1323 #define PIO_IFDR_P15 (0x1u << 15) /*  (PIO_IFDR) Input Filter Disable */
1324 #define PIO_IFDR_P16 (0x1u << 16) /*  (PIO_IFDR) Input Filter Disable */
1325 #define PIO_IFDR_P17 (0x1u << 17) /*  (PIO_IFDR) Input Filter Disable */
1326 #define PIO_IFDR_P18 (0x1u << 18) /*  (PIO_IFDR) Input Filter Disable */
1327 #define PIO_IFDR_P19 (0x1u << 19) /*  (PIO_IFDR) Input Filter Disable */
1328 #define PIO_IFDR_P20 (0x1u << 20) /*  (PIO_IFDR) Input Filter Disable */
1329 #define PIO_IFDR_P21 (0x1u << 21) /*  (PIO_IFDR) Input Filter Disable */
1330 #define PIO_IFDR_P22 (0x1u << 22) /*  (PIO_IFDR) Input Filter Disable */
1331 #define PIO_IFDR_P23 (0x1u << 23) /*  (PIO_IFDR) Input Filter Disable */
1332 #define PIO_IFDR_P24 (0x1u << 24) /*  (PIO_IFDR) Input Filter Disable */
1333 #define PIO_IFDR_P25 (0x1u << 25) /*  (PIO_IFDR) Input Filter Disable */
1334 #define PIO_IFDR_P26 (0x1u << 26) /*  (PIO_IFDR) Input Filter Disable */
1335 #define PIO_IFDR_P27 (0x1u << 27) /*  (PIO_IFDR) Input Filter Disable */
1336 #define PIO_IFDR_P28 (0x1u << 28) /*  (PIO_IFDR) Input Filter Disable */
1337 #define PIO_IFDR_P29 (0x1u << 29) /*  (PIO_IFDR) Input Filter Disable */
1338 #define PIO_IFDR_P30 (0x1u << 30) /*  (PIO_IFDR) Input Filter Disable */
1339 #define PIO_IFDR_P31 (0x1u << 31) /*  (PIO_IFDR) Input Filter Disable */
1340 /* -------- PIO_IFSR : (PIO Offset: 0x0028) Glitch Input Filter Status Register -------- */
1341 #define PIO_IFSR_P0 (0x1u << 0) /*  (PIO_IFSR) Input Filer Status */
1342 #define PIO_IFSR_P1 (0x1u << 1) /*  (PIO_IFSR) Input Filer Status */
1343 #define PIO_IFSR_P2 (0x1u << 2) /*  (PIO_IFSR) Input Filer Status */
1344 #define PIO_IFSR_P3 (0x1u << 3) /*  (PIO_IFSR) Input Filer Status */
1345 #define PIO_IFSR_P4 (0x1u << 4) /*  (PIO_IFSR) Input Filer Status */
1346 #define PIO_IFSR_P5 (0x1u << 5) /*  (PIO_IFSR) Input Filer Status */
1347 #define PIO_IFSR_P6 (0x1u << 6) /*  (PIO_IFSR) Input Filer Status */
1348 #define PIO_IFSR_P7 (0x1u << 7) /*  (PIO_IFSR) Input Filer Status */
1349 #define PIO_IFSR_P8 (0x1u << 8) /*  (PIO_IFSR) Input Filer Status */
1350 #define PIO_IFSR_P9 (0x1u << 9) /*  (PIO_IFSR) Input Filer Status */
1351 #define PIO_IFSR_P10 (0x1u << 10) /*  (PIO_IFSR) Input Filer Status */
1352 #define PIO_IFSR_P11 (0x1u << 11) /*  (PIO_IFSR) Input Filer Status */
1353 #define PIO_IFSR_P12 (0x1u << 12) /*  (PIO_IFSR) Input Filer Status */
1354 #define PIO_IFSR_P13 (0x1u << 13) /*  (PIO_IFSR) Input Filer Status */
1355 #define PIO_IFSR_P14 (0x1u << 14) /*  (PIO_IFSR) Input Filer Status */
1356 #define PIO_IFSR_P15 (0x1u << 15) /*  (PIO_IFSR) Input Filer Status */
1357 #define PIO_IFSR_P16 (0x1u << 16) /*  (PIO_IFSR) Input Filer Status */
1358 #define PIO_IFSR_P17 (0x1u << 17) /*  (PIO_IFSR) Input Filer Status */
1359 #define PIO_IFSR_P18 (0x1u << 18) /*  (PIO_IFSR) Input Filer Status */
1360 #define PIO_IFSR_P19 (0x1u << 19) /*  (PIO_IFSR) Input Filer Status */
1361 #define PIO_IFSR_P20 (0x1u << 20) /*  (PIO_IFSR) Input Filer Status */
1362 #define PIO_IFSR_P21 (0x1u << 21) /*  (PIO_IFSR) Input Filer Status */
1363 #define PIO_IFSR_P22 (0x1u << 22) /*  (PIO_IFSR) Input Filer Status */
1364 #define PIO_IFSR_P23 (0x1u << 23) /*  (PIO_IFSR) Input Filer Status */
1365 #define PIO_IFSR_P24 (0x1u << 24) /*  (PIO_IFSR) Input Filer Status */
1366 #define PIO_IFSR_P25 (0x1u << 25) /*  (PIO_IFSR) Input Filer Status */
1367 #define PIO_IFSR_P26 (0x1u << 26) /*  (PIO_IFSR) Input Filer Status */
1368 #define PIO_IFSR_P27 (0x1u << 27) /*  (PIO_IFSR) Input Filer Status */
1369 #define PIO_IFSR_P28 (0x1u << 28) /*  (PIO_IFSR) Input Filer Status */
1370 #define PIO_IFSR_P29 (0x1u << 29) /*  (PIO_IFSR) Input Filer Status */
1371 #define PIO_IFSR_P30 (0x1u << 30) /*  (PIO_IFSR) Input Filer Status */
1372 #define PIO_IFSR_P31 (0x1u << 31) /*  (PIO_IFSR) Input Filer Status */
1373 /* -------- PIO_SODR : (PIO Offset: 0x0030) Set Output Data Register -------- */
1374 #define PIO_SODR_P0 (0x1u << 0) /*  (PIO_SODR) Set Output Data */
1375 #define PIO_SODR_P1 (0x1u << 1) /*  (PIO_SODR) Set Output Data */
1376 #define PIO_SODR_P2 (0x1u << 2) /*  (PIO_SODR) Set Output Data */
1377 #define PIO_SODR_P3 (0x1u << 3) /*  (PIO_SODR) Set Output Data */
1378 #define PIO_SODR_P4 (0x1u << 4) /*  (PIO_SODR) Set Output Data */
1379 #define PIO_SODR_P5 (0x1u << 5) /*  (PIO_SODR) Set Output Data */
1380 #define PIO_SODR_P6 (0x1u << 6) /*  (PIO_SODR) Set Output Data */
1381 #define PIO_SODR_P7 (0x1u << 7) /*  (PIO_SODR) Set Output Data */
1382 #define PIO_SODR_P8 (0x1u << 8) /*  (PIO_SODR) Set Output Data */
1383 #define PIO_SODR_P9 (0x1u << 9) /*  (PIO_SODR) Set Output Data */
1384 #define PIO_SODR_P10 (0x1u << 10) /*  (PIO_SODR) Set Output Data */
1385 #define PIO_SODR_P11 (0x1u << 11) /*  (PIO_SODR) Set Output Data */
1386 #define PIO_SODR_P12 (0x1u << 12) /*  (PIO_SODR) Set Output Data */
1387 #define PIO_SODR_P13 (0x1u << 13) /*  (PIO_SODR) Set Output Data */
1388 #define PIO_SODR_P14 (0x1u << 14) /*  (PIO_SODR) Set Output Data */
1389 #define PIO_SODR_P15 (0x1u << 15) /*  (PIO_SODR) Set Output Data */
1390 #define PIO_SODR_P16 (0x1u << 16) /*  (PIO_SODR) Set Output Data */
1391 #define PIO_SODR_P17 (0x1u << 17) /*  (PIO_SODR) Set Output Data */
1392 #define PIO_SODR_P18 (0x1u << 18) /*  (PIO_SODR) Set Output Data */
1393 #define PIO_SODR_P19 (0x1u << 19) /*  (PIO_SODR) Set Output Data */
1394 #define PIO_SODR_P20 (0x1u << 20) /*  (PIO_SODR) Set Output Data */
1395 #define PIO_SODR_P21 (0x1u << 21) /*  (PIO_SODR) Set Output Data */
1396 #define PIO_SODR_P22 (0x1u << 22) /*  (PIO_SODR) Set Output Data */
1397 #define PIO_SODR_P23 (0x1u << 23) /*  (PIO_SODR) Set Output Data */
1398 #define PIO_SODR_P24 (0x1u << 24) /*  (PIO_SODR) Set Output Data */
1399 #define PIO_SODR_P25 (0x1u << 25) /*  (PIO_SODR) Set Output Data */
1400 #define PIO_SODR_P26 (0x1u << 26) /*  (PIO_SODR) Set Output Data */
1401 #define PIO_SODR_P27 (0x1u << 27) /*  (PIO_SODR) Set Output Data */
1402 #define PIO_SODR_P28 (0x1u << 28) /*  (PIO_SODR) Set Output Data */
1403 #define PIO_SODR_P29 (0x1u << 29) /*  (PIO_SODR) Set Output Data */
1404 #define PIO_SODR_P30 (0x1u << 30) /*  (PIO_SODR) Set Output Data */
1405 #define PIO_SODR_P31 (0x1u << 31) /*  (PIO_SODR) Set Output Data */
1406 /* -------- PIO_CODR : (PIO Offset: 0x0034) Clear Output Data Register -------- */
1407 #define PIO_CODR_P0 (0x1u << 0) /*  (PIO_CODR) Clear Output Data */
1408 #define PIO_CODR_P1 (0x1u << 1) /*  (PIO_CODR) Clear Output Data */
1409 #define PIO_CODR_P2 (0x1u << 2) /*  (PIO_CODR) Clear Output Data */
1410 #define PIO_CODR_P3 (0x1u << 3) /*  (PIO_CODR) Clear Output Data */
1411 #define PIO_CODR_P4 (0x1u << 4) /*  (PIO_CODR) Clear Output Data */
1412 #define PIO_CODR_P5 (0x1u << 5) /*  (PIO_CODR) Clear Output Data */
1413 #define PIO_CODR_P6 (0x1u << 6) /*  (PIO_CODR) Clear Output Data */
1414 #define PIO_CODR_P7 (0x1u << 7) /*  (PIO_CODR) Clear Output Data */
1415 #define PIO_CODR_P8 (0x1u << 8) /*  (PIO_CODR) Clear Output Data */
1416 #define PIO_CODR_P9 (0x1u << 9) /*  (PIO_CODR) Clear Output Data */
1417 #define PIO_CODR_P10 (0x1u << 10) /*  (PIO_CODR) Clear Output Data */
1418 #define PIO_CODR_P11 (0x1u << 11) /*  (PIO_CODR) Clear Output Data */
1419 #define PIO_CODR_P12 (0x1u << 12) /*  (PIO_CODR) Clear Output Data */
1420 #define PIO_CODR_P13 (0x1u << 13) /*  (PIO_CODR) Clear Output Data */
1421 #define PIO_CODR_P14 (0x1u << 14) /*  (PIO_CODR) Clear Output Data */
1422 #define PIO_CODR_P15 (0x1u << 15) /*  (PIO_CODR) Clear Output Data */
1423 #define PIO_CODR_P16 (0x1u << 16) /*  (PIO_CODR) Clear Output Data */
1424 #define PIO_CODR_P17 (0x1u << 17) /*  (PIO_CODR) Clear Output Data */
1425 #define PIO_CODR_P18 (0x1u << 18) /*  (PIO_CODR) Clear Output Data */
1426 #define PIO_CODR_P19 (0x1u << 19) /*  (PIO_CODR) Clear Output Data */
1427 #define PIO_CODR_P20 (0x1u << 20) /*  (PIO_CODR) Clear Output Data */
1428 #define PIO_CODR_P21 (0x1u << 21) /*  (PIO_CODR) Clear Output Data */
1429 #define PIO_CODR_P22 (0x1u << 22) /*  (PIO_CODR) Clear Output Data */
1430 #define PIO_CODR_P23 (0x1u << 23) /*  (PIO_CODR) Clear Output Data */
1431 #define PIO_CODR_P24 (0x1u << 24) /*  (PIO_CODR) Clear Output Data */
1432 #define PIO_CODR_P25 (0x1u << 25) /*  (PIO_CODR) Clear Output Data */
1433 #define PIO_CODR_P26 (0x1u << 26) /*  (PIO_CODR) Clear Output Data */
1434 #define PIO_CODR_P27 (0x1u << 27) /*  (PIO_CODR) Clear Output Data */
1435 #define PIO_CODR_P28 (0x1u << 28) /*  (PIO_CODR) Clear Output Data */
1436 #define PIO_CODR_P29 (0x1u << 29) /*  (PIO_CODR) Clear Output Data */
1437 #define PIO_CODR_P30 (0x1u << 30) /*  (PIO_CODR) Clear Output Data */
1438 #define PIO_CODR_P31 (0x1u << 31) /*  (PIO_CODR) Clear Output Data */
1439 /* -------- PIO_ODSR : (PIO Offset: 0x0038) Output Data Status Register -------- */
1440 #define PIO_ODSR_P0 (0x1u << 0) /*  (PIO_ODSR) Output Data Status */
1441 #define PIO_ODSR_P1 (0x1u << 1) /*  (PIO_ODSR) Output Data Status */
1442 #define PIO_ODSR_P2 (0x1u << 2) /*  (PIO_ODSR) Output Data Status */
1443 #define PIO_ODSR_P3 (0x1u << 3) /*  (PIO_ODSR) Output Data Status */
1444 #define PIO_ODSR_P4 (0x1u << 4) /*  (PIO_ODSR) Output Data Status */
1445 #define PIO_ODSR_P5 (0x1u << 5) /*  (PIO_ODSR) Output Data Status */
1446 #define PIO_ODSR_P6 (0x1u << 6) /*  (PIO_ODSR) Output Data Status */
1447 #define PIO_ODSR_P7 (0x1u << 7) /*  (PIO_ODSR) Output Data Status */
1448 #define PIO_ODSR_P8 (0x1u << 8) /*  (PIO_ODSR) Output Data Status */
1449 #define PIO_ODSR_P9 (0x1u << 9) /*  (PIO_ODSR) Output Data Status */
1450 #define PIO_ODSR_P10 (0x1u << 10) /*  (PIO_ODSR) Output Data Status */
1451 #define PIO_ODSR_P11 (0x1u << 11) /*  (PIO_ODSR) Output Data Status */
1452 #define PIO_ODSR_P12 (0x1u << 12) /*  (PIO_ODSR) Output Data Status */
1453 #define PIO_ODSR_P13 (0x1u << 13) /*  (PIO_ODSR) Output Data Status */
1454 #define PIO_ODSR_P14 (0x1u << 14) /*  (PIO_ODSR) Output Data Status */
1455 #define PIO_ODSR_P15 (0x1u << 15) /*  (PIO_ODSR) Output Data Status */
1456 #define PIO_ODSR_P16 (0x1u << 16) /*  (PIO_ODSR) Output Data Status */
1457 #define PIO_ODSR_P17 (0x1u << 17) /*  (PIO_ODSR) Output Data Status */
1458 #define PIO_ODSR_P18 (0x1u << 18) /*  (PIO_ODSR) Output Data Status */
1459 #define PIO_ODSR_P19 (0x1u << 19) /*  (PIO_ODSR) Output Data Status */
1460 #define PIO_ODSR_P20 (0x1u << 20) /*  (PIO_ODSR) Output Data Status */
1461 #define PIO_ODSR_P21 (0x1u << 21) /*  (PIO_ODSR) Output Data Status */
1462 #define PIO_ODSR_P22 (0x1u << 22) /*  (PIO_ODSR) Output Data Status */
1463 #define PIO_ODSR_P23 (0x1u << 23) /*  (PIO_ODSR) Output Data Status */
1464 #define PIO_ODSR_P24 (0x1u << 24) /*  (PIO_ODSR) Output Data Status */
1465 #define PIO_ODSR_P25 (0x1u << 25) /*  (PIO_ODSR) Output Data Status */
1466 #define PIO_ODSR_P26 (0x1u << 26) /*  (PIO_ODSR) Output Data Status */
1467 #define PIO_ODSR_P27 (0x1u << 27) /*  (PIO_ODSR) Output Data Status */
1468 #define PIO_ODSR_P28 (0x1u << 28) /*  (PIO_ODSR) Output Data Status */
1469 #define PIO_ODSR_P29 (0x1u << 29) /*  (PIO_ODSR) Output Data Status */
1470 #define PIO_ODSR_P30 (0x1u << 30) /*  (PIO_ODSR) Output Data Status */
1471 #define PIO_ODSR_P31 (0x1u << 31) /*  (PIO_ODSR) Output Data Status */
1472 /* -------- PIO_PDSR : (PIO Offset: 0x003C) Pin Data Status Register -------- */
1473 #define PIO_PDSR_P0 (0x1u << 0) /*  (PIO_PDSR) Output Data Status */
1474 #define PIO_PDSR_P1 (0x1u << 1) /*  (PIO_PDSR) Output Data Status */
1475 #define PIO_PDSR_P2 (0x1u << 2) /*  (PIO_PDSR) Output Data Status */
1476 #define PIO_PDSR_P3 (0x1u << 3) /*  (PIO_PDSR) Output Data Status */
1477 #define PIO_PDSR_P4 (0x1u << 4) /*  (PIO_PDSR) Output Data Status */
1478 #define PIO_PDSR_P5 (0x1u << 5) /*  (PIO_PDSR) Output Data Status */
1479 #define PIO_PDSR_P6 (0x1u << 6) /*  (PIO_PDSR) Output Data Status */
1480 #define PIO_PDSR_P7 (0x1u << 7) /*  (PIO_PDSR) Output Data Status */
1481 #define PIO_PDSR_P8 (0x1u << 8) /*  (PIO_PDSR) Output Data Status */
1482 #define PIO_PDSR_P9 (0x1u << 9) /*  (PIO_PDSR) Output Data Status */
1483 #define PIO_PDSR_P10 (0x1u << 10) /*  (PIO_PDSR) Output Data Status */
1484 #define PIO_PDSR_P11 (0x1u << 11) /*  (PIO_PDSR) Output Data Status */
1485 #define PIO_PDSR_P12 (0x1u << 12) /*  (PIO_PDSR) Output Data Status */
1486 #define PIO_PDSR_P13 (0x1u << 13) /*  (PIO_PDSR) Output Data Status */
1487 #define PIO_PDSR_P14 (0x1u << 14) /*  (PIO_PDSR) Output Data Status */
1488 #define PIO_PDSR_P15 (0x1u << 15) /*  (PIO_PDSR) Output Data Status */
1489 #define PIO_PDSR_P16 (0x1u << 16) /*  (PIO_PDSR) Output Data Status */
1490 #define PIO_PDSR_P17 (0x1u << 17) /*  (PIO_PDSR) Output Data Status */
1491 #define PIO_PDSR_P18 (0x1u << 18) /*  (PIO_PDSR) Output Data Status */
1492 #define PIO_PDSR_P19 (0x1u << 19) /*  (PIO_PDSR) Output Data Status */
1493 #define PIO_PDSR_P20 (0x1u << 20) /*  (PIO_PDSR) Output Data Status */
1494 #define PIO_PDSR_P21 (0x1u << 21) /*  (PIO_PDSR) Output Data Status */
1495 #define PIO_PDSR_P22 (0x1u << 22) /*  (PIO_PDSR) Output Data Status */
1496 #define PIO_PDSR_P23 (0x1u << 23) /*  (PIO_PDSR) Output Data Status */
1497 #define PIO_PDSR_P24 (0x1u << 24) /*  (PIO_PDSR) Output Data Status */
1498 #define PIO_PDSR_P25 (0x1u << 25) /*  (PIO_PDSR) Output Data Status */
1499 #define PIO_PDSR_P26 (0x1u << 26) /*  (PIO_PDSR) Output Data Status */
1500 #define PIO_PDSR_P27 (0x1u << 27) /*  (PIO_PDSR) Output Data Status */
1501 #define PIO_PDSR_P28 (0x1u << 28) /*  (PIO_PDSR) Output Data Status */
1502 #define PIO_PDSR_P29 (0x1u << 29) /*  (PIO_PDSR) Output Data Status */
1503 #define PIO_PDSR_P30 (0x1u << 30) /*  (PIO_PDSR) Output Data Status */
1504 #define PIO_PDSR_P31 (0x1u << 31) /*  (PIO_PDSR) Output Data Status */
1505 /* -------- PIO_IER : (PIO Offset: 0x0040) Interrupt Enable Register -------- */
1506 #define PIO_IER_P0 (0x1u << 0) /*  (PIO_IER) Input Change Interrupt Enable */
1507 #define PIO_IER_P1 (0x1u << 1) /*  (PIO_IER) Input Change Interrupt Enable */
1508 #define PIO_IER_P2 (0x1u << 2) /*  (PIO_IER) Input Change Interrupt Enable */
1509 #define PIO_IER_P3 (0x1u << 3) /*  (PIO_IER) Input Change Interrupt Enable */
1510 #define PIO_IER_P4 (0x1u << 4) /*  (PIO_IER) Input Change Interrupt Enable */
1511 #define PIO_IER_P5 (0x1u << 5) /*  (PIO_IER) Input Change Interrupt Enable */
1512 #define PIO_IER_P6 (0x1u << 6) /*  (PIO_IER) Input Change Interrupt Enable */
1513 #define PIO_IER_P7 (0x1u << 7) /*  (PIO_IER) Input Change Interrupt Enable */
1514 #define PIO_IER_P8 (0x1u << 8) /*  (PIO_IER) Input Change Interrupt Enable */
1515 #define PIO_IER_P9 (0x1u << 9) /*  (PIO_IER) Input Change Interrupt Enable */
1516 #define PIO_IER_P10 (0x1u << 10) /*  (PIO_IER) Input Change Interrupt Enable */
1517 #define PIO_IER_P11 (0x1u << 11) /*  (PIO_IER) Input Change Interrupt Enable */
1518 #define PIO_IER_P12 (0x1u << 12) /*  (PIO_IER) Input Change Interrupt Enable */
1519 #define PIO_IER_P13 (0x1u << 13) /*  (PIO_IER) Input Change Interrupt Enable */
1520 #define PIO_IER_P14 (0x1u << 14) /*  (PIO_IER) Input Change Interrupt Enable */
1521 #define PIO_IER_P15 (0x1u << 15) /*  (PIO_IER) Input Change Interrupt Enable */
1522 #define PIO_IER_P16 (0x1u << 16) /*  (PIO_IER) Input Change Interrupt Enable */
1523 #define PIO_IER_P17 (0x1u << 17) /*  (PIO_IER) Input Change Interrupt Enable */
1524 #define PIO_IER_P18 (0x1u << 18) /*  (PIO_IER) Input Change Interrupt Enable */
1525 #define PIO_IER_P19 (0x1u << 19) /*  (PIO_IER) Input Change Interrupt Enable */
1526 #define PIO_IER_P20 (0x1u << 20) /*  (PIO_IER) Input Change Interrupt Enable */
1527 #define PIO_IER_P21 (0x1u << 21) /*  (PIO_IER) Input Change Interrupt Enable */
1528 #define PIO_IER_P22 (0x1u << 22) /*  (PIO_IER) Input Change Interrupt Enable */
1529 #define PIO_IER_P23 (0x1u << 23) /*  (PIO_IER) Input Change Interrupt Enable */
1530 #define PIO_IER_P24 (0x1u << 24) /*  (PIO_IER) Input Change Interrupt Enable */
1531 #define PIO_IER_P25 (0x1u << 25) /*  (PIO_IER) Input Change Interrupt Enable */
1532 #define PIO_IER_P26 (0x1u << 26) /*  (PIO_IER) Input Change Interrupt Enable */
1533 #define PIO_IER_P27 (0x1u << 27) /*  (PIO_IER) Input Change Interrupt Enable */
1534 #define PIO_IER_P28 (0x1u << 28) /*  (PIO_IER) Input Change Interrupt Enable */
1535 #define PIO_IER_P29 (0x1u << 29) /*  (PIO_IER) Input Change Interrupt Enable */
1536 #define PIO_IER_P30 (0x1u << 30) /*  (PIO_IER) Input Change Interrupt Enable */
1537 #define PIO_IER_P31 (0x1u << 31) /*  (PIO_IER) Input Change Interrupt Enable */
1538 /* -------- PIO_IDR : (PIO Offset: 0x0044) Interrupt Disable Register -------- */
1539 #define PIO_IDR_P0 (0x1u << 0) /*  (PIO_IDR) Input Change Interrupt Disable */
1540 #define PIO_IDR_P1 (0x1u << 1) /*  (PIO_IDR) Input Change Interrupt Disable */
1541 #define PIO_IDR_P2 (0x1u << 2) /*  (PIO_IDR) Input Change Interrupt Disable */
1542 #define PIO_IDR_P3 (0x1u << 3) /*  (PIO_IDR) Input Change Interrupt Disable */
1543 #define PIO_IDR_P4 (0x1u << 4) /*  (PIO_IDR) Input Change Interrupt Disable */
1544 #define PIO_IDR_P5 (0x1u << 5) /*  (PIO_IDR) Input Change Interrupt Disable */
1545 #define PIO_IDR_P6 (0x1u << 6) /*  (PIO_IDR) Input Change Interrupt Disable */
1546 #define PIO_IDR_P7 (0x1u << 7) /*  (PIO_IDR) Input Change Interrupt Disable */
1547 #define PIO_IDR_P8 (0x1u << 8) /*  (PIO_IDR) Input Change Interrupt Disable */
1548 #define PIO_IDR_P9 (0x1u << 9) /*  (PIO_IDR) Input Change Interrupt Disable */
1549 #define PIO_IDR_P10 (0x1u << 10) /*  (PIO_IDR) Input Change Interrupt Disable */
1550 #define PIO_IDR_P11 (0x1u << 11) /*  (PIO_IDR) Input Change Interrupt Disable */
1551 #define PIO_IDR_P12 (0x1u << 12) /*  (PIO_IDR) Input Change Interrupt Disable */
1552 #define PIO_IDR_P13 (0x1u << 13) /*  (PIO_IDR) Input Change Interrupt Disable */
1553 #define PIO_IDR_P14 (0x1u << 14) /*  (PIO_IDR) Input Change Interrupt Disable */
1554 #define PIO_IDR_P15 (0x1u << 15) /*  (PIO_IDR) Input Change Interrupt Disable */
1555 #define PIO_IDR_P16 (0x1u << 16) /*  (PIO_IDR) Input Change Interrupt Disable */
1556 #define PIO_IDR_P17 (0x1u << 17) /*  (PIO_IDR) Input Change Interrupt Disable */
1557 #define PIO_IDR_P18 (0x1u << 18) /*  (PIO_IDR) Input Change Interrupt Disable */
1558 #define PIO_IDR_P19 (0x1u << 19) /*  (PIO_IDR) Input Change Interrupt Disable */
1559 #define PIO_IDR_P20 (0x1u << 20) /*  (PIO_IDR) Input Change Interrupt Disable */
1560 #define PIO_IDR_P21 (0x1u << 21) /*  (PIO_IDR) Input Change Interrupt Disable */
1561 #define PIO_IDR_P22 (0x1u << 22) /*  (PIO_IDR) Input Change Interrupt Disable */
1562 #define PIO_IDR_P23 (0x1u << 23) /*  (PIO_IDR) Input Change Interrupt Disable */
1563 #define PIO_IDR_P24 (0x1u << 24) /*  (PIO_IDR) Input Change Interrupt Disable */
1564 #define PIO_IDR_P25 (0x1u << 25) /*  (PIO_IDR) Input Change Interrupt Disable */
1565 #define PIO_IDR_P26 (0x1u << 26) /*  (PIO_IDR) Input Change Interrupt Disable */
1566 #define PIO_IDR_P27 (0x1u << 27) /*  (PIO_IDR) Input Change Interrupt Disable */
1567 #define PIO_IDR_P28 (0x1u << 28) /*  (PIO_IDR) Input Change Interrupt Disable */
1568 #define PIO_IDR_P29 (0x1u << 29) /*  (PIO_IDR) Input Change Interrupt Disable */
1569 #define PIO_IDR_P30 (0x1u << 30) /*  (PIO_IDR) Input Change Interrupt Disable */
1570 #define PIO_IDR_P31 (0x1u << 31) /*  (PIO_IDR) Input Change Interrupt Disable */
1571 /* -------- PIO_IMR : (PIO Offset: 0x0048) Interrupt Mask Register -------- */
1572 #define PIO_IMR_P0 (0x1u << 0) /*  (PIO_IMR) Input Change Interrupt Mask */
1573 #define PIO_IMR_P1 (0x1u << 1) /*  (PIO_IMR) Input Change Interrupt Mask */
1574 #define PIO_IMR_P2 (0x1u << 2) /*  (PIO_IMR) Input Change Interrupt Mask */
1575 #define PIO_IMR_P3 (0x1u << 3) /*  (PIO_IMR) Input Change Interrupt Mask */
1576 #define PIO_IMR_P4 (0x1u << 4) /*  (PIO_IMR) Input Change Interrupt Mask */
1577 #define PIO_IMR_P5 (0x1u << 5) /*  (PIO_IMR) Input Change Interrupt Mask */
1578 #define PIO_IMR_P6 (0x1u << 6) /*  (PIO_IMR) Input Change Interrupt Mask */
1579 #define PIO_IMR_P7 (0x1u << 7) /*  (PIO_IMR) Input Change Interrupt Mask */
1580 #define PIO_IMR_P8 (0x1u << 8) /*  (PIO_IMR) Input Change Interrupt Mask */
1581 #define PIO_IMR_P9 (0x1u << 9) /*  (PIO_IMR) Input Change Interrupt Mask */
1582 #define PIO_IMR_P10 (0x1u << 10) /*  (PIO_IMR) Input Change Interrupt Mask */
1583 #define PIO_IMR_P11 (0x1u << 11) /*  (PIO_IMR) Input Change Interrupt Mask */
1584 #define PIO_IMR_P12 (0x1u << 12) /*  (PIO_IMR) Input Change Interrupt Mask */
1585 #define PIO_IMR_P13 (0x1u << 13) /*  (PIO_IMR) Input Change Interrupt Mask */
1586 #define PIO_IMR_P14 (0x1u << 14) /*  (PIO_IMR) Input Change Interrupt Mask */
1587 #define PIO_IMR_P15 (0x1u << 15) /*  (PIO_IMR) Input Change Interrupt Mask */
1588 #define PIO_IMR_P16 (0x1u << 16) /*  (PIO_IMR) Input Change Interrupt Mask */
1589 #define PIO_IMR_P17 (0x1u << 17) /*  (PIO_IMR) Input Change Interrupt Mask */
1590 #define PIO_IMR_P18 (0x1u << 18) /*  (PIO_IMR) Input Change Interrupt Mask */
1591 #define PIO_IMR_P19 (0x1u << 19) /*  (PIO_IMR) Input Change Interrupt Mask */
1592 #define PIO_IMR_P20 (0x1u << 20) /*  (PIO_IMR) Input Change Interrupt Mask */
1593 #define PIO_IMR_P21 (0x1u << 21) /*  (PIO_IMR) Input Change Interrupt Mask */
1594 #define PIO_IMR_P22 (0x1u << 22) /*  (PIO_IMR) Input Change Interrupt Mask */
1595 #define PIO_IMR_P23 (0x1u << 23) /*  (PIO_IMR) Input Change Interrupt Mask */
1596 #define PIO_IMR_P24 (0x1u << 24) /*  (PIO_IMR) Input Change Interrupt Mask */
1597 #define PIO_IMR_P25 (0x1u << 25) /*  (PIO_IMR) Input Change Interrupt Mask */
1598 #define PIO_IMR_P26 (0x1u << 26) /*  (PIO_IMR) Input Change Interrupt Mask */
1599 #define PIO_IMR_P27 (0x1u << 27) /*  (PIO_IMR) Input Change Interrupt Mask */
1600 #define PIO_IMR_P28 (0x1u << 28) /*  (PIO_IMR) Input Change Interrupt Mask */
1601 #define PIO_IMR_P29 (0x1u << 29) /*  (PIO_IMR) Input Change Interrupt Mask */
1602 #define PIO_IMR_P30 (0x1u << 30) /*  (PIO_IMR) Input Change Interrupt Mask */
1603 #define PIO_IMR_P31 (0x1u << 31) /*  (PIO_IMR) Input Change Interrupt Mask */
1604 /* -------- PIO_ISR : (PIO Offset: 0x004C) Interrupt Status Register -------- */
1605 #define PIO_ISR_P0 (0x1u << 0) /*  (PIO_ISR) Input Change Interrupt Status */
1606 #define PIO_ISR_P1 (0x1u << 1) /*  (PIO_ISR) Input Change Interrupt Status */
1607 #define PIO_ISR_P2 (0x1u << 2) /*  (PIO_ISR) Input Change Interrupt Status */
1608 #define PIO_ISR_P3 (0x1u << 3) /*  (PIO_ISR) Input Change Interrupt Status */
1609 #define PIO_ISR_P4 (0x1u << 4) /*  (PIO_ISR) Input Change Interrupt Status */
1610 #define PIO_ISR_P5 (0x1u << 5) /*  (PIO_ISR) Input Change Interrupt Status */
1611 #define PIO_ISR_P6 (0x1u << 6) /*  (PIO_ISR) Input Change Interrupt Status */
1612 #define PIO_ISR_P7 (0x1u << 7) /*  (PIO_ISR) Input Change Interrupt Status */
1613 #define PIO_ISR_P8 (0x1u << 8) /*  (PIO_ISR) Input Change Interrupt Status */
1614 #define PIO_ISR_P9 (0x1u << 9) /*  (PIO_ISR) Input Change Interrupt Status */
1615 #define PIO_ISR_P10 (0x1u << 10) /*  (PIO_ISR) Input Change Interrupt Status */
1616 #define PIO_ISR_P11 (0x1u << 11) /*  (PIO_ISR) Input Change Interrupt Status */
1617 #define PIO_ISR_P12 (0x1u << 12) /*  (PIO_ISR) Input Change Interrupt Status */
1618 #define PIO_ISR_P13 (0x1u << 13) /*  (PIO_ISR) Input Change Interrupt Status */
1619 #define PIO_ISR_P14 (0x1u << 14) /*  (PIO_ISR) Input Change Interrupt Status */
1620 #define PIO_ISR_P15 (0x1u << 15) /*  (PIO_ISR) Input Change Interrupt Status */
1621 #define PIO_ISR_P16 (0x1u << 16) /*  (PIO_ISR) Input Change Interrupt Status */
1622 #define PIO_ISR_P17 (0x1u << 17) /*  (PIO_ISR) Input Change Interrupt Status */
1623 #define PIO_ISR_P18 (0x1u << 18) /*  (PIO_ISR) Input Change Interrupt Status */
1624 #define PIO_ISR_P19 (0x1u << 19) /*  (PIO_ISR) Input Change Interrupt Status */
1625 #define PIO_ISR_P20 (0x1u << 20) /*  (PIO_ISR) Input Change Interrupt Status */
1626 #define PIO_ISR_P21 (0x1u << 21) /*  (PIO_ISR) Input Change Interrupt Status */
1627 #define PIO_ISR_P22 (0x1u << 22) /*  (PIO_ISR) Input Change Interrupt Status */
1628 #define PIO_ISR_P23 (0x1u << 23) /*  (PIO_ISR) Input Change Interrupt Status */
1629 #define PIO_ISR_P24 (0x1u << 24) /*  (PIO_ISR) Input Change Interrupt Status */
1630 #define PIO_ISR_P25 (0x1u << 25) /*  (PIO_ISR) Input Change Interrupt Status */
1631 #define PIO_ISR_P26 (0x1u << 26) /*  (PIO_ISR) Input Change Interrupt Status */
1632 #define PIO_ISR_P27 (0x1u << 27) /*  (PIO_ISR) Input Change Interrupt Status */
1633 #define PIO_ISR_P28 (0x1u << 28) /*  (PIO_ISR) Input Change Interrupt Status */
1634 #define PIO_ISR_P29 (0x1u << 29) /*  (PIO_ISR) Input Change Interrupt Status */
1635 #define PIO_ISR_P30 (0x1u << 30) /*  (PIO_ISR) Input Change Interrupt Status */
1636 #define PIO_ISR_P31 (0x1u << 31) /*  (PIO_ISR) Input Change Interrupt Status */
1637 /* -------- PIO_MDER : (PIO Offset: 0x0050) Multi-driver Enable Register -------- */
1638 #define PIO_MDER_P0 (0x1u << 0) /*  (PIO_MDER) Multi Drive Enable. */
1639 #define PIO_MDER_P1 (0x1u << 1) /*  (PIO_MDER) Multi Drive Enable. */
1640 #define PIO_MDER_P2 (0x1u << 2) /*  (PIO_MDER) Multi Drive Enable. */
1641 #define PIO_MDER_P3 (0x1u << 3) /*  (PIO_MDER) Multi Drive Enable. */
1642 #define PIO_MDER_P4 (0x1u << 4) /*  (PIO_MDER) Multi Drive Enable. */
1643 #define PIO_MDER_P5 (0x1u << 5) /*  (PIO_MDER) Multi Drive Enable. */
1644 #define PIO_MDER_P6 (0x1u << 6) /*  (PIO_MDER) Multi Drive Enable. */
1645 #define PIO_MDER_P7 (0x1u << 7) /*  (PIO_MDER) Multi Drive Enable. */
1646 #define PIO_MDER_P8 (0x1u << 8) /*  (PIO_MDER) Multi Drive Enable. */
1647 #define PIO_MDER_P9 (0x1u << 9) /*  (PIO_MDER) Multi Drive Enable. */
1648 #define PIO_MDER_P10 (0x1u << 10) /*  (PIO_MDER) Multi Drive Enable. */
1649 #define PIO_MDER_P11 (0x1u << 11) /*  (PIO_MDER) Multi Drive Enable. */
1650 #define PIO_MDER_P12 (0x1u << 12) /*  (PIO_MDER) Multi Drive Enable. */
1651 #define PIO_MDER_P13 (0x1u << 13) /*  (PIO_MDER) Multi Drive Enable. */
1652 #define PIO_MDER_P14 (0x1u << 14) /*  (PIO_MDER) Multi Drive Enable. */
1653 #define PIO_MDER_P15 (0x1u << 15) /*  (PIO_MDER) Multi Drive Enable. */
1654 #define PIO_MDER_P16 (0x1u << 16) /*  (PIO_MDER) Multi Drive Enable. */
1655 #define PIO_MDER_P17 (0x1u << 17) /*  (PIO_MDER) Multi Drive Enable. */
1656 #define PIO_MDER_P18 (0x1u << 18) /*  (PIO_MDER) Multi Drive Enable. */
1657 #define PIO_MDER_P19 (0x1u << 19) /*  (PIO_MDER) Multi Drive Enable. */
1658 #define PIO_MDER_P20 (0x1u << 20) /*  (PIO_MDER) Multi Drive Enable. */
1659 #define PIO_MDER_P21 (0x1u << 21) /*  (PIO_MDER) Multi Drive Enable. */
1660 #define PIO_MDER_P22 (0x1u << 22) /*  (PIO_MDER) Multi Drive Enable. */
1661 #define PIO_MDER_P23 (0x1u << 23) /*  (PIO_MDER) Multi Drive Enable. */
1662 #define PIO_MDER_P24 (0x1u << 24) /*  (PIO_MDER) Multi Drive Enable. */
1663 #define PIO_MDER_P25 (0x1u << 25) /*  (PIO_MDER) Multi Drive Enable. */
1664 #define PIO_MDER_P26 (0x1u << 26) /*  (PIO_MDER) Multi Drive Enable. */
1665 #define PIO_MDER_P27 (0x1u << 27) /*  (PIO_MDER) Multi Drive Enable. */
1666 #define PIO_MDER_P28 (0x1u << 28) /*  (PIO_MDER) Multi Drive Enable. */
1667 #define PIO_MDER_P29 (0x1u << 29) /*  (PIO_MDER) Multi Drive Enable. */
1668 #define PIO_MDER_P30 (0x1u << 30) /*  (PIO_MDER) Multi Drive Enable. */
1669 #define PIO_MDER_P31 (0x1u << 31) /*  (PIO_MDER) Multi Drive Enable. */
1670 /* -------- PIO_MDDR : (PIO Offset: 0x0054) Multi-driver Disable Register -------- */
1671 #define PIO_MDDR_P0 (0x1u << 0) /*  (PIO_MDDR) Multi Drive Disable. */
1672 #define PIO_MDDR_P1 (0x1u << 1) /*  (PIO_MDDR) Multi Drive Disable. */
1673 #define PIO_MDDR_P2 (0x1u << 2) /*  (PIO_MDDR) Multi Drive Disable. */
1674 #define PIO_MDDR_P3 (0x1u << 3) /*  (PIO_MDDR) Multi Drive Disable. */
1675 #define PIO_MDDR_P4 (0x1u << 4) /*  (PIO_MDDR) Multi Drive Disable. */
1676 #define PIO_MDDR_P5 (0x1u << 5) /*  (PIO_MDDR) Multi Drive Disable. */
1677 #define PIO_MDDR_P6 (0x1u << 6) /*  (PIO_MDDR) Multi Drive Disable. */
1678 #define PIO_MDDR_P7 (0x1u << 7) /*  (PIO_MDDR) Multi Drive Disable. */
1679 #define PIO_MDDR_P8 (0x1u << 8) /*  (PIO_MDDR) Multi Drive Disable. */
1680 #define PIO_MDDR_P9 (0x1u << 9) /*  (PIO_MDDR) Multi Drive Disable. */
1681 #define PIO_MDDR_P10 (0x1u << 10) /*  (PIO_MDDR) Multi Drive Disable. */
1682 #define PIO_MDDR_P11 (0x1u << 11) /*  (PIO_MDDR) Multi Drive Disable. */
1683 #define PIO_MDDR_P12 (0x1u << 12) /*  (PIO_MDDR) Multi Drive Disable. */
1684 #define PIO_MDDR_P13 (0x1u << 13) /*  (PIO_MDDR) Multi Drive Disable. */
1685 #define PIO_MDDR_P14 (0x1u << 14) /*  (PIO_MDDR) Multi Drive Disable. */
1686 #define PIO_MDDR_P15 (0x1u << 15) /*  (PIO_MDDR) Multi Drive Disable. */
1687 #define PIO_MDDR_P16 (0x1u << 16) /*  (PIO_MDDR) Multi Drive Disable. */
1688 #define PIO_MDDR_P17 (0x1u << 17) /*  (PIO_MDDR) Multi Drive Disable. */
1689 #define PIO_MDDR_P18 (0x1u << 18) /*  (PIO_MDDR) Multi Drive Disable. */
1690 #define PIO_MDDR_P19 (0x1u << 19) /*  (PIO_MDDR) Multi Drive Disable. */
1691 #define PIO_MDDR_P20 (0x1u << 20) /*  (PIO_MDDR) Multi Drive Disable. */
1692 #define PIO_MDDR_P21 (0x1u << 21) /*  (PIO_MDDR) Multi Drive Disable. */
1693 #define PIO_MDDR_P22 (0x1u << 22) /*  (PIO_MDDR) Multi Drive Disable. */
1694 #define PIO_MDDR_P23 (0x1u << 23) /*  (PIO_MDDR) Multi Drive Disable. */
1695 #define PIO_MDDR_P24 (0x1u << 24) /*  (PIO_MDDR) Multi Drive Disable. */
1696 #define PIO_MDDR_P25 (0x1u << 25) /*  (PIO_MDDR) Multi Drive Disable. */
1697 #define PIO_MDDR_P26 (0x1u << 26) /*  (PIO_MDDR) Multi Drive Disable. */
1698 #define PIO_MDDR_P27 (0x1u << 27) /*  (PIO_MDDR) Multi Drive Disable. */
1699 #define PIO_MDDR_P28 (0x1u << 28) /*  (PIO_MDDR) Multi Drive Disable. */
1700 #define PIO_MDDR_P29 (0x1u << 29) /*  (PIO_MDDR) Multi Drive Disable. */
1701 #define PIO_MDDR_P30 (0x1u << 30) /*  (PIO_MDDR) Multi Drive Disable. */
1702 #define PIO_MDDR_P31 (0x1u << 31) /*  (PIO_MDDR) Multi Drive Disable. */
1703 /* -------- PIO_MDSR : (PIO Offset: 0x0058) Multi-driver Status Register -------- */
1704 #define PIO_MDSR_P0 (0x1u << 0) /*  (PIO_MDSR) Multi Drive Status. */
1705 #define PIO_MDSR_P1 (0x1u << 1) /*  (PIO_MDSR) Multi Drive Status. */
1706 #define PIO_MDSR_P2 (0x1u << 2) /*  (PIO_MDSR) Multi Drive Status. */
1707 #define PIO_MDSR_P3 (0x1u << 3) /*  (PIO_MDSR) Multi Drive Status. */
1708 #define PIO_MDSR_P4 (0x1u << 4) /*  (PIO_MDSR) Multi Drive Status. */
1709 #define PIO_MDSR_P5 (0x1u << 5) /*  (PIO_MDSR) Multi Drive Status. */
1710 #define PIO_MDSR_P6 (0x1u << 6) /*  (PIO_MDSR) Multi Drive Status. */
1711 #define PIO_MDSR_P7 (0x1u << 7) /*  (PIO_MDSR) Multi Drive Status. */
1712 #define PIO_MDSR_P8 (0x1u << 8) /*  (PIO_MDSR) Multi Drive Status. */
1713 #define PIO_MDSR_P9 (0x1u << 9) /*  (PIO_MDSR) Multi Drive Status. */
1714 #define PIO_MDSR_P10 (0x1u << 10) /*  (PIO_MDSR) Multi Drive Status. */
1715 #define PIO_MDSR_P11 (0x1u << 11) /*  (PIO_MDSR) Multi Drive Status. */
1716 #define PIO_MDSR_P12 (0x1u << 12) /*  (PIO_MDSR) Multi Drive Status. */
1717 #define PIO_MDSR_P13 (0x1u << 13) /*  (PIO_MDSR) Multi Drive Status. */
1718 #define PIO_MDSR_P14 (0x1u << 14) /*  (PIO_MDSR) Multi Drive Status. */
1719 #define PIO_MDSR_P15 (0x1u << 15) /*  (PIO_MDSR) Multi Drive Status. */
1720 #define PIO_MDSR_P16 (0x1u << 16) /*  (PIO_MDSR) Multi Drive Status. */
1721 #define PIO_MDSR_P17 (0x1u << 17) /*  (PIO_MDSR) Multi Drive Status. */
1722 #define PIO_MDSR_P18 (0x1u << 18) /*  (PIO_MDSR) Multi Drive Status. */
1723 #define PIO_MDSR_P19 (0x1u << 19) /*  (PIO_MDSR) Multi Drive Status. */
1724 #define PIO_MDSR_P20 (0x1u << 20) /*  (PIO_MDSR) Multi Drive Status. */
1725 #define PIO_MDSR_P21 (0x1u << 21) /*  (PIO_MDSR) Multi Drive Status. */
1726 #define PIO_MDSR_P22 (0x1u << 22) /*  (PIO_MDSR) Multi Drive Status. */
1727 #define PIO_MDSR_P23 (0x1u << 23) /*  (PIO_MDSR) Multi Drive Status. */
1728 #define PIO_MDSR_P24 (0x1u << 24) /*  (PIO_MDSR) Multi Drive Status. */
1729 #define PIO_MDSR_P25 (0x1u << 25) /*  (PIO_MDSR) Multi Drive Status. */
1730 #define PIO_MDSR_P26 (0x1u << 26) /*  (PIO_MDSR) Multi Drive Status. */
1731 #define PIO_MDSR_P27 (0x1u << 27) /*  (PIO_MDSR) Multi Drive Status. */
1732 #define PIO_MDSR_P28 (0x1u << 28) /*  (PIO_MDSR) Multi Drive Status. */
1733 #define PIO_MDSR_P29 (0x1u << 29) /*  (PIO_MDSR) Multi Drive Status. */
1734 #define PIO_MDSR_P30 (0x1u << 30) /*  (PIO_MDSR) Multi Drive Status. */
1735 #define PIO_MDSR_P31 (0x1u << 31) /*  (PIO_MDSR) Multi Drive Status. */
1736 /* -------- PIO_PUDR : (PIO Offset: 0x0060) Pull-up Disable Register -------- */
1737 #define PIO_PUDR_P0 (0x1u << 0) /*  (PIO_PUDR) Pull Up Disable. */
1738 #define PIO_PUDR_P1 (0x1u << 1) /*  (PIO_PUDR) Pull Up Disable. */
1739 #define PIO_PUDR_P2 (0x1u << 2) /*  (PIO_PUDR) Pull Up Disable. */
1740 #define PIO_PUDR_P3 (0x1u << 3) /*  (PIO_PUDR) Pull Up Disable. */
1741 #define PIO_PUDR_P4 (0x1u << 4) /*  (PIO_PUDR) Pull Up Disable. */
1742 #define PIO_PUDR_P5 (0x1u << 5) /*  (PIO_PUDR) Pull Up Disable. */
1743 #define PIO_PUDR_P6 (0x1u << 6) /*  (PIO_PUDR) Pull Up Disable. */
1744 #define PIO_PUDR_P7 (0x1u << 7) /*  (PIO_PUDR) Pull Up Disable. */
1745 #define PIO_PUDR_P8 (0x1u << 8) /*  (PIO_PUDR) Pull Up Disable. */
1746 #define PIO_PUDR_P9 (0x1u << 9) /*  (PIO_PUDR) Pull Up Disable. */
1747 #define PIO_PUDR_P10 (0x1u << 10) /*  (PIO_PUDR) Pull Up Disable. */
1748 #define PIO_PUDR_P11 (0x1u << 11) /*  (PIO_PUDR) Pull Up Disable. */
1749 #define PIO_PUDR_P12 (0x1u << 12) /*  (PIO_PUDR) Pull Up Disable. */
1750 #define PIO_PUDR_P13 (0x1u << 13) /*  (PIO_PUDR) Pull Up Disable. */
1751 #define PIO_PUDR_P14 (0x1u << 14) /*  (PIO_PUDR) Pull Up Disable. */
1752 #define PIO_PUDR_P15 (0x1u << 15) /*  (PIO_PUDR) Pull Up Disable. */
1753 #define PIO_PUDR_P16 (0x1u << 16) /*  (PIO_PUDR) Pull Up Disable. */
1754 #define PIO_PUDR_P17 (0x1u << 17) /*  (PIO_PUDR) Pull Up Disable. */
1755 #define PIO_PUDR_P18 (0x1u << 18) /*  (PIO_PUDR) Pull Up Disable. */
1756 #define PIO_PUDR_P19 (0x1u << 19) /*  (PIO_PUDR) Pull Up Disable. */
1757 #define PIO_PUDR_P20 (0x1u << 20) /*  (PIO_PUDR) Pull Up Disable. */
1758 #define PIO_PUDR_P21 (0x1u << 21) /*  (PIO_PUDR) Pull Up Disable. */
1759 #define PIO_PUDR_P22 (0x1u << 22) /*  (PIO_PUDR) Pull Up Disable. */
1760 #define PIO_PUDR_P23 (0x1u << 23) /*  (PIO_PUDR) Pull Up Disable. */
1761 #define PIO_PUDR_P24 (0x1u << 24) /*  (PIO_PUDR) Pull Up Disable. */
1762 #define PIO_PUDR_P25 (0x1u << 25) /*  (PIO_PUDR) Pull Up Disable. */
1763 #define PIO_PUDR_P26 (0x1u << 26) /*  (PIO_PUDR) Pull Up Disable. */
1764 #define PIO_PUDR_P27 (0x1u << 27) /*  (PIO_PUDR) Pull Up Disable. */
1765 #define PIO_PUDR_P28 (0x1u << 28) /*  (PIO_PUDR) Pull Up Disable. */
1766 #define PIO_PUDR_P29 (0x1u << 29) /*  (PIO_PUDR) Pull Up Disable. */
1767 #define PIO_PUDR_P30 (0x1u << 30) /*  (PIO_PUDR) Pull Up Disable. */
1768 #define PIO_PUDR_P31 (0x1u << 31) /*  (PIO_PUDR) Pull Up Disable. */
1769 /* -------- PIO_PUER : (PIO Offset: 0x0064) Pull-up Enable Register -------- */
1770 #define PIO_PUER_P0 (0x1u << 0) /*  (PIO_PUER) Pull Up Enable. */
1771 #define PIO_PUER_P1 (0x1u << 1) /*  (PIO_PUER) Pull Up Enable. */
1772 #define PIO_PUER_P2 (0x1u << 2) /*  (PIO_PUER) Pull Up Enable. */
1773 #define PIO_PUER_P3 (0x1u << 3) /*  (PIO_PUER) Pull Up Enable. */
1774 #define PIO_PUER_P4 (0x1u << 4) /*  (PIO_PUER) Pull Up Enable. */
1775 #define PIO_PUER_P5 (0x1u << 5) /*  (PIO_PUER) Pull Up Enable. */
1776 #define PIO_PUER_P6 (0x1u << 6) /*  (PIO_PUER) Pull Up Enable. */
1777 #define PIO_PUER_P7 (0x1u << 7) /*  (PIO_PUER) Pull Up Enable. */
1778 #define PIO_PUER_P8 (0x1u << 8) /*  (PIO_PUER) Pull Up Enable. */
1779 #define PIO_PUER_P9 (0x1u << 9) /*  (PIO_PUER) Pull Up Enable. */
1780 #define PIO_PUER_P10 (0x1u << 10) /*  (PIO_PUER) Pull Up Enable. */
1781 #define PIO_PUER_P11 (0x1u << 11) /*  (PIO_PUER) Pull Up Enable. */
1782 #define PIO_PUER_P12 (0x1u << 12) /*  (PIO_PUER) Pull Up Enable. */
1783 #define PIO_PUER_P13 (0x1u << 13) /*  (PIO_PUER) Pull Up Enable. */
1784 #define PIO_PUER_P14 (0x1u << 14) /*  (PIO_PUER) Pull Up Enable. */
1785 #define PIO_PUER_P15 (0x1u << 15) /*  (PIO_PUER) Pull Up Enable. */
1786 #define PIO_PUER_P16 (0x1u << 16) /*  (PIO_PUER) Pull Up Enable. */
1787 #define PIO_PUER_P17 (0x1u << 17) /*  (PIO_PUER) Pull Up Enable. */
1788 #define PIO_PUER_P18 (0x1u << 18) /*  (PIO_PUER) Pull Up Enable. */
1789 #define PIO_PUER_P19 (0x1u << 19) /*  (PIO_PUER) Pull Up Enable. */
1790 #define PIO_PUER_P20 (0x1u << 20) /*  (PIO_PUER) Pull Up Enable. */
1791 #define PIO_PUER_P21 (0x1u << 21) /*  (PIO_PUER) Pull Up Enable. */
1792 #define PIO_PUER_P22 (0x1u << 22) /*  (PIO_PUER) Pull Up Enable. */
1793 #define PIO_PUER_P23 (0x1u << 23) /*  (PIO_PUER) Pull Up Enable. */
1794 #define PIO_PUER_P24 (0x1u << 24) /*  (PIO_PUER) Pull Up Enable. */
1795 #define PIO_PUER_P25 (0x1u << 25) /*  (PIO_PUER) Pull Up Enable. */
1796 #define PIO_PUER_P26 (0x1u << 26) /*  (PIO_PUER) Pull Up Enable. */
1797 #define PIO_PUER_P27 (0x1u << 27) /*  (PIO_PUER) Pull Up Enable. */
1798 #define PIO_PUER_P28 (0x1u << 28) /*  (PIO_PUER) Pull Up Enable. */
1799 #define PIO_PUER_P29 (0x1u << 29) /*  (PIO_PUER) Pull Up Enable. */
1800 #define PIO_PUER_P30 (0x1u << 30) /*  (PIO_PUER) Pull Up Enable. */
1801 #define PIO_PUER_P31 (0x1u << 31) /*  (PIO_PUER) Pull Up Enable. */
1802 /* -------- PIO_PUSR : (PIO Offset: 0x0068) Pad Pull-up Status Register -------- */
1803 #define PIO_PUSR_P0 (0x1u << 0) /*  (PIO_PUSR) Pull Up Status. */
1804 #define PIO_PUSR_P1 (0x1u << 1) /*  (PIO_PUSR) Pull Up Status. */
1805 #define PIO_PUSR_P2 (0x1u << 2) /*  (PIO_PUSR) Pull Up Status. */
1806 #define PIO_PUSR_P3 (0x1u << 3) /*  (PIO_PUSR) Pull Up Status. */
1807 #define PIO_PUSR_P4 (0x1u << 4) /*  (PIO_PUSR) Pull Up Status. */
1808 #define PIO_PUSR_P5 (0x1u << 5) /*  (PIO_PUSR) Pull Up Status. */
1809 #define PIO_PUSR_P6 (0x1u << 6) /*  (PIO_PUSR) Pull Up Status. */
1810 #define PIO_PUSR_P7 (0x1u << 7) /*  (PIO_PUSR) Pull Up Status. */
1811 #define PIO_PUSR_P8 (0x1u << 8) /*  (PIO_PUSR) Pull Up Status. */
1812 #define PIO_PUSR_P9 (0x1u << 9) /*  (PIO_PUSR) Pull Up Status. */
1813 #define PIO_PUSR_P10 (0x1u << 10) /*  (PIO_PUSR) Pull Up Status. */
1814 #define PIO_PUSR_P11 (0x1u << 11) /*  (PIO_PUSR) Pull Up Status. */
1815 #define PIO_PUSR_P12 (0x1u << 12) /*  (PIO_PUSR) Pull Up Status. */
1816 #define PIO_PUSR_P13 (0x1u << 13) /*  (PIO_PUSR) Pull Up Status. */
1817 #define PIO_PUSR_P14 (0x1u << 14) /*  (PIO_PUSR) Pull Up Status. */
1818 #define PIO_PUSR_P15 (0x1u << 15) /*  (PIO_PUSR) Pull Up Status. */
1819 #define PIO_PUSR_P16 (0x1u << 16) /*  (PIO_PUSR) Pull Up Status. */
1820 #define PIO_PUSR_P17 (0x1u << 17) /*  (PIO_PUSR) Pull Up Status. */
1821 #define PIO_PUSR_P18 (0x1u << 18) /*  (PIO_PUSR) Pull Up Status. */
1822 #define PIO_PUSR_P19 (0x1u << 19) /*  (PIO_PUSR) Pull Up Status. */
1823 #define PIO_PUSR_P20 (0x1u << 20) /*  (PIO_PUSR) Pull Up Status. */
1824 #define PIO_PUSR_P21 (0x1u << 21) /*  (PIO_PUSR) Pull Up Status. */
1825 #define PIO_PUSR_P22 (0x1u << 22) /*  (PIO_PUSR) Pull Up Status. */
1826 #define PIO_PUSR_P23 (0x1u << 23) /*  (PIO_PUSR) Pull Up Status. */
1827 #define PIO_PUSR_P24 (0x1u << 24) /*  (PIO_PUSR) Pull Up Status. */
1828 #define PIO_PUSR_P25 (0x1u << 25) /*  (PIO_PUSR) Pull Up Status. */
1829 #define PIO_PUSR_P26 (0x1u << 26) /*  (PIO_PUSR) Pull Up Status. */
1830 #define PIO_PUSR_P27 (0x1u << 27) /*  (PIO_PUSR) Pull Up Status. */
1831 #define PIO_PUSR_P28 (0x1u << 28) /*  (PIO_PUSR) Pull Up Status. */
1832 #define PIO_PUSR_P29 (0x1u << 29) /*  (PIO_PUSR) Pull Up Status. */
1833 #define PIO_PUSR_P30 (0x1u << 30) /*  (PIO_PUSR) Pull Up Status. */
1834 #define PIO_PUSR_P31 (0x1u << 31) /*  (PIO_PUSR) Pull Up Status. */
1835 /* -------- PIO_ABCDSR[2] : (PIO Offset: 0x0070) Peripheral Select Register -------- */
1836 #define PIO_ABCDSR_P0 (0x1u << 0) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1837 #define PIO_ABCDSR_P1 (0x1u << 1) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1838 #define PIO_ABCDSR_P2 (0x1u << 2) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1839 #define PIO_ABCDSR_P3 (0x1u << 3) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1840 #define PIO_ABCDSR_P4 (0x1u << 4) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1841 #define PIO_ABCDSR_P5 (0x1u << 5) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1842 #define PIO_ABCDSR_P6 (0x1u << 6) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1843 #define PIO_ABCDSR_P7 (0x1u << 7) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1844 #define PIO_ABCDSR_P8 (0x1u << 8) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1845 #define PIO_ABCDSR_P9 (0x1u << 9) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1846 #define PIO_ABCDSR_P10 (0x1u << 10) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1847 #define PIO_ABCDSR_P11 (0x1u << 11) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1848 #define PIO_ABCDSR_P12 (0x1u << 12) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1849 #define PIO_ABCDSR_P13 (0x1u << 13) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1850 #define PIO_ABCDSR_P14 (0x1u << 14) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1851 #define PIO_ABCDSR_P15 (0x1u << 15) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1852 #define PIO_ABCDSR_P16 (0x1u << 16) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1853 #define PIO_ABCDSR_P17 (0x1u << 17) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1854 #define PIO_ABCDSR_P18 (0x1u << 18) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1855 #define PIO_ABCDSR_P19 (0x1u << 19) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1856 #define PIO_ABCDSR_P20 (0x1u << 20) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1857 #define PIO_ABCDSR_P21 (0x1u << 21) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1858 #define PIO_ABCDSR_P22 (0x1u << 22) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1859 #define PIO_ABCDSR_P23 (0x1u << 23) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1860 #define PIO_ABCDSR_P24 (0x1u << 24) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1861 #define PIO_ABCDSR_P25 (0x1u << 25) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1862 #define PIO_ABCDSR_P26 (0x1u << 26) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1863 #define PIO_ABCDSR_P27 (0x1u << 27) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1864 #define PIO_ABCDSR_P28 (0x1u << 28) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1865 #define PIO_ABCDSR_P29 (0x1u << 29) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1866 #define PIO_ABCDSR_P30 (0x1u << 30) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1867 #define PIO_ABCDSR_P31 (0x1u << 31) /*  (PIO_ABCDSR[2]) Peripheral Select. */
1868 /* -------- PIO_IFSCDR : (PIO Offset: 0x0080) Input Filter Slow Clock Disable Register -------- */
1869 #define PIO_IFSCDR_P0 (0x1u << 0) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1870 #define PIO_IFSCDR_P1 (0x1u << 1) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1871 #define PIO_IFSCDR_P2 (0x1u << 2) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1872 #define PIO_IFSCDR_P3 (0x1u << 3) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1873 #define PIO_IFSCDR_P4 (0x1u << 4) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1874 #define PIO_IFSCDR_P5 (0x1u << 5) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1875 #define PIO_IFSCDR_P6 (0x1u << 6) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1876 #define PIO_IFSCDR_P7 (0x1u << 7) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1877 #define PIO_IFSCDR_P8 (0x1u << 8) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1878 #define PIO_IFSCDR_P9 (0x1u << 9) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1879 #define PIO_IFSCDR_P10 (0x1u << 10) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1880 #define PIO_IFSCDR_P11 (0x1u << 11) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1881 #define PIO_IFSCDR_P12 (0x1u << 12) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1882 #define PIO_IFSCDR_P13 (0x1u << 13) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1883 #define PIO_IFSCDR_P14 (0x1u << 14) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1884 #define PIO_IFSCDR_P15 (0x1u << 15) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1885 #define PIO_IFSCDR_P16 (0x1u << 16) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1886 #define PIO_IFSCDR_P17 (0x1u << 17) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1887 #define PIO_IFSCDR_P18 (0x1u << 18) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1888 #define PIO_IFSCDR_P19 (0x1u << 19) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1889 #define PIO_IFSCDR_P20 (0x1u << 20) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1890 #define PIO_IFSCDR_P21 (0x1u << 21) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1891 #define PIO_IFSCDR_P22 (0x1u << 22) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1892 #define PIO_IFSCDR_P23 (0x1u << 23) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1893 #define PIO_IFSCDR_P24 (0x1u << 24) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1894 #define PIO_IFSCDR_P25 (0x1u << 25) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1895 #define PIO_IFSCDR_P26 (0x1u << 26) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1896 #define PIO_IFSCDR_P27 (0x1u << 27) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1897 #define PIO_IFSCDR_P28 (0x1u << 28) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1898 #define PIO_IFSCDR_P29 (0x1u << 29) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1899 #define PIO_IFSCDR_P30 (0x1u << 30) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1900 #define PIO_IFSCDR_P31 (0x1u << 31) /*  (PIO_IFSCDR) PIO Clock Glitch Filtering Select. */
1901 /* -------- PIO_IFSCER : (PIO Offset: 0x0084) Input Filter Slow Clock Enable Register -------- */
1902 #define PIO_IFSCER_P0 (0x1u << 0) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1903 #define PIO_IFSCER_P1 (0x1u << 1) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1904 #define PIO_IFSCER_P2 (0x1u << 2) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1905 #define PIO_IFSCER_P3 (0x1u << 3) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1906 #define PIO_IFSCER_P4 (0x1u << 4) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1907 #define PIO_IFSCER_P5 (0x1u << 5) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1908 #define PIO_IFSCER_P6 (0x1u << 6) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1909 #define PIO_IFSCER_P7 (0x1u << 7) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1910 #define PIO_IFSCER_P8 (0x1u << 8) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1911 #define PIO_IFSCER_P9 (0x1u << 9) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1912 #define PIO_IFSCER_P10 (0x1u << 10) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1913 #define PIO_IFSCER_P11 (0x1u << 11) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1914 #define PIO_IFSCER_P12 (0x1u << 12) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1915 #define PIO_IFSCER_P13 (0x1u << 13) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1916 #define PIO_IFSCER_P14 (0x1u << 14) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1917 #define PIO_IFSCER_P15 (0x1u << 15) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1918 #define PIO_IFSCER_P16 (0x1u << 16) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1919 #define PIO_IFSCER_P17 (0x1u << 17) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1920 #define PIO_IFSCER_P18 (0x1u << 18) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1921 #define PIO_IFSCER_P19 (0x1u << 19) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1922 #define PIO_IFSCER_P20 (0x1u << 20) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1923 #define PIO_IFSCER_P21 (0x1u << 21) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1924 #define PIO_IFSCER_P22 (0x1u << 22) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1925 #define PIO_IFSCER_P23 (0x1u << 23) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1926 #define PIO_IFSCER_P24 (0x1u << 24) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1927 #define PIO_IFSCER_P25 (0x1u << 25) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1928 #define PIO_IFSCER_P26 (0x1u << 26) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1929 #define PIO_IFSCER_P27 (0x1u << 27) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1930 #define PIO_IFSCER_P28 (0x1u << 28) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1931 #define PIO_IFSCER_P29 (0x1u << 29) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1932 #define PIO_IFSCER_P30 (0x1u << 30) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1933 #define PIO_IFSCER_P31 (0x1u << 31) /*  (PIO_IFSCER) Debouncing Filtering Select. */
1934 /* -------- PIO_IFSCSR : (PIO Offset: 0x0088) Input Filter Slow Clock Status Register -------- */
1935 #define PIO_IFSCSR_P0 (0x1u << 0) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1936 #define PIO_IFSCSR_P1 (0x1u << 1) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1937 #define PIO_IFSCSR_P2 (0x1u << 2) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1938 #define PIO_IFSCSR_P3 (0x1u << 3) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1939 #define PIO_IFSCSR_P4 (0x1u << 4) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1940 #define PIO_IFSCSR_P5 (0x1u << 5) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1941 #define PIO_IFSCSR_P6 (0x1u << 6) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1942 #define PIO_IFSCSR_P7 (0x1u << 7) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1943 #define PIO_IFSCSR_P8 (0x1u << 8) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1944 #define PIO_IFSCSR_P9 (0x1u << 9) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1945 #define PIO_IFSCSR_P10 (0x1u << 10) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1946 #define PIO_IFSCSR_P11 (0x1u << 11) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1947 #define PIO_IFSCSR_P12 (0x1u << 12) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1948 #define PIO_IFSCSR_P13 (0x1u << 13) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1949 #define PIO_IFSCSR_P14 (0x1u << 14) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1950 #define PIO_IFSCSR_P15 (0x1u << 15) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1951 #define PIO_IFSCSR_P16 (0x1u << 16) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1952 #define PIO_IFSCSR_P17 (0x1u << 17) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1953 #define PIO_IFSCSR_P18 (0x1u << 18) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1954 #define PIO_IFSCSR_P19 (0x1u << 19) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1955 #define PIO_IFSCSR_P20 (0x1u << 20) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1956 #define PIO_IFSCSR_P21 (0x1u << 21) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1957 #define PIO_IFSCSR_P22 (0x1u << 22) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1958 #define PIO_IFSCSR_P23 (0x1u << 23) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1959 #define PIO_IFSCSR_P24 (0x1u << 24) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1960 #define PIO_IFSCSR_P25 (0x1u << 25) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1961 #define PIO_IFSCSR_P26 (0x1u << 26) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1962 #define PIO_IFSCSR_P27 (0x1u << 27) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1963 #define PIO_IFSCSR_P28 (0x1u << 28) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1964 #define PIO_IFSCSR_P29 (0x1u << 29) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1965 #define PIO_IFSCSR_P30 (0x1u << 30) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1966 #define PIO_IFSCSR_P31 (0x1u << 31) /*  (PIO_IFSCSR) Glitch or Debouncing Filter Selection Status */
1967 /* -------- PIO_SCDR : (PIO Offset: 0x008C) Slow Clock Divider Debouncing Register -------- */
1968 #define PIO_SCDR_DIV0 (0x1u << 0) /*  (PIO_SCDR) Slow Clock Divider Selection for Debouncing */
1969 #define PIO_SCDR_DIV1 (0x1u << 1) /*  (PIO_SCDR) Slow Clock Divider Selection for Debouncing */
1970 #define PIO_SCDR_DIV2 (0x1u << 2) /*  (PIO_SCDR) Slow Clock Divider Selection for Debouncing */
1971 #define PIO_SCDR_DIV3 (0x1u << 3) /*  (PIO_SCDR) Slow Clock Divider Selection for Debouncing */
1972 #define PIO_SCDR_DIV4 (0x1u << 4) /*  (PIO_SCDR) Slow Clock Divider Selection for Debouncing */
1973 #define PIO_SCDR_DIV5 (0x1u << 5) /*  (PIO_SCDR) Slow Clock Divider Selection for Debouncing */
1974 #define PIO_SCDR_DIV6 (0x1u << 6) /*  (PIO_SCDR) Slow Clock Divider Selection for Debouncing */
1975 #define PIO_SCDR_DIV7 (0x1u << 7) /*  (PIO_SCDR) Slow Clock Divider Selection for Debouncing */
1976 #define PIO_SCDR_DIV8 (0x1u << 8) /*  (PIO_SCDR) Slow Clock Divider Selection for Debouncing */
1977 #define PIO_SCDR_DIV9 (0x1u << 9) /*  (PIO_SCDR) Slow Clock Divider Selection for Debouncing */
1978 #define PIO_SCDR_DIV10 (0x1u << 10) /*  (PIO_SCDR) Slow Clock Divider Selection for Debouncing */
1979 #define PIO_SCDR_DIV11 (0x1u << 11) /*  (PIO_SCDR) Slow Clock Divider Selection for Debouncing */
1980 #define PIO_SCDR_DIV12 (0x1u << 12) /*  (PIO_SCDR) Slow Clock Divider Selection for Debouncing */
1981 #define PIO_SCDR_DIV13 (0x1u << 13) /*  (PIO_SCDR) Slow Clock Divider Selection for Debouncing */
1982 /* -------- PIO_PPDDR : (PIO Offset: 0x0090) Pad Pull-down Disable Register -------- */
1983 #define PIO_PPDDR_P0 (0x1u << 0) /*  (PIO_PPDDR) Pull Down Disable. */
1984 #define PIO_PPDDR_P1 (0x1u << 1) /*  (PIO_PPDDR) Pull Down Disable. */
1985 #define PIO_PPDDR_P2 (0x1u << 2) /*  (PIO_PPDDR) Pull Down Disable. */
1986 #define PIO_PPDDR_P3 (0x1u << 3) /*  (PIO_PPDDR) Pull Down Disable. */
1987 #define PIO_PPDDR_P4 (0x1u << 4) /*  (PIO_PPDDR) Pull Down Disable. */
1988 #define PIO_PPDDR_P5 (0x1u << 5) /*  (PIO_PPDDR) Pull Down Disable. */
1989 #define PIO_PPDDR_P6 (0x1u << 6) /*  (PIO_PPDDR) Pull Down Disable. */
1990 #define PIO_PPDDR_P7 (0x1u << 7) /*  (PIO_PPDDR) Pull Down Disable. */
1991 #define PIO_PPDDR_P8 (0x1u << 8) /*  (PIO_PPDDR) Pull Down Disable. */
1992 #define PIO_PPDDR_P9 (0x1u << 9) /*  (PIO_PPDDR) Pull Down Disable. */
1993 #define PIO_PPDDR_P10 (0x1u << 10) /*  (PIO_PPDDR) Pull Down Disable. */
1994 #define PIO_PPDDR_P11 (0x1u << 11) /*  (PIO_PPDDR) Pull Down Disable. */
1995 #define PIO_PPDDR_P12 (0x1u << 12) /*  (PIO_PPDDR) Pull Down Disable. */
1996 #define PIO_PPDDR_P13 (0x1u << 13) /*  (PIO_PPDDR) Pull Down Disable. */
1997 #define PIO_PPDDR_P14 (0x1u << 14) /*  (PIO_PPDDR) Pull Down Disable. */
1998 #define PIO_PPDDR_P15 (0x1u << 15) /*  (PIO_PPDDR) Pull Down Disable. */
1999 #define PIO_PPDDR_P16 (0x1u << 16) /*  (PIO_PPDDR) Pull Down Disable. */
2000 #define PIO_PPDDR_P17 (0x1u << 17) /*  (PIO_PPDDR) Pull Down Disable. */
2001 #define PIO_PPDDR_P18 (0x1u << 18) /*  (PIO_PPDDR) Pull Down Disable. */
2002 #define PIO_PPDDR_P19 (0x1u << 19) /*  (PIO_PPDDR) Pull Down Disable. */
2003 #define PIO_PPDDR_P20 (0x1u << 20) /*  (PIO_PPDDR) Pull Down Disable. */
2004 #define PIO_PPDDR_P21 (0x1u << 21) /*  (PIO_PPDDR) Pull Down Disable. */
2005 #define PIO_PPDDR_P22 (0x1u << 22) /*  (PIO_PPDDR) Pull Down Disable. */
2006 #define PIO_PPDDR_P23 (0x1u << 23) /*  (PIO_PPDDR) Pull Down Disable. */
2007 #define PIO_PPDDR_P24 (0x1u << 24) /*  (PIO_PPDDR) Pull Down Disable. */
2008 #define PIO_PPDDR_P25 (0x1u << 25) /*  (PIO_PPDDR) Pull Down Disable. */
2009 #define PIO_PPDDR_P26 (0x1u << 26) /*  (PIO_PPDDR) Pull Down Disable. */
2010 #define PIO_PPDDR_P27 (0x1u << 27) /*  (PIO_PPDDR) Pull Down Disable. */
2011 #define PIO_PPDDR_P28 (0x1u << 28) /*  (PIO_PPDDR) Pull Down Disable. */
2012 #define PIO_PPDDR_P29 (0x1u << 29) /*  (PIO_PPDDR) Pull Down Disable. */
2013 #define PIO_PPDDR_P30 (0x1u << 30) /*  (PIO_PPDDR) Pull Down Disable. */
2014 #define PIO_PPDDR_P31 (0x1u << 31) /*  (PIO_PPDDR) Pull Down Disable. */
2015 /* -------- PIO_PPDER : (PIO Offset: 0x0094) Pad Pull-down Enable Register -------- */
2016 #define PIO_PPDER_P0 (0x1u << 0) /*  (PIO_PPDER) Pull Down Enable. */
2017 #define PIO_PPDER_P1 (0x1u << 1) /*  (PIO_PPDER) Pull Down Enable. */
2018 #define PIO_PPDER_P2 (0x1u << 2) /*  (PIO_PPDER) Pull Down Enable. */
2019 #define PIO_PPDER_P3 (0x1u << 3) /*  (PIO_PPDER) Pull Down Enable. */
2020 #define PIO_PPDER_P4 (0x1u << 4) /*  (PIO_PPDER) Pull Down Enable. */
2021 #define PIO_PPDER_P5 (0x1u << 5) /*  (PIO_PPDER) Pull Down Enable. */
2022 #define PIO_PPDER_P6 (0x1u << 6) /*  (PIO_PPDER) Pull Down Enable. */
2023 #define PIO_PPDER_P7 (0x1u << 7) /*  (PIO_PPDER) Pull Down Enable. */
2024 #define PIO_PPDER_P8 (0x1u << 8) /*  (PIO_PPDER) Pull Down Enable. */
2025 #define PIO_PPDER_P9 (0x1u << 9) /*  (PIO_PPDER) Pull Down Enable. */
2026 #define PIO_PPDER_P10 (0x1u << 10) /*  (PIO_PPDER) Pull Down Enable. */
2027 #define PIO_PPDER_P11 (0x1u << 11) /*  (PIO_PPDER) Pull Down Enable. */
2028 #define PIO_PPDER_P12 (0x1u << 12) /*  (PIO_PPDER) Pull Down Enable. */
2029 #define PIO_PPDER_P13 (0x1u << 13) /*  (PIO_PPDER) Pull Down Enable. */
2030 #define PIO_PPDER_P14 (0x1u << 14) /*  (PIO_PPDER) Pull Down Enable. */
2031 #define PIO_PPDER_P15 (0x1u << 15) /*  (PIO_PPDER) Pull Down Enable. */
2032 #define PIO_PPDER_P16 (0x1u << 16) /*  (PIO_PPDER) Pull Down Enable. */
2033 #define PIO_PPDER_P17 (0x1u << 17) /*  (PIO_PPDER) Pull Down Enable. */
2034 #define PIO_PPDER_P18 (0x1u << 18) /*  (PIO_PPDER) Pull Down Enable. */
2035 #define PIO_PPDER_P19 (0x1u << 19) /*  (PIO_PPDER) Pull Down Enable. */
2036 #define PIO_PPDER_P20 (0x1u << 20) /*  (PIO_PPDER) Pull Down Enable. */
2037 #define PIO_PPDER_P21 (0x1u << 21) /*  (PIO_PPDER) Pull Down Enable. */
2038 #define PIO_PPDER_P22 (0x1u << 22) /*  (PIO_PPDER) Pull Down Enable. */
2039 #define PIO_PPDER_P23 (0x1u << 23) /*  (PIO_PPDER) Pull Down Enable. */
2040 #define PIO_PPDER_P24 (0x1u << 24) /*  (PIO_PPDER) Pull Down Enable. */
2041 #define PIO_PPDER_P25 (0x1u << 25) /*  (PIO_PPDER) Pull Down Enable. */
2042 #define PIO_PPDER_P26 (0x1u << 26) /*  (PIO_PPDER) Pull Down Enable. */
2043 #define PIO_PPDER_P27 (0x1u << 27) /*  (PIO_PPDER) Pull Down Enable. */
2044 #define PIO_PPDER_P28 (0x1u << 28) /*  (PIO_PPDER) Pull Down Enable. */
2045 #define PIO_PPDER_P29 (0x1u << 29) /*  (PIO_PPDER) Pull Down Enable. */
2046 #define PIO_PPDER_P30 (0x1u << 30) /*  (PIO_PPDER) Pull Down Enable. */
2047 #define PIO_PPDER_P31 (0x1u << 31) /*  (PIO_PPDER) Pull Down Enable. */
2048 /* -------- PIO_PPDSR : (PIO Offset: 0x0098) Pad Pull-down Status Register -------- */
2049 #define PIO_PPDSR_P0 (0x1u << 0) /*  (PIO_PPDSR) Pull Down Status. */
2050 #define PIO_PPDSR_P1 (0x1u << 1) /*  (PIO_PPDSR) Pull Down Status. */
2051 #define PIO_PPDSR_P2 (0x1u << 2) /*  (PIO_PPDSR) Pull Down Status. */
2052 #define PIO_PPDSR_P3 (0x1u << 3) /*  (PIO_PPDSR) Pull Down Status. */
2053 #define PIO_PPDSR_P4 (0x1u << 4) /*  (PIO_PPDSR) Pull Down Status. */
2054 #define PIO_PPDSR_P5 (0x1u << 5) /*  (PIO_PPDSR) Pull Down Status. */
2055 #define PIO_PPDSR_P6 (0x1u << 6) /*  (PIO_PPDSR) Pull Down Status. */
2056 #define PIO_PPDSR_P7 (0x1u << 7) /*  (PIO_PPDSR) Pull Down Status. */
2057 #define PIO_PPDSR_P8 (0x1u << 8) /*  (PIO_PPDSR) Pull Down Status. */
2058 #define PIO_PPDSR_P9 (0x1u << 9) /*  (PIO_PPDSR) Pull Down Status. */
2059 #define PIO_PPDSR_P10 (0x1u << 10) /*  (PIO_PPDSR) Pull Down Status. */
2060 #define PIO_PPDSR_P11 (0x1u << 11) /*  (PIO_PPDSR) Pull Down Status. */
2061 #define PIO_PPDSR_P12 (0x1u << 12) /*  (PIO_PPDSR) Pull Down Status. */
2062 #define PIO_PPDSR_P13 (0x1u << 13) /*  (PIO_PPDSR) Pull Down Status. */
2063 #define PIO_PPDSR_P14 (0x1u << 14) /*  (PIO_PPDSR) Pull Down Status. */
2064 #define PIO_PPDSR_P15 (0x1u << 15) /*  (PIO_PPDSR) Pull Down Status. */
2065 #define PIO_PPDSR_P16 (0x1u << 16) /*  (PIO_PPDSR) Pull Down Status. */
2066 #define PIO_PPDSR_P17 (0x1u << 17) /*  (PIO_PPDSR) Pull Down Status. */
2067 #define PIO_PPDSR_P18 (0x1u << 18) /*  (PIO_PPDSR) Pull Down Status. */
2068 #define PIO_PPDSR_P19 (0x1u << 19) /*  (PIO_PPDSR) Pull Down Status. */
2069 #define PIO_PPDSR_P20 (0x1u << 20) /*  (PIO_PPDSR) Pull Down Status. */
2070 #define PIO_PPDSR_P21 (0x1u << 21) /*  (PIO_PPDSR) Pull Down Status. */
2071 #define PIO_PPDSR_P22 (0x1u << 22) /*  (PIO_PPDSR) Pull Down Status. */
2072 #define PIO_PPDSR_P23 (0x1u << 23) /*  (PIO_PPDSR) Pull Down Status. */
2073 #define PIO_PPDSR_P24 (0x1u << 24) /*  (PIO_PPDSR) Pull Down Status. */
2074 #define PIO_PPDSR_P25 (0x1u << 25) /*  (PIO_PPDSR) Pull Down Status. */
2075 #define PIO_PPDSR_P26 (0x1u << 26) /*  (PIO_PPDSR) Pull Down Status. */
2076 #define PIO_PPDSR_P27 (0x1u << 27) /*  (PIO_PPDSR) Pull Down Status. */
2077 #define PIO_PPDSR_P28 (0x1u << 28) /*  (PIO_PPDSR) Pull Down Status. */
2078 #define PIO_PPDSR_P29 (0x1u << 29) /*  (PIO_PPDSR) Pull Down Status. */
2079 #define PIO_PPDSR_P30 (0x1u << 30) /*  (PIO_PPDSR) Pull Down Status. */
2080 #define PIO_PPDSR_P31 (0x1u << 31) /*  (PIO_PPDSR) Pull Down Status. */
2081 /* -------- PIO_OWER : (PIO Offset: 0x00A0) Output Write Enable -------- */
2082 #define PIO_OWER_P0 (0x1u << 0) /*  (PIO_OWER) Output Write Enable. */
2083 #define PIO_OWER_P1 (0x1u << 1) /*  (PIO_OWER) Output Write Enable. */
2084 #define PIO_OWER_P2 (0x1u << 2) /*  (PIO_OWER) Output Write Enable. */
2085 #define PIO_OWER_P3 (0x1u << 3) /*  (PIO_OWER) Output Write Enable. */
2086 #define PIO_OWER_P4 (0x1u << 4) /*  (PIO_OWER) Output Write Enable. */
2087 #define PIO_OWER_P5 (0x1u << 5) /*  (PIO_OWER) Output Write Enable. */
2088 #define PIO_OWER_P6 (0x1u << 6) /*  (PIO_OWER) Output Write Enable. */
2089 #define PIO_OWER_P7 (0x1u << 7) /*  (PIO_OWER) Output Write Enable. */
2090 #define PIO_OWER_P8 (0x1u << 8) /*  (PIO_OWER) Output Write Enable. */
2091 #define PIO_OWER_P9 (0x1u << 9) /*  (PIO_OWER) Output Write Enable. */
2092 #define PIO_OWER_P10 (0x1u << 10) /*  (PIO_OWER) Output Write Enable. */
2093 #define PIO_OWER_P11 (0x1u << 11) /*  (PIO_OWER) Output Write Enable. */
2094 #define PIO_OWER_P12 (0x1u << 12) /*  (PIO_OWER) Output Write Enable. */
2095 #define PIO_OWER_P13 (0x1u << 13) /*  (PIO_OWER) Output Write Enable. */
2096 #define PIO_OWER_P14 (0x1u << 14) /*  (PIO_OWER) Output Write Enable. */
2097 #define PIO_OWER_P15 (0x1u << 15) /*  (PIO_OWER) Output Write Enable. */
2098 #define PIO_OWER_P16 (0x1u << 16) /*  (PIO_OWER) Output Write Enable. */
2099 #define PIO_OWER_P17 (0x1u << 17) /*  (PIO_OWER) Output Write Enable. */
2100 #define PIO_OWER_P18 (0x1u << 18) /*  (PIO_OWER) Output Write Enable. */
2101 #define PIO_OWER_P19 (0x1u << 19) /*  (PIO_OWER) Output Write Enable. */
2102 #define PIO_OWER_P20 (0x1u << 20) /*  (PIO_OWER) Output Write Enable. */
2103 #define PIO_OWER_P21 (0x1u << 21) /*  (PIO_OWER) Output Write Enable. */
2104 #define PIO_OWER_P22 (0x1u << 22) /*  (PIO_OWER) Output Write Enable. */
2105 #define PIO_OWER_P23 (0x1u << 23) /*  (PIO_OWER) Output Write Enable. */
2106 #define PIO_OWER_P24 (0x1u << 24) /*  (PIO_OWER) Output Write Enable. */
2107 #define PIO_OWER_P25 (0x1u << 25) /*  (PIO_OWER) Output Write Enable. */
2108 #define PIO_OWER_P26 (0x1u << 26) /*  (PIO_OWER) Output Write Enable. */
2109 #define PIO_OWER_P27 (0x1u << 27) /*  (PIO_OWER) Output Write Enable. */
2110 #define PIO_OWER_P28 (0x1u << 28) /*  (PIO_OWER) Output Write Enable. */
2111 #define PIO_OWER_P29 (0x1u << 29) /*  (PIO_OWER) Output Write Enable. */
2112 #define PIO_OWER_P30 (0x1u << 30) /*  (PIO_OWER) Output Write Enable. */
2113 #define PIO_OWER_P31 (0x1u << 31) /*  (PIO_OWER) Output Write Enable. */
2114 /* -------- PIO_OWDR : (PIO Offset: 0x00A4) Output Write Disable -------- */
2115 #define PIO_OWDR_P0 (0x1u << 0) /*  (PIO_OWDR) Output Write Disable. */
2116 #define PIO_OWDR_P1 (0x1u << 1) /*  (PIO_OWDR) Output Write Disable. */
2117 #define PIO_OWDR_P2 (0x1u << 2) /*  (PIO_OWDR) Output Write Disable. */
2118 #define PIO_OWDR_P3 (0x1u << 3) /*  (PIO_OWDR) Output Write Disable. */
2119 #define PIO_OWDR_P4 (0x1u << 4) /*  (PIO_OWDR) Output Write Disable. */
2120 #define PIO_OWDR_P5 (0x1u << 5) /*  (PIO_OWDR) Output Write Disable. */
2121 #define PIO_OWDR_P6 (0x1u << 6) /*  (PIO_OWDR) Output Write Disable. */
2122 #define PIO_OWDR_P7 (0x1u << 7) /*  (PIO_OWDR) Output Write Disable. */
2123 #define PIO_OWDR_P8 (0x1u << 8) /*  (PIO_OWDR) Output Write Disable. */
2124 #define PIO_OWDR_P9 (0x1u << 9) /*  (PIO_OWDR) Output Write Disable. */
2125 #define PIO_OWDR_P10 (0x1u << 10) /*  (PIO_OWDR) Output Write Disable. */
2126 #define PIO_OWDR_P11 (0x1u << 11) /*  (PIO_OWDR) Output Write Disable. */
2127 #define PIO_OWDR_P12 (0x1u << 12) /*  (PIO_OWDR) Output Write Disable. */
2128 #define PIO_OWDR_P13 (0x1u << 13) /*  (PIO_OWDR) Output Write Disable. */
2129 #define PIO_OWDR_P14 (0x1u << 14) /*  (PIO_OWDR) Output Write Disable. */
2130 #define PIO_OWDR_P15 (0x1u << 15) /*  (PIO_OWDR) Output Write Disable. */
2131 #define PIO_OWDR_P16 (0x1u << 16) /*  (PIO_OWDR) Output Write Disable. */
2132 #define PIO_OWDR_P17 (0x1u << 17) /*  (PIO_OWDR) Output Write Disable. */
2133 #define PIO_OWDR_P18 (0x1u << 18) /*  (PIO_OWDR) Output Write Disable. */
2134 #define PIO_OWDR_P19 (0x1u << 19) /*  (PIO_OWDR) Output Write Disable. */
2135 #define PIO_OWDR_P20 (0x1u << 20) /*  (PIO_OWDR) Output Write Disable. */
2136 #define PIO_OWDR_P21 (0x1u << 21) /*  (PIO_OWDR) Output Write Disable. */
2137 #define PIO_OWDR_P22 (0x1u << 22) /*  (PIO_OWDR) Output Write Disable. */
2138 #define PIO_OWDR_P23 (0x1u << 23) /*  (PIO_OWDR) Output Write Disable. */
2139 #define PIO_OWDR_P24 (0x1u << 24) /*  (PIO_OWDR) Output Write Disable. */
2140 #define PIO_OWDR_P25 (0x1u << 25) /*  (PIO_OWDR) Output Write Disable. */
2141 #define PIO_OWDR_P26 (0x1u << 26) /*  (PIO_OWDR) Output Write Disable. */
2142 #define PIO_OWDR_P27 (0x1u << 27) /*  (PIO_OWDR) Output Write Disable. */
2143 #define PIO_OWDR_P28 (0x1u << 28) /*  (PIO_OWDR) Output Write Disable. */
2144 #define PIO_OWDR_P29 (0x1u << 29) /*  (PIO_OWDR) Output Write Disable. */
2145 #define PIO_OWDR_P30 (0x1u << 30) /*  (PIO_OWDR) Output Write Disable. */
2146 #define PIO_OWDR_P31 (0x1u << 31) /*  (PIO_OWDR) Output Write Disable. */
2147 /* -------- PIO_OWSR : (PIO Offset: 0x00A8) Output Write Status Register -------- */
2148 #define PIO_OWSR_P0 (0x1u << 0) /*  (PIO_OWSR) Output Write Status. */
2149 #define PIO_OWSR_P1 (0x1u << 1) /*  (PIO_OWSR) Output Write Status. */
2150 #define PIO_OWSR_P2 (0x1u << 2) /*  (PIO_OWSR) Output Write Status. */
2151 #define PIO_OWSR_P3 (0x1u << 3) /*  (PIO_OWSR) Output Write Status. */
2152 #define PIO_OWSR_P4 (0x1u << 4) /*  (PIO_OWSR) Output Write Status. */
2153 #define PIO_OWSR_P5 (0x1u << 5) /*  (PIO_OWSR) Output Write Status. */
2154 #define PIO_OWSR_P6 (0x1u << 6) /*  (PIO_OWSR) Output Write Status. */
2155 #define PIO_OWSR_P7 (0x1u << 7) /*  (PIO_OWSR) Output Write Status. */
2156 #define PIO_OWSR_P8 (0x1u << 8) /*  (PIO_OWSR) Output Write Status. */
2157 #define PIO_OWSR_P9 (0x1u << 9) /*  (PIO_OWSR) Output Write Status. */
2158 #define PIO_OWSR_P10 (0x1u << 10) /*  (PIO_OWSR) Output Write Status. */
2159 #define PIO_OWSR_P11 (0x1u << 11) /*  (PIO_OWSR) Output Write Status. */
2160 #define PIO_OWSR_P12 (0x1u << 12) /*  (PIO_OWSR) Output Write Status. */
2161 #define PIO_OWSR_P13 (0x1u << 13) /*  (PIO_OWSR) Output Write Status. */
2162 #define PIO_OWSR_P14 (0x1u << 14) /*  (PIO_OWSR) Output Write Status. */
2163 #define PIO_OWSR_P15 (0x1u << 15) /*  (PIO_OWSR) Output Write Status. */
2164 #define PIO_OWSR_P16 (0x1u << 16) /*  (PIO_OWSR) Output Write Status. */
2165 #define PIO_OWSR_P17 (0x1u << 17) /*  (PIO_OWSR) Output Write Status. */
2166 #define PIO_OWSR_P18 (0x1u << 18) /*  (PIO_OWSR) Output Write Status. */
2167 #define PIO_OWSR_P19 (0x1u << 19) /*  (PIO_OWSR) Output Write Status. */
2168 #define PIO_OWSR_P20 (0x1u << 20) /*  (PIO_OWSR) Output Write Status. */
2169 #define PIO_OWSR_P21 (0x1u << 21) /*  (PIO_OWSR) Output Write Status. */
2170 #define PIO_OWSR_P22 (0x1u << 22) /*  (PIO_OWSR) Output Write Status. */
2171 #define PIO_OWSR_P23 (0x1u << 23) /*  (PIO_OWSR) Output Write Status. */
2172 #define PIO_OWSR_P24 (0x1u << 24) /*  (PIO_OWSR) Output Write Status. */
2173 #define PIO_OWSR_P25 (0x1u << 25) /*  (PIO_OWSR) Output Write Status. */
2174 #define PIO_OWSR_P26 (0x1u << 26) /*  (PIO_OWSR) Output Write Status. */
2175 #define PIO_OWSR_P27 (0x1u << 27) /*  (PIO_OWSR) Output Write Status. */
2176 #define PIO_OWSR_P28 (0x1u << 28) /*  (PIO_OWSR) Output Write Status. */
2177 #define PIO_OWSR_P29 (0x1u << 29) /*  (PIO_OWSR) Output Write Status. */
2178 #define PIO_OWSR_P30 (0x1u << 30) /*  (PIO_OWSR) Output Write Status. */
2179 #define PIO_OWSR_P31 (0x1u << 31) /*  (PIO_OWSR) Output Write Status. */
2180 /* -------- PIO_AIMER : (PIO Offset: 0x00B0) Additional Interrupt Modes Enable Register -------- */
2181 #define PIO_AIMER_P0 (0x1u << 0) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2182 #define PIO_AIMER_P1 (0x1u << 1) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2183 #define PIO_AIMER_P2 (0x1u << 2) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2184 #define PIO_AIMER_P3 (0x1u << 3) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2185 #define PIO_AIMER_P4 (0x1u << 4) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2186 #define PIO_AIMER_P5 (0x1u << 5) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2187 #define PIO_AIMER_P6 (0x1u << 6) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2188 #define PIO_AIMER_P7 (0x1u << 7) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2189 #define PIO_AIMER_P8 (0x1u << 8) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2190 #define PIO_AIMER_P9 (0x1u << 9) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2191 #define PIO_AIMER_P10 (0x1u << 10) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2192 #define PIO_AIMER_P11 (0x1u << 11) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2193 #define PIO_AIMER_P12 (0x1u << 12) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2194 #define PIO_AIMER_P13 (0x1u << 13) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2195 #define PIO_AIMER_P14 (0x1u << 14) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2196 #define PIO_AIMER_P15 (0x1u << 15) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2197 #define PIO_AIMER_P16 (0x1u << 16) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2198 #define PIO_AIMER_P17 (0x1u << 17) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2199 #define PIO_AIMER_P18 (0x1u << 18) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2200 #define PIO_AIMER_P19 (0x1u << 19) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2201 #define PIO_AIMER_P20 (0x1u << 20) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2202 #define PIO_AIMER_P21 (0x1u << 21) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2203 #define PIO_AIMER_P22 (0x1u << 22) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2204 #define PIO_AIMER_P23 (0x1u << 23) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2205 #define PIO_AIMER_P24 (0x1u << 24) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2206 #define PIO_AIMER_P25 (0x1u << 25) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2207 #define PIO_AIMER_P26 (0x1u << 26) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2208 #define PIO_AIMER_P27 (0x1u << 27) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2209 #define PIO_AIMER_P28 (0x1u << 28) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2210 #define PIO_AIMER_P29 (0x1u << 29) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2211 #define PIO_AIMER_P30 (0x1u << 30) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2212 #define PIO_AIMER_P31 (0x1u << 31) /*  (PIO_AIMER) Additional Interrupt Modes Enable. */
2213 /* -------- PIO_AIMDR : (PIO Offset: 0x00B4) Additional Interrupt Modes Disables Register -------- */
2214 #define PIO_AIMDR_P0 (0x1u << 0) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2215 #define PIO_AIMDR_P1 (0x1u << 1) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2216 #define PIO_AIMDR_P2 (0x1u << 2) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2217 #define PIO_AIMDR_P3 (0x1u << 3) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2218 #define PIO_AIMDR_P4 (0x1u << 4) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2219 #define PIO_AIMDR_P5 (0x1u << 5) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2220 #define PIO_AIMDR_P6 (0x1u << 6) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2221 #define PIO_AIMDR_P7 (0x1u << 7) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2222 #define PIO_AIMDR_P8 (0x1u << 8) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2223 #define PIO_AIMDR_P9 (0x1u << 9) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2224 #define PIO_AIMDR_P10 (0x1u << 10) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2225 #define PIO_AIMDR_P11 (0x1u << 11) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2226 #define PIO_AIMDR_P12 (0x1u << 12) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2227 #define PIO_AIMDR_P13 (0x1u << 13) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2228 #define PIO_AIMDR_P14 (0x1u << 14) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2229 #define PIO_AIMDR_P15 (0x1u << 15) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2230 #define PIO_AIMDR_P16 (0x1u << 16) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2231 #define PIO_AIMDR_P17 (0x1u << 17) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2232 #define PIO_AIMDR_P18 (0x1u << 18) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2233 #define PIO_AIMDR_P19 (0x1u << 19) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2234 #define PIO_AIMDR_P20 (0x1u << 20) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2235 #define PIO_AIMDR_P21 (0x1u << 21) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2236 #define PIO_AIMDR_P22 (0x1u << 22) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2237 #define PIO_AIMDR_P23 (0x1u << 23) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2238 #define PIO_AIMDR_P24 (0x1u << 24) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2239 #define PIO_AIMDR_P25 (0x1u << 25) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2240 #define PIO_AIMDR_P26 (0x1u << 26) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2241 #define PIO_AIMDR_P27 (0x1u << 27) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2242 #define PIO_AIMDR_P28 (0x1u << 28) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2243 #define PIO_AIMDR_P29 (0x1u << 29) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2244 #define PIO_AIMDR_P30 (0x1u << 30) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2245 #define PIO_AIMDR_P31 (0x1u << 31) /*  (PIO_AIMDR) Additional Interrupt Modes Disable. */
2246 /* -------- PIO_AIMMR : (PIO Offset: 0x00B8) Additional Interrupt Modes Mask Register -------- */
2247 #define PIO_AIMMR_P0 (0x1u << 0) /*  (PIO_AIMMR) Peripheral CD Status. */
2248 #define PIO_AIMMR_P1 (0x1u << 1) /*  (PIO_AIMMR) Peripheral CD Status. */
2249 #define PIO_AIMMR_P2 (0x1u << 2) /*  (PIO_AIMMR) Peripheral CD Status. */
2250 #define PIO_AIMMR_P3 (0x1u << 3) /*  (PIO_AIMMR) Peripheral CD Status. */
2251 #define PIO_AIMMR_P4 (0x1u << 4) /*  (PIO_AIMMR) Peripheral CD Status. */
2252 #define PIO_AIMMR_P5 (0x1u << 5) /*  (PIO_AIMMR) Peripheral CD Status. */
2253 #define PIO_AIMMR_P6 (0x1u << 6) /*  (PIO_AIMMR) Peripheral CD Status. */
2254 #define PIO_AIMMR_P7 (0x1u << 7) /*  (PIO_AIMMR) Peripheral CD Status. */
2255 #define PIO_AIMMR_P8 (0x1u << 8) /*  (PIO_AIMMR) Peripheral CD Status. */
2256 #define PIO_AIMMR_P9 (0x1u << 9) /*  (PIO_AIMMR) Peripheral CD Status. */
2257 #define PIO_AIMMR_P10 (0x1u << 10) /*  (PIO_AIMMR) Peripheral CD Status. */
2258 #define PIO_AIMMR_P11 (0x1u << 11) /*  (PIO_AIMMR) Peripheral CD Status. */
2259 #define PIO_AIMMR_P12 (0x1u << 12) /*  (PIO_AIMMR) Peripheral CD Status. */
2260 #define PIO_AIMMR_P13 (0x1u << 13) /*  (PIO_AIMMR) Peripheral CD Status. */
2261 #define PIO_AIMMR_P14 (0x1u << 14) /*  (PIO_AIMMR) Peripheral CD Status. */
2262 #define PIO_AIMMR_P15 (0x1u << 15) /*  (PIO_AIMMR) Peripheral CD Status. */
2263 #define PIO_AIMMR_P16 (0x1u << 16) /*  (PIO_AIMMR) Peripheral CD Status. */
2264 #define PIO_AIMMR_P17 (0x1u << 17) /*  (PIO_AIMMR) Peripheral CD Status. */
2265 #define PIO_AIMMR_P18 (0x1u << 18) /*  (PIO_AIMMR) Peripheral CD Status. */
2266 #define PIO_AIMMR_P19 (0x1u << 19) /*  (PIO_AIMMR) Peripheral CD Status. */
2267 #define PIO_AIMMR_P20 (0x1u << 20) /*  (PIO_AIMMR) Peripheral CD Status. */
2268 #define PIO_AIMMR_P21 (0x1u << 21) /*  (PIO_AIMMR) Peripheral CD Status. */
2269 #define PIO_AIMMR_P22 (0x1u << 22) /*  (PIO_AIMMR) Peripheral CD Status. */
2270 #define PIO_AIMMR_P23 (0x1u << 23) /*  (PIO_AIMMR) Peripheral CD Status. */
2271 #define PIO_AIMMR_P24 (0x1u << 24) /*  (PIO_AIMMR) Peripheral CD Status. */
2272 #define PIO_AIMMR_P25 (0x1u << 25) /*  (PIO_AIMMR) Peripheral CD Status. */
2273 #define PIO_AIMMR_P26 (0x1u << 26) /*  (PIO_AIMMR) Peripheral CD Status. */
2274 #define PIO_AIMMR_P27 (0x1u << 27) /*  (PIO_AIMMR) Peripheral CD Status. */
2275 #define PIO_AIMMR_P28 (0x1u << 28) /*  (PIO_AIMMR) Peripheral CD Status. */
2276 #define PIO_AIMMR_P29 (0x1u << 29) /*  (PIO_AIMMR) Peripheral CD Status. */
2277 #define PIO_AIMMR_P30 (0x1u << 30) /*  (PIO_AIMMR) Peripheral CD Status. */
2278 #define PIO_AIMMR_P31 (0x1u << 31) /*  (PIO_AIMMR) Peripheral CD Status. */
2279 /* -------- PIO_ESR : (PIO Offset: 0x00C0) Edge Select Register -------- */
2280 #define PIO_ESR_P0 (0x1u << 0) /*  (PIO_ESR) Edge Interrupt Selection. */
2281 #define PIO_ESR_P1 (0x1u << 1) /*  (PIO_ESR) Edge Interrupt Selection. */
2282 #define PIO_ESR_P2 (0x1u << 2) /*  (PIO_ESR) Edge Interrupt Selection. */
2283 #define PIO_ESR_P3 (0x1u << 3) /*  (PIO_ESR) Edge Interrupt Selection. */
2284 #define PIO_ESR_P4 (0x1u << 4) /*  (PIO_ESR) Edge Interrupt Selection. */
2285 #define PIO_ESR_P5 (0x1u << 5) /*  (PIO_ESR) Edge Interrupt Selection. */
2286 #define PIO_ESR_P6 (0x1u << 6) /*  (PIO_ESR) Edge Interrupt Selection. */
2287 #define PIO_ESR_P7 (0x1u << 7) /*  (PIO_ESR) Edge Interrupt Selection. */
2288 #define PIO_ESR_P8 (0x1u << 8) /*  (PIO_ESR) Edge Interrupt Selection. */
2289 #define PIO_ESR_P9 (0x1u << 9) /*  (PIO_ESR) Edge Interrupt Selection. */
2290 #define PIO_ESR_P10 (0x1u << 10) /*  (PIO_ESR) Edge Interrupt Selection. */
2291 #define PIO_ESR_P11 (0x1u << 11) /*  (PIO_ESR) Edge Interrupt Selection. */
2292 #define PIO_ESR_P12 (0x1u << 12) /*  (PIO_ESR) Edge Interrupt Selection. */
2293 #define PIO_ESR_P13 (0x1u << 13) /*  (PIO_ESR) Edge Interrupt Selection. */
2294 #define PIO_ESR_P14 (0x1u << 14) /*  (PIO_ESR) Edge Interrupt Selection. */
2295 #define PIO_ESR_P15 (0x1u << 15) /*  (PIO_ESR) Edge Interrupt Selection. */
2296 #define PIO_ESR_P16 (0x1u << 16) /*  (PIO_ESR) Edge Interrupt Selection. */
2297 #define PIO_ESR_P17 (0x1u << 17) /*  (PIO_ESR) Edge Interrupt Selection. */
2298 #define PIO_ESR_P18 (0x1u << 18) /*  (PIO_ESR) Edge Interrupt Selection. */
2299 #define PIO_ESR_P19 (0x1u << 19) /*  (PIO_ESR) Edge Interrupt Selection. */
2300 #define PIO_ESR_P20 (0x1u << 20) /*  (PIO_ESR) Edge Interrupt Selection. */
2301 #define PIO_ESR_P21 (0x1u << 21) /*  (PIO_ESR) Edge Interrupt Selection. */
2302 #define PIO_ESR_P22 (0x1u << 22) /*  (PIO_ESR) Edge Interrupt Selection. */
2303 #define PIO_ESR_P23 (0x1u << 23) /*  (PIO_ESR) Edge Interrupt Selection. */
2304 #define PIO_ESR_P24 (0x1u << 24) /*  (PIO_ESR) Edge Interrupt Selection. */
2305 #define PIO_ESR_P25 (0x1u << 25) /*  (PIO_ESR) Edge Interrupt Selection. */
2306 #define PIO_ESR_P26 (0x1u << 26) /*  (PIO_ESR) Edge Interrupt Selection. */
2307 #define PIO_ESR_P27 (0x1u << 27) /*  (PIO_ESR) Edge Interrupt Selection. */
2308 #define PIO_ESR_P28 (0x1u << 28) /*  (PIO_ESR) Edge Interrupt Selection. */
2309 #define PIO_ESR_P29 (0x1u << 29) /*  (PIO_ESR) Edge Interrupt Selection. */
2310 #define PIO_ESR_P30 (0x1u << 30) /*  (PIO_ESR) Edge Interrupt Selection. */
2311 #define PIO_ESR_P31 (0x1u << 31) /*  (PIO_ESR) Edge Interrupt Selection. */
2312 /* -------- PIO_LSR : (PIO Offset: 0x00C4) Level Select Register -------- */
2313 #define PIO_LSR_P0 (0x1u << 0) /*  (PIO_LSR) Level Interrupt Selection. */
2314 #define PIO_LSR_P1 (0x1u << 1) /*  (PIO_LSR) Level Interrupt Selection. */
2315 #define PIO_LSR_P2 (0x1u << 2) /*  (PIO_LSR) Level Interrupt Selection. */
2316 #define PIO_LSR_P3 (0x1u << 3) /*  (PIO_LSR) Level Interrupt Selection. */
2317 #define PIO_LSR_P4 (0x1u << 4) /*  (PIO_LSR) Level Interrupt Selection. */
2318 #define PIO_LSR_P5 (0x1u << 5) /*  (PIO_LSR) Level Interrupt Selection. */
2319 #define PIO_LSR_P6 (0x1u << 6) /*  (PIO_LSR) Level Interrupt Selection. */
2320 #define PIO_LSR_P7 (0x1u << 7) /*  (PIO_LSR) Level Interrupt Selection. */
2321 #define PIO_LSR_P8 (0x1u << 8) /*  (PIO_LSR) Level Interrupt Selection. */
2322 #define PIO_LSR_P9 (0x1u << 9) /*  (PIO_LSR) Level Interrupt Selection. */
2323 #define PIO_LSR_P10 (0x1u << 10) /*  (PIO_LSR) Level Interrupt Selection. */
2324 #define PIO_LSR_P11 (0x1u << 11) /*  (PIO_LSR) Level Interrupt Selection. */
2325 #define PIO_LSR_P12 (0x1u << 12) /*  (PIO_LSR) Level Interrupt Selection. */
2326 #define PIO_LSR_P13 (0x1u << 13) /*  (PIO_LSR) Level Interrupt Selection. */
2327 #define PIO_LSR_P14 (0x1u << 14) /*  (PIO_LSR) Level Interrupt Selection. */
2328 #define PIO_LSR_P15 (0x1u << 15) /*  (PIO_LSR) Level Interrupt Selection. */
2329 #define PIO_LSR_P16 (0x1u << 16) /*  (PIO_LSR) Level Interrupt Selection. */
2330 #define PIO_LSR_P17 (0x1u << 17) /*  (PIO_LSR) Level Interrupt Selection. */
2331 #define PIO_LSR_P18 (0x1u << 18) /*  (PIO_LSR) Level Interrupt Selection. */
2332 #define PIO_LSR_P19 (0x1u << 19) /*  (PIO_LSR) Level Interrupt Selection. */
2333 #define PIO_LSR_P20 (0x1u << 20) /*  (PIO_LSR) Level Interrupt Selection. */
2334 #define PIO_LSR_P21 (0x1u << 21) /*  (PIO_LSR) Level Interrupt Selection. */
2335 #define PIO_LSR_P22 (0x1u << 22) /*  (PIO_LSR) Level Interrupt Selection. */
2336 #define PIO_LSR_P23 (0x1u << 23) /*  (PIO_LSR) Level Interrupt Selection. */
2337 #define PIO_LSR_P24 (0x1u << 24) /*  (PIO_LSR) Level Interrupt Selection. */
2338 #define PIO_LSR_P25 (0x1u << 25) /*  (PIO_LSR) Level Interrupt Selection. */
2339 #define PIO_LSR_P26 (0x1u << 26) /*  (PIO_LSR) Level Interrupt Selection. */
2340 #define PIO_LSR_P27 (0x1u << 27) /*  (PIO_LSR) Level Interrupt Selection. */
2341 #define PIO_LSR_P28 (0x1u << 28) /*  (PIO_LSR) Level Interrupt Selection. */
2342 #define PIO_LSR_P29 (0x1u << 29) /*  (PIO_LSR) Level Interrupt Selection. */
2343 #define PIO_LSR_P30 (0x1u << 30) /*  (PIO_LSR) Level Interrupt Selection. */
2344 #define PIO_LSR_P31 (0x1u << 31) /*  (PIO_LSR) Level Interrupt Selection. */
2345 /* -------- PIO_ELSR : (PIO Offset: 0x00C8) Edge/Level Status Register -------- */
2346 #define PIO_ELSR_P0 (0x1u << 0) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2347 #define PIO_ELSR_P1 (0x1u << 1) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2348 #define PIO_ELSR_P2 (0x1u << 2) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2349 #define PIO_ELSR_P3 (0x1u << 3) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2350 #define PIO_ELSR_P4 (0x1u << 4) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2351 #define PIO_ELSR_P5 (0x1u << 5) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2352 #define PIO_ELSR_P6 (0x1u << 6) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2353 #define PIO_ELSR_P7 (0x1u << 7) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2354 #define PIO_ELSR_P8 (0x1u << 8) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2355 #define PIO_ELSR_P9 (0x1u << 9) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2356 #define PIO_ELSR_P10 (0x1u << 10) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2357 #define PIO_ELSR_P11 (0x1u << 11) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2358 #define PIO_ELSR_P12 (0x1u << 12) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2359 #define PIO_ELSR_P13 (0x1u << 13) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2360 #define PIO_ELSR_P14 (0x1u << 14) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2361 #define PIO_ELSR_P15 (0x1u << 15) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2362 #define PIO_ELSR_P16 (0x1u << 16) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2363 #define PIO_ELSR_P17 (0x1u << 17) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2364 #define PIO_ELSR_P18 (0x1u << 18) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2365 #define PIO_ELSR_P19 (0x1u << 19) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2366 #define PIO_ELSR_P20 (0x1u << 20) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2367 #define PIO_ELSR_P21 (0x1u << 21) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2368 #define PIO_ELSR_P22 (0x1u << 22) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2369 #define PIO_ELSR_P23 (0x1u << 23) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2370 #define PIO_ELSR_P24 (0x1u << 24) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2371 #define PIO_ELSR_P25 (0x1u << 25) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2372 #define PIO_ELSR_P26 (0x1u << 26) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2373 #define PIO_ELSR_P27 (0x1u << 27) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2374 #define PIO_ELSR_P28 (0x1u << 28) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2375 #define PIO_ELSR_P29 (0x1u << 29) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2376 #define PIO_ELSR_P30 (0x1u << 30) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2377 #define PIO_ELSR_P31 (0x1u << 31) /*  (PIO_ELSR) Edge/Level Interrupt source selection. */
2378 /* -------- PIO_FELLSR : (PIO Offset: 0x00D0) Falling Edge/Low Level Select Register -------- */
2379 #define PIO_FELLSR_P0 (0x1u << 0) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2380 #define PIO_FELLSR_P1 (0x1u << 1) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2381 #define PIO_FELLSR_P2 (0x1u << 2) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2382 #define PIO_FELLSR_P3 (0x1u << 3) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2383 #define PIO_FELLSR_P4 (0x1u << 4) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2384 #define PIO_FELLSR_P5 (0x1u << 5) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2385 #define PIO_FELLSR_P6 (0x1u << 6) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2386 #define PIO_FELLSR_P7 (0x1u << 7) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2387 #define PIO_FELLSR_P8 (0x1u << 8) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2388 #define PIO_FELLSR_P9 (0x1u << 9) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2389 #define PIO_FELLSR_P10 (0x1u << 10) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2390 #define PIO_FELLSR_P11 (0x1u << 11) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2391 #define PIO_FELLSR_P12 (0x1u << 12) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2392 #define PIO_FELLSR_P13 (0x1u << 13) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2393 #define PIO_FELLSR_P14 (0x1u << 14) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2394 #define PIO_FELLSR_P15 (0x1u << 15) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2395 #define PIO_FELLSR_P16 (0x1u << 16) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2396 #define PIO_FELLSR_P17 (0x1u << 17) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2397 #define PIO_FELLSR_P18 (0x1u << 18) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2398 #define PIO_FELLSR_P19 (0x1u << 19) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2399 #define PIO_FELLSR_P20 (0x1u << 20) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2400 #define PIO_FELLSR_P21 (0x1u << 21) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2401 #define PIO_FELLSR_P22 (0x1u << 22) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2402 #define PIO_FELLSR_P23 (0x1u << 23) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2403 #define PIO_FELLSR_P24 (0x1u << 24) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2404 #define PIO_FELLSR_P25 (0x1u << 25) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2405 #define PIO_FELLSR_P26 (0x1u << 26) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2406 #define PIO_FELLSR_P27 (0x1u << 27) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2407 #define PIO_FELLSR_P28 (0x1u << 28) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2408 #define PIO_FELLSR_P29 (0x1u << 29) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2409 #define PIO_FELLSR_P30 (0x1u << 30) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2410 #define PIO_FELLSR_P31 (0x1u << 31) /*  (PIO_FELLSR) Falling Edge/Low Level Interrupt Selection. */
2411 /* -------- PIO_REHLSR : (PIO Offset: 0x00D4) Rising Edge/ High Level Select Register -------- */
2412 #define PIO_REHLSR_P0 (0x1u << 0) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2413 #define PIO_REHLSR_P1 (0x1u << 1) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2414 #define PIO_REHLSR_P2 (0x1u << 2) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2415 #define PIO_REHLSR_P3 (0x1u << 3) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2416 #define PIO_REHLSR_P4 (0x1u << 4) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2417 #define PIO_REHLSR_P5 (0x1u << 5) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2418 #define PIO_REHLSR_P6 (0x1u << 6) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2419 #define PIO_REHLSR_P7 (0x1u << 7) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2420 #define PIO_REHLSR_P8 (0x1u << 8) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2421 #define PIO_REHLSR_P9 (0x1u << 9) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2422 #define PIO_REHLSR_P10 (0x1u << 10) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2423 #define PIO_REHLSR_P11 (0x1u << 11) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2424 #define PIO_REHLSR_P12 (0x1u << 12) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2425 #define PIO_REHLSR_P13 (0x1u << 13) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2426 #define PIO_REHLSR_P14 (0x1u << 14) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2427 #define PIO_REHLSR_P15 (0x1u << 15) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2428 #define PIO_REHLSR_P16 (0x1u << 16) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2429 #define PIO_REHLSR_P17 (0x1u << 17) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2430 #define PIO_REHLSR_P18 (0x1u << 18) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2431 #define PIO_REHLSR_P19 (0x1u << 19) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2432 #define PIO_REHLSR_P20 (0x1u << 20) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2433 #define PIO_REHLSR_P21 (0x1u << 21) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2434 #define PIO_REHLSR_P22 (0x1u << 22) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2435 #define PIO_REHLSR_P23 (0x1u << 23) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2436 #define PIO_REHLSR_P24 (0x1u << 24) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2437 #define PIO_REHLSR_P25 (0x1u << 25) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2438 #define PIO_REHLSR_P26 (0x1u << 26) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2439 #define PIO_REHLSR_P27 (0x1u << 27) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2440 #define PIO_REHLSR_P28 (0x1u << 28) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2441 #define PIO_REHLSR_P29 (0x1u << 29) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2442 #define PIO_REHLSR_P30 (0x1u << 30) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2443 #define PIO_REHLSR_P31 (0x1u << 31) /*  (PIO_REHLSR) Rising Edge /High Level Interrupt Selection. */
2444 /* -------- PIO_FRLHSR : (PIO Offset: 0x00D8) Fall/Rise - Low/High Status Register -------- */
2445 #define PIO_FRLHSR_P0 (0x1u << 0) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2446 #define PIO_FRLHSR_P1 (0x1u << 1) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2447 #define PIO_FRLHSR_P2 (0x1u << 2) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2448 #define PIO_FRLHSR_P3 (0x1u << 3) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2449 #define PIO_FRLHSR_P4 (0x1u << 4) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2450 #define PIO_FRLHSR_P5 (0x1u << 5) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2451 #define PIO_FRLHSR_P6 (0x1u << 6) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2452 #define PIO_FRLHSR_P7 (0x1u << 7) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2453 #define PIO_FRLHSR_P8 (0x1u << 8) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2454 #define PIO_FRLHSR_P9 (0x1u << 9) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2455 #define PIO_FRLHSR_P10 (0x1u << 10) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2456 #define PIO_FRLHSR_P11 (0x1u << 11) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2457 #define PIO_FRLHSR_P12 (0x1u << 12) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2458 #define PIO_FRLHSR_P13 (0x1u << 13) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2459 #define PIO_FRLHSR_P14 (0x1u << 14) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2460 #define PIO_FRLHSR_P15 (0x1u << 15) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2461 #define PIO_FRLHSR_P16 (0x1u << 16) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2462 #define PIO_FRLHSR_P17 (0x1u << 17) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2463 #define PIO_FRLHSR_P18 (0x1u << 18) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2464 #define PIO_FRLHSR_P19 (0x1u << 19) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2465 #define PIO_FRLHSR_P20 (0x1u << 20) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2466 #define PIO_FRLHSR_P21 (0x1u << 21) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2467 #define PIO_FRLHSR_P22 (0x1u << 22) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2468 #define PIO_FRLHSR_P23 (0x1u << 23) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2469 #define PIO_FRLHSR_P24 (0x1u << 24) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2470 #define PIO_FRLHSR_P25 (0x1u << 25) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2471 #define PIO_FRLHSR_P26 (0x1u << 26) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2472 #define PIO_FRLHSR_P27 (0x1u << 27) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2473 #define PIO_FRLHSR_P28 (0x1u << 28) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2474 #define PIO_FRLHSR_P29 (0x1u << 29) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2475 #define PIO_FRLHSR_P30 (0x1u << 30) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2476 #define PIO_FRLHSR_P31 (0x1u << 31) /*  (PIO_FRLHSR) Edge /Level Interrupt Source Selection. */
2477 /* -------- PIO_LOCKSR : (PIO Offset: 0x00E0) Lock Status -------- */
2478 #define PIO_LOCKSR_P0 (0x1u << 0) /*  (PIO_LOCKSR) Lock Status. */
2479 #define PIO_LOCKSR_P1 (0x1u << 1) /*  (PIO_LOCKSR) Lock Status. */
2480 #define PIO_LOCKSR_P2 (0x1u << 2) /*  (PIO_LOCKSR) Lock Status. */
2481 #define PIO_LOCKSR_P3 (0x1u << 3) /*  (PIO_LOCKSR) Lock Status. */
2482 #define PIO_LOCKSR_P4 (0x1u << 4) /*  (PIO_LOCKSR) Lock Status. */
2483 #define PIO_LOCKSR_P5 (0x1u << 5) /*  (PIO_LOCKSR) Lock Status. */
2484 #define PIO_LOCKSR_P6 (0x1u << 6) /*  (PIO_LOCKSR) Lock Status. */
2485 #define PIO_LOCKSR_P7 (0x1u << 7) /*  (PIO_LOCKSR) Lock Status. */
2486 #define PIO_LOCKSR_P8 (0x1u << 8) /*  (PIO_LOCKSR) Lock Status. */
2487 #define PIO_LOCKSR_P9 (0x1u << 9) /*  (PIO_LOCKSR) Lock Status. */
2488 #define PIO_LOCKSR_P10 (0x1u << 10) /*  (PIO_LOCKSR) Lock Status. */
2489 #define PIO_LOCKSR_P11 (0x1u << 11) /*  (PIO_LOCKSR) Lock Status. */
2490 #define PIO_LOCKSR_P12 (0x1u << 12) /*  (PIO_LOCKSR) Lock Status. */
2491 #define PIO_LOCKSR_P13 (0x1u << 13) /*  (PIO_LOCKSR) Lock Status. */
2492 #define PIO_LOCKSR_P14 (0x1u << 14) /*  (PIO_LOCKSR) Lock Status. */
2493 #define PIO_LOCKSR_P15 (0x1u << 15) /*  (PIO_LOCKSR) Lock Status. */
2494 #define PIO_LOCKSR_P16 (0x1u << 16) /*  (PIO_LOCKSR) Lock Status. */
2495 #define PIO_LOCKSR_P17 (0x1u << 17) /*  (PIO_LOCKSR) Lock Status. */
2496 #define PIO_LOCKSR_P18 (0x1u << 18) /*  (PIO_LOCKSR) Lock Status. */
2497 #define PIO_LOCKSR_P19 (0x1u << 19) /*  (PIO_LOCKSR) Lock Status. */
2498 #define PIO_LOCKSR_P20 (0x1u << 20) /*  (PIO_LOCKSR) Lock Status. */
2499 #define PIO_LOCKSR_P21 (0x1u << 21) /*  (PIO_LOCKSR) Lock Status. */
2500 #define PIO_LOCKSR_P22 (0x1u << 22) /*  (PIO_LOCKSR) Lock Status. */
2501 #define PIO_LOCKSR_P23 (0x1u << 23) /*  (PIO_LOCKSR) Lock Status. */
2502 #define PIO_LOCKSR_P24 (0x1u << 24) /*  (PIO_LOCKSR) Lock Status. */
2503 #define PIO_LOCKSR_P25 (0x1u << 25) /*  (PIO_LOCKSR) Lock Status. */
2504 #define PIO_LOCKSR_P26 (0x1u << 26) /*  (PIO_LOCKSR) Lock Status. */
2505 #define PIO_LOCKSR_P27 (0x1u << 27) /*  (PIO_LOCKSR) Lock Status. */
2506 #define PIO_LOCKSR_P28 (0x1u << 28) /*  (PIO_LOCKSR) Lock Status. */
2507 #define PIO_LOCKSR_P29 (0x1u << 29) /*  (PIO_LOCKSR) Lock Status. */
2508 #define PIO_LOCKSR_P30 (0x1u << 30) /*  (PIO_LOCKSR) Lock Status. */
2509 #define PIO_LOCKSR_P31 (0x1u << 31) /*  (PIO_LOCKSR) Lock Status. */
2510 /* -------- PIO_WPMR : (PIO Offset: 0x00E4) Write Protect Mode Register -------- */
2511 #define PIO_WPMR_WPEN (0x1u << 0) /*  (PIO_WPMR) Write Protect Enable */
2512 #define PIO_WPMR_WPKEY_Pos 8
2513 #define PIO_WPMR_WPKEY_Msk (0xffffffu << PIO_WPMR_WPKEY_Pos) /*  (PIO_WPMR) Write Protect KEY */
2514 #define PIO_WPMR_WPKEY(value) ((PIO_WPMR_WPKEY_Msk & ((value) << PIO_WPMR_WPKEY_Pos)))
2515 /* -------- PIO_WPSR : (PIO Offset: 0x00E8) Write Protect Status Register -------- */
2516 #define PIO_WPSR_WPVS (0x1u << 0) /*  (PIO_WPSR) Write Protect Violation Status */
2517 #define PIO_WPSR_WPVSRC_Pos 8
2518 #define PIO_WPSR_WPVSRC_Msk (0xffffu << PIO_WPSR_WPVSRC_Pos) /*  (PIO_WPSR) Write Protect Violation Source */
2519 /* -------- PIO_SCHMITT : (PIO Offset: 0x0100) Schmitt Trigger Register -------- */
2520 #define PIO_SCHMITT_SCHMITT0 (0x1u << 0) /*  (PIO_SCHMITT)  */
2521 #define PIO_SCHMITT_SCHMITT1 (0x1u << 1) /*  (PIO_SCHMITT)  */
2522 #define PIO_SCHMITT_SCHMITT2 (0x1u << 2) /*  (PIO_SCHMITT)  */
2523 #define PIO_SCHMITT_SCHMITT3 (0x1u << 3) /*  (PIO_SCHMITT)  */
2524 #define PIO_SCHMITT_SCHMITT4 (0x1u << 4) /*  (PIO_SCHMITT)  */
2525 #define PIO_SCHMITT_SCHMITT5 (0x1u << 5) /*  (PIO_SCHMITT)  */
2526 #define PIO_SCHMITT_SCHMITT6 (0x1u << 6) /*  (PIO_SCHMITT)  */
2527 #define PIO_SCHMITT_SCHMITT7 (0x1u << 7) /*  (PIO_SCHMITT)  */
2528 #define PIO_SCHMITT_SCHMITT8 (0x1u << 8) /*  (PIO_SCHMITT)  */
2529 #define PIO_SCHMITT_SCHMITT9 (0x1u << 9) /*  (PIO_SCHMITT)  */
2530 #define PIO_SCHMITT_SCHMITT10 (0x1u << 10) /*  (PIO_SCHMITT)  */
2531 #define PIO_SCHMITT_SCHMITT11 (0x1u << 11) /*  (PIO_SCHMITT)  */
2532 #define PIO_SCHMITT_SCHMITT12 (0x1u << 12) /*  (PIO_SCHMITT)  */
2533 #define PIO_SCHMITT_SCHMITT13 (0x1u << 13) /*  (PIO_SCHMITT)  */
2534 #define PIO_SCHMITT_SCHMITT14 (0x1u << 14) /*  (PIO_SCHMITT)  */
2535 #define PIO_SCHMITT_SCHMITT15 (0x1u << 15) /*  (PIO_SCHMITT)  */
2536 #define PIO_SCHMITT_SCHMITT16 (0x1u << 16) /*  (PIO_SCHMITT)  */
2537 #define PIO_SCHMITT_SCHMITT17 (0x1u << 17) /*  (PIO_SCHMITT)  */
2538 #define PIO_SCHMITT_SCHMITT18 (0x1u << 18) /*  (PIO_SCHMITT)  */
2539 #define PIO_SCHMITT_SCHMITT19 (0x1u << 19) /*  (PIO_SCHMITT)  */
2540 #define PIO_SCHMITT_SCHMITT20 (0x1u << 20) /*  (PIO_SCHMITT)  */
2541 #define PIO_SCHMITT_SCHMITT21 (0x1u << 21) /*  (PIO_SCHMITT)  */
2542 #define PIO_SCHMITT_SCHMITT22 (0x1u << 22) /*  (PIO_SCHMITT)  */
2543 #define PIO_SCHMITT_SCHMITT23 (0x1u << 23) /*  (PIO_SCHMITT)  */
2544 #define PIO_SCHMITT_SCHMITT24 (0x1u << 24) /*  (PIO_SCHMITT)  */
2545 #define PIO_SCHMITT_SCHMITT25 (0x1u << 25) /*  (PIO_SCHMITT)  */
2546 #define PIO_SCHMITT_SCHMITT26 (0x1u << 26) /*  (PIO_SCHMITT)  */
2547 #define PIO_SCHMITT_SCHMITT27 (0x1u << 27) /*  (PIO_SCHMITT)  */
2548 #define PIO_SCHMITT_SCHMITT28 (0x1u << 28) /*  (PIO_SCHMITT)  */
2549 #define PIO_SCHMITT_SCHMITT29 (0x1u << 29) /*  (PIO_SCHMITT)  */
2550 #define PIO_SCHMITT_SCHMITT30 (0x1u << 30) /*  (PIO_SCHMITT)  */
2551 #define PIO_SCHMITT_SCHMITT31 (0x1u << 31) /*  (PIO_SCHMITT)  */
2552
2553
2554
2555 /* ============================================================================= */
2556 /*  SOFTWARE API DEFINITION FOR Pulse Width Modulation Controller */
2557 /* ============================================================================= */
2558
2559 #ifndef __ASSEMBLY__
2560 /* PwmCh_num hardware registers */
2561 typedef struct {
2562   RwReg      PWM_CMR;        /*  (PwmCh_num Offset: 0x0) PWM Channel Mode Register */
2563   RwReg      PWM_CDTY;       /*  (PwmCh_num Offset: 0x4) PWM Channel Duty Cycle Register */
2564   RwReg      PWM_CPRD;       /*  (PwmCh_num Offset: 0x8) PWM Channel Period Register */
2565   RwReg      PWM_CCNT;       /*  (PwmCh_num Offset: 0xC) PWM Channel Counter Register */
2566   RwReg      PWM_CUPD;       /*  (PwmCh_num Offset: 0x10) PWM Channel Update Register */
2567   RwReg      Reserved1[3];  
2568 } PwmCh_num;
2569 /* Pwm hardware registers */
2570 typedef struct {
2571   RwReg      PWM_MR;         /*  (Pwm Offset: 0x00) PWM Mode Register */
2572   WoReg      PWM_ENA;        /*  (Pwm Offset: 0x04) PWM Enable Register */
2573   WoReg      PWM_DIS;        /*  (Pwm Offset: 0x08) PWM Disable Register */
2574   RoReg      PWM_SR;         /*  (Pwm Offset: 0x0C) PWM Status Register */
2575   WoReg      PWM_IER;        /*  (Pwm Offset: 0x10) PWM Interrupt Enable Register */
2576   WoReg      PWM_IDR;        /*  (Pwm Offset: 0x14) PWM Interrupt Disable Register */
2577   RoReg      PWM_IMR;        /*  (Pwm Offset: 0x18) PWM Interrupt Mask Register */
2578   RoReg      PWM_ISR;        /*  (Pwm Offset: 0x1C) PWM Interrupt Status Register */
2579   RwReg      Reserved1[120];
2580   PwmCh_num  PWM_CH_NUM[4];  /*  (Pwm Offset: 0x200) ch_num = 0 .. 3 */
2581 } Pwm;
2582 #endif /* __ASSEMBLY__ */
2583 /* -------- PWM_MR : (PWM Offset: 0x00) PWM Mode Register -------- */
2584 #define PWM_MR_DIVA_Pos 0
2585 #define PWM_MR_DIVA_Msk (0xffu << PWM_MR_DIVA_Pos) /*  (PWM_MR) CLKA, CLKB Divide Factor */
2586 #define   PWM_MR_DIVA_CLK_OFF (0x0u << 0) /*  (PWM_MR) CLKA, CLKB clock is turned off */
2587 #define   PWM_MR_DIVA_CLK_DIV1 (0x1u << 0) /*  (PWM_MR) CLKA, CLKB clock is clock selected by PREA, PREB */
2588 #define PWM_MR_PREA_Pos 8
2589 #define PWM_MR_PREA_Msk (0xfu << PWM_MR_PREA_Pos) /*  (PWM_MR)  */
2590 #define   PWM_MR_PREA_MCK (0x0u << 8) /*  (PWM_MR) Master Clock */
2591 #define   PWM_MR_PREA_MCKDIV2 (0x1u << 8) /*  (PWM_MR) Master Clock divided by 2 */
2592 #define   PWM_MR_PREA_MCKDIV4 (0x2u << 8) /*  (PWM_MR) Master Clock divided by 4 */
2593 #define   PWM_MR_PREA_MCKDIV8 (0x3u << 8) /*  (PWM_MR) Master Clock divided by 8 */
2594 #define   PWM_MR_PREA_MCKDIV16 (0x4u << 8) /*  (PWM_MR) Master Clock divided by 16 */
2595 #define   PWM_MR_PREA_MCKDIV32 (0x5u << 8) /*  (PWM_MR) Master Clock divided by 32 */
2596 #define   PWM_MR_PREA_MCKDIV64 (0x6u << 8) /*  (PWM_MR) Master Clock divided by 64 */
2597 #define   PWM_MR_PREA_MCKDIV128 (0x7u << 8) /*  (PWM_MR) Master Clock divided by 128 */
2598 #define   PWM_MR_PREA_MCKDIV256 (0x8u << 8) /*  (PWM_MR) Master Clock divided by 256 */
2599 #define   PWM_MR_PREA_MCKDIV512 (0x9u << 8) /*  (PWM_MR) Master Clock divided by 512 */
2600 #define   PWM_MR_PREA_MCKDIV1024 (0xAu << 8) /*  (PWM_MR) Master Clock divided by 1024 */
2601 #define PWM_MR_DIVB_Pos 16
2602 #define PWM_MR_DIVB_Msk (0xffu << PWM_MR_DIVB_Pos) /*  (PWM_MR) CLKA, CLKB Divide Factor */
2603 #define   PWM_MR_DIVB_CLK_OFF (0x0u << 16) /*  (PWM_MR) CLKA, CLKB clock is turned off */
2604 #define   PWM_MR_DIVB_CLK_DIV1 (0x1u << 16) /*  (PWM_MR) CLKA, CLKB clock is clock selected by PREA, PREB */
2605 #define PWM_MR_PREB_Pos 24
2606 #define PWM_MR_PREB_Msk (0xfu << PWM_MR_PREB_Pos) /*  (PWM_MR)  */
2607 #define   PWM_MR_PREB_MCK (0x0u << 24) /*  (PWM_MR) Master Clock */
2608 #define   PWM_MR_PREB_MCKDIV2 (0x1u << 24) /*  (PWM_MR) Master Clock divided by 2 */
2609 #define   PWM_MR_PREB_MCKDIV4 (0x2u << 24) /*  (PWM_MR) Master Clock divided by 4 */
2610 #define   PWM_MR_PREB_MCKDIV8 (0x3u << 24) /*  (PWM_MR) Master Clock divided by 8 */
2611 #define   PWM_MR_PREB_MCKDIV16 (0x4u << 24) /*  (PWM_MR) Master Clock divided by 16 */
2612 #define   PWM_MR_PREB_MCKDIV32 (0x5u << 24) /*  (PWM_MR) Master Clock divided by 32 */
2613 #define   PWM_MR_PREB_MCKDIV64 (0x6u << 24) /*  (PWM_MR) Master Clock divided by 64 */
2614 #define   PWM_MR_PREB_MCKDIV128 (0x7u << 24) /*  (PWM_MR) Master Clock divided by 128 */
2615 #define   PWM_MR_PREB_MCKDIV256 (0x8u << 24) /*  (PWM_MR) Master Clock divided by 256 */
2616 #define   PWM_MR_PREB_MCKDIV512 (0x9u << 24) /*  (PWM_MR) Master Clock divided by 512 */
2617 #define   PWM_MR_PREB_MCKDIV1024 (0xAu << 24) /*  (PWM_MR) Master Clock divided by 1024 */
2618 /* -------- PWM_ENA : (PWM Offset: 0x04) PWM Enable Register -------- */
2619 #define PWM_ENA_CHID0 (0x1u << 0) /*  (PWM_ENA) Channel ID */
2620 #define PWM_ENA_CHID1 (0x1u << 1) /*  (PWM_ENA) Channel ID */
2621 #define PWM_ENA_CHID2 (0x1u << 2) /*  (PWM_ENA) Channel ID */
2622 #define PWM_ENA_CHID3 (0x1u << 3) /*  (PWM_ENA) Channel ID */
2623 /* -------- PWM_DIS : (PWM Offset: 0x08) PWM Disable Register -------- */
2624 #define PWM_DIS_CHID0 (0x1u << 0) /*  (PWM_DIS) Channel ID */
2625 #define PWM_DIS_CHID1 (0x1u << 1) /*  (PWM_DIS) Channel ID */
2626 #define PWM_DIS_CHID2 (0x1u << 2) /*  (PWM_DIS) Channel ID */
2627 #define PWM_DIS_CHID3 (0x1u << 3) /*  (PWM_DIS) Channel ID */
2628 /* -------- PWM_SR : (PWM Offset: 0x0C) PWM Status Register -------- */
2629 #define PWM_SR_CHID0 (0x1u << 0) /*  (PWM_SR) Channel ID */
2630 #define PWM_SR_CHID1 (0x1u << 1) /*  (PWM_SR) Channel ID */
2631 #define PWM_SR_CHID2 (0x1u << 2) /*  (PWM_SR) Channel ID */
2632 #define PWM_SR_CHID3 (0x1u << 3) /*  (PWM_SR) Channel ID */
2633 /* -------- PWM_IER : (PWM Offset: 0x10) PWM Interrupt Enable Register -------- */
2634 #define PWM_IER_CHID0 (0x1u << 0) /*  (PWM_IER) Channel ID. */
2635 #define PWM_IER_CHID1 (0x1u << 1) /*  (PWM_IER) Channel ID. */
2636 #define PWM_IER_CHID2 (0x1u << 2) /*  (PWM_IER) Channel ID. */
2637 #define PWM_IER_CHID3 (0x1u << 3) /*  (PWM_IER) Channel ID. */
2638 /* -------- PWM_IDR : (PWM Offset: 0x14) PWM Interrupt Disable Register -------- */
2639 #define PWM_IDR_CHID0 (0x1u << 0) /*  (PWM_IDR) Channel ID. */
2640 #define PWM_IDR_CHID1 (0x1u << 1) /*  (PWM_IDR) Channel ID. */
2641 #define PWM_IDR_CHID2 (0x1u << 2) /*  (PWM_IDR) Channel ID. */
2642 #define PWM_IDR_CHID3 (0x1u << 3) /*  (PWM_IDR) Channel ID. */
2643 /* -------- PWM_IMR : (PWM Offset: 0x18) PWM Interrupt Mask Register -------- */
2644 #define PWM_IMR_CHID0 (0x1u << 0) /*  (PWM_IMR) Channel ID. */
2645 #define PWM_IMR_CHID1 (0x1u << 1) /*  (PWM_IMR) Channel ID. */
2646 #define PWM_IMR_CHID2 (0x1u << 2) /*  (PWM_IMR) Channel ID. */
2647 #define PWM_IMR_CHID3 (0x1u << 3) /*  (PWM_IMR) Channel ID. */
2648 /* -------- PWM_ISR : (PWM Offset: 0x1C) PWM Interrupt Status Register -------- */
2649 #define PWM_ISR_CHID0 (0x1u << 0) /*  (PWM_ISR) Channel ID */
2650 #define PWM_ISR_CHID1 (0x1u << 1) /*  (PWM_ISR) Channel ID */
2651 #define PWM_ISR_CHID2 (0x1u << 2) /*  (PWM_ISR) Channel ID */
2652 #define PWM_ISR_CHID3 (0x1u << 3) /*  (PWM_ISR) Channel ID */
2653 /* -------- PWM_CMR : (PWM Offset: N/A) PWM Channel Mode Register -------- */
2654 #define PWM_CMR_CPRE_Pos 0
2655 #define PWM_CMR_CPRE_Msk (0xfu << PWM_CMR_CPRE_Pos) /*  (PWM_CMR) Channel Pre-scaler */
2656 #define   PWM_CMR_CPRE_MCK (0x0u << 0) /*  (PWM_CMR) Master Clock */
2657 #define   PWM_CMR_CPRE_MCKDIV2 (0x1u << 0) /*  (PWM_CMR) Master Clock divided by 2 */
2658 #define   PWM_CMR_CPRE_MCKDIV4 (0x2u << 0) /*  (PWM_CMR) Master Clock divided by 4 */
2659 #define   PWM_CMR_CPRE_MCKDIV8 (0x3u << 0) /*  (PWM_CMR) Master Clock divided by 8 */
2660 #define   PWM_CMR_CPRE_MCKDIV16 (0x4u << 0) /*  (PWM_CMR) Master Clock divided by 16 */
2661 #define   PWM_CMR_CPRE_MCKDIV32 (0x5u << 0) /*  (PWM_CMR) Master Clock divided by 32 */
2662 #define   PWM_CMR_CPRE_MCKDIV64 (0x6u << 0) /*  (PWM_CMR) Master Clock divided by 64 */
2663 #define   PWM_CMR_CPRE_MCKDIV128 (0x7u << 0) /*  (PWM_CMR) Master Clock divided by 128 */
2664 #define   PWM_CMR_CPRE_MCKDIV256 (0x8u << 0) /*  (PWM_CMR) Master Clock divided by 256 */
2665 #define   PWM_CMR_CPRE_MCKDIV512 (0x9u << 0) /*  (PWM_CMR) Master Clock divided by 512 */
2666 #define   PWM_CMR_CPRE_MCKDIV1024 (0xAu << 0) /*  (PWM_CMR) Master Clock divided by 1024 */
2667 #define   PWM_CMR_CPRE_CLKA (0xBu << 0) /*  (PWM_CMR) Clock A */
2668 #define   PWM_CMR_CPRE_CLKB (0xCu << 0) /*  (PWM_CMR) Clock B */
2669 #define PWM_CMR_CALG (0x1u << 8) /*  (PWM_CMR) Channel Alignment */
2670 #define PWM_CMR_CPOL (0x1u << 9) /*  (PWM_CMR) Channel Polarity */
2671 #define PWM_CMR_CPD (0x1u << 10) /*  (PWM_CMR) Channel Update Period */
2672 /* -------- PWM_CDTY : (PWM Offset: N/A) PWM Channel Duty Cycle Register -------- */
2673 #define PWM_CDTY_CDTY_Pos 0
2674 #define PWM_CDTY_CDTY_Msk (0xffffffffu << PWM_CDTY_CDTY_Pos) /*  (PWM_CDTY) Channel Duty Cycle */
2675 #define PWM_CDTY_CDTY(value) ((PWM_CDTY_CDTY_Msk & ((value) << PWM_CDTY_CDTY_Pos)))
2676 /* -------- PWM_CPRD : (PWM Offset: N/A) PWM Channel Period Register -------- */
2677 #define PWM_CPRD_CPRD_Pos 0
2678 #define PWM_CPRD_CPRD_Msk (0xffffffffu << PWM_CPRD_CPRD_Pos) /*  (PWM_CPRD) Channel Period */
2679 #define PWM_CPRD_CPRD(value) ((PWM_CPRD_CPRD_Msk & ((value) << PWM_CPRD_CPRD_Pos)))
2680 /* -------- PWM_CCNT : (PWM Offset: N/A) PWM Channel Counter Register -------- */
2681 #define PWM_CCNT_CNT_Pos 0
2682 #define PWM_CCNT_CNT_Msk (0xffffffffu << PWM_CCNT_CNT_Pos) /*  (PWM_CCNT) Channel Counter Register */
2683 /* -------- PWM_CUPD : (PWM Offset: N/A) PWM Channel Update Register -------- */
2684 #define PWM_CUPD_CUPD_Pos 0
2685 #define PWM_CUPD_CUPD_Msk (0xffffffffu << PWM_CUPD_CUPD_Pos) /*  (PWM_CUPD)  */
2686 #define PWM_CUPD_CUPD(value) ((PWM_CUPD_CUPD_Msk & ((value) << PWM_CUPD_CUPD_Pos)))
2687
2688
2689 /* ============================================================================= */
2690 /*  SOFTWARE API DEFINITION FOR Reset Controller */
2691 /* ============================================================================= */
2692
2693 #ifndef __ASSEMBLY__
2694 /* Rstc hardware registers */
2695 typedef struct {
2696   WoReg RSTC_CR; /*  (Rstc Offset: 0x00) Control Register */
2697   RoReg RSTC_SR; /*  (Rstc Offset: 0x04) Status Register */
2698   RwReg RSTC_MR; /*  (Rstc Offset: 0x08) Mode Register */
2699 } Rstc;
2700 #endif /* __ASSEMBLY__ */
2701 /* -------- RSTC_CR : (RSTC Offset: 0x00) Control Register -------- */
2702 #define RSTC_CR_PROCRST (0x1u << 0) /*  (RSTC_CR) Processor Reset */
2703 #define RSTC_CR_PERRST (0x1u << 2) /*  (RSTC_CR) Peripheral Reset */
2704 #define RSTC_CR_EXTRST (0x1u << 3) /*  (RSTC_CR) External Reset */
2705 #define RSTC_CR_KEY_Pos 24
2706 #define RSTC_CR_KEY_Msk (0xffu << RSTC_CR_KEY_Pos) /*  (RSTC_CR) Password */
2707 #define RSTC_CR_KEY(value) ((RSTC_CR_KEY_Msk & ((value) << RSTC_CR_KEY_Pos)))
2708 /* -------- RSTC_SR : (RSTC Offset: 0x04) Status Register -------- */
2709 #define RSTC_SR_URSTS (0x1u << 0) /*  (RSTC_SR) User Reset Status */
2710 #define RSTC_SR_RSTTYP_Pos 8
2711 #define RSTC_SR_RSTTYP_Msk (0x7u << RSTC_SR_RSTTYP_Pos) /*  (RSTC_SR) Reset Type */
2712 #define RSTC_SR_NRSTL (0x1u << 16) /*  (RSTC_SR) NRST Pin Level */
2713 #define RSTC_SR_SRCMP (0x1u << 17) /*  (RSTC_SR) Software Reset Command in Progress */
2714 /* -------- RSTC_MR : (RSTC Offset: 0x08) Mode Register -------- */
2715 #define RSTC_MR_URSTEN (0x1u << 0) /*  (RSTC_MR) User Reset Enable */
2716 #define RSTC_MR_URSTIEN (0x1u << 4) /*  (RSTC_MR) User Reset Interrupt Enable */
2717 #define RSTC_MR_ERSTL_Pos 8
2718 #define RSTC_MR_ERSTL_Msk (0xfu << RSTC_MR_ERSTL_Pos) /*  (RSTC_MR) External Reset Length */
2719 #define RSTC_MR_ERSTL(value) ((RSTC_MR_ERSTL_Msk & ((value) << RSTC_MR_ERSTL_Pos)))
2720 #define RSTC_MR_KEY_Pos 24
2721 #define RSTC_MR_KEY_Msk (0xffu << RSTC_MR_KEY_Pos) /*  (RSTC_MR) Password */
2722 #define RSTC_MR_KEY(value) ((RSTC_MR_KEY_Msk & ((value) << RSTC_MR_KEY_Pos)))
2723
2724
2725 /* ============================================================================= */
2726 /*  SOFTWARE API DEFINITION FOR Real-time Clock */
2727 /* ============================================================================= */
2728
2729 #ifndef __ASSEMBLY__
2730 /* Rtc hardware registers */
2731 typedef struct {
2732   RwReg RTC_CR;        /*  (Rtc Offset: 0x00) Control Register */
2733   RwReg RTC_MR;        /*  (Rtc Offset: 0x04) Mode Register */
2734   RwReg RTC_TIMR;      /*  (Rtc Offset: 0x08) Time Register */
2735   RwReg RTC_CALR;      /*  (Rtc Offset: 0x0C) Calendar Register */
2736   RwReg RTC_TIMALR;    /*  (Rtc Offset: 0x10) Time Alarm Register */
2737   RwReg RTC_CALALR;    /*  (Rtc Offset: 0x14) Calendar Alarm Register */
2738   RoReg RTC_SR;        /*  (Rtc Offset: 0x18) Status Register */
2739   WoReg RTC_SCCR;      /*  (Rtc Offset: 0x1C) Status Clear Command Register */
2740   WoReg RTC_IER;       /*  (Rtc Offset: 0x20) Interrupt Enable Register */
2741   WoReg RTC_IDR;       /*  (Rtc Offset: 0x24) Interrupt Disable Register */
2742   RoReg RTC_IMR;       /*  (Rtc Offset: 0x28) Interrupt Mask Register */
2743   RoReg RTC_VER;       /*  (Rtc Offset: 0x2C) Valid Entry Register */
2744   RwReg Reserved1[45];
2745   RwReg RTC_WPMR;      /*  (Rtc Offset: 0xE4) Write Protect Mode Register */
2746 } Rtc;
2747 #endif /* __ASSEMBLY__ */
2748 /* -------- RTC_CR : (RTC Offset: 0x00) Control Register -------- */
2749 #define RTC_CR_UPDTIM (0x1u << 0) /*  (RTC_CR) Update Request Time Register */
2750 #define RTC_CR_UPDCAL (0x1u << 1) /*  (RTC_CR) Update Request Calendar Register */
2751 #define RTC_CR_TIMEVSEL_Pos 8
2752 #define RTC_CR_TIMEVSEL_Msk (0x3u << RTC_CR_TIMEVSEL_Pos) /*  (RTC_CR) Time Event Selection */
2753 #define   RTC_CR_TIMEVSEL_MINUTE (0x0u << 8) /*  (RTC_CR) Minute change */
2754 #define   RTC_CR_TIMEVSEL_HOUR (0x1u << 8) /*  (RTC_CR) Hour change */
2755 #define   RTC_CR_TIMEVSEL_MIDNIGHT (0x2u << 8) /*  (RTC_CR) Every day at midnight */
2756 #define   RTC_CR_TIMEVSEL_NOON (0x3u << 8) /*  (RTC_CR) Every day at noon */
2757 #define RTC_CR_CALEVSEL_Pos 16
2758 #define RTC_CR_CALEVSEL_Msk (0x3u << RTC_CR_CALEVSEL_Pos) /*  (RTC_CR) Calendar Event Selection */
2759 #define   RTC_CR_CALEVSEL_WEEK (0x0u << 16) /*  (RTC_CR) Week change (every Monday at time 00:00:00) */
2760 #define   RTC_CR_CALEVSEL_MONTH (0x1u << 16) /*  (RTC_CR) Month change (every 01 of each month at time 00:00:00) */
2761 #define   RTC_CR_CALEVSEL_YEAR (0x2u << 16) /*  (RTC_CR) Year change (every January 1 at time 00:00:00) */
2762 /* -------- RTC_MR : (RTC Offset: 0x04) Mode Register -------- */
2763 #define RTC_MR_HRMOD (0x1u << 0) /*  (RTC_MR) 12-/24-hour Mode */
2764 /* -------- RTC_TIMR : (RTC Offset: 0x08) Time Register -------- */
2765 #define RTC_TIMR_SEC_Pos 0
2766 #define RTC_TIMR_SEC_Msk (0x7fu << RTC_TIMR_SEC_Pos) /*  (RTC_TIMR) Current Second */
2767 #define RTC_TIMR_SEC(value) ((RTC_TIMR_SEC_Msk & ((value) << RTC_TIMR_SEC_Pos)))
2768 #define RTC_TIMR_MIN_Pos 8
2769 #define RTC_TIMR_MIN_Msk (0x7fu << RTC_TIMR_MIN_Pos) /*  (RTC_TIMR) Current Minute */
2770 #define RTC_TIMR_MIN(value) ((RTC_TIMR_MIN_Msk & ((value) << RTC_TIMR_MIN_Pos)))
2771 #define RTC_TIMR_HOUR_Pos 16
2772 #define RTC_TIMR_HOUR_Msk (0x3fu << RTC_TIMR_HOUR_Pos) /*  (RTC_TIMR) Current Hour */
2773 #define RTC_TIMR_HOUR(value) ((RTC_TIMR_HOUR_Msk & ((value) << RTC_TIMR_HOUR_Pos)))
2774 #define RTC_TIMR_AMPM (0x1u << 22) /*  (RTC_TIMR) Ante Meridiem Post Meridiem Indicator */
2775 /* -------- RTC_CALR : (RTC Offset: 0x0C) Calendar Register -------- */
2776 #define RTC_CALR_CENT_Pos 0
2777 #define RTC_CALR_CENT_Msk (0x7fu << RTC_CALR_CENT_Pos) /*  (RTC_CALR) Current Century */
2778 #define RTC_CALR_CENT(value) ((RTC_CALR_CENT_Msk & ((value) << RTC_CALR_CENT_Pos)))
2779 #define RTC_CALR_YEAR_Pos 8
2780 #define RTC_CALR_YEAR_Msk (0xffu << RTC_CALR_YEAR_Pos) /*  (RTC_CALR) Current Year */
2781 #define RTC_CALR_YEAR(value) ((RTC_CALR_YEAR_Msk & ((value) << RTC_CALR_YEAR_Pos)))
2782 #define RTC_CALR_MONTH_Pos 16
2783 #define RTC_CALR_MONTH_Msk (0x1fu << RTC_CALR_MONTH_Pos) /*  (RTC_CALR) Current Month */
2784 #define RTC_CALR_MONTH(value) ((RTC_CALR_MONTH_Msk & ((value) << RTC_CALR_MONTH_Pos)))
2785 #define RTC_CALR_DAY_Pos 21
2786 #define RTC_CALR_DAY_Msk (0x7u << RTC_CALR_DAY_Pos) /*  (RTC_CALR) Current Day in Current Week */
2787 #define RTC_CALR_DAY(value) ((RTC_CALR_DAY_Msk & ((value) << RTC_CALR_DAY_Pos)))
2788 #define RTC_CALR_DATE_Pos 24
2789 #define RTC_CALR_DATE_Msk (0x3fu << RTC_CALR_DATE_Pos) /*  (RTC_CALR) Current Day in Current Month */
2790 #define RTC_CALR_DATE(value) ((RTC_CALR_DATE_Msk & ((value) << RTC_CALR_DATE_Pos)))
2791 /* -------- RTC_TIMALR : (RTC Offset: 0x10) Time Alarm Register -------- */
2792 #define RTC_TIMALR_SEC_Pos 0
2793 #define RTC_TIMALR_SEC_Msk (0x7fu << RTC_TIMALR_SEC_Pos) /*  (RTC_TIMALR) Second Alarm */
2794 #define RTC_TIMALR_SEC(value) ((RTC_TIMALR_SEC_Msk & ((value) << RTC_TIMALR_SEC_Pos)))
2795 #define RTC_TIMALR_SECEN (0x1u << 7) /*  (RTC_TIMALR) Second Alarm Enable */
2796 #define RTC_TIMALR_MIN_Pos 8
2797 #define RTC_TIMALR_MIN_Msk (0x7fu << RTC_TIMALR_MIN_Pos) /*  (RTC_TIMALR) Minute Alarm */
2798 #define RTC_TIMALR_MIN(value) ((RTC_TIMALR_MIN_Msk & ((value) << RTC_TIMALR_MIN_Pos)))
2799 #define RTC_TIMALR_MINEN (0x1u << 15) /*  (RTC_TIMALR) Minute Alarm Enable */
2800 #define RTC_TIMALR_HOUR_Pos 16
2801 #define RTC_TIMALR_HOUR_Msk (0x3fu << RTC_TIMALR_HOUR_Pos) /*  (RTC_TIMALR) Hour Alarm */
2802 #define RTC_TIMALR_HOUR(value) ((RTC_TIMALR_HOUR_Msk & ((value) << RTC_TIMALR_HOUR_Pos)))
2803 #define RTC_TIMALR_AMPM (0x1u << 22) /*  (RTC_TIMALR) AM/PM Indicator */
2804 #define RTC_TIMALR_HOUREN (0x1u << 23) /*  (RTC_TIMALR) Hour Alarm Enable */
2805 /* -------- RTC_CALALR : (RTC Offset: 0x14) Calendar Alarm Register -------- */
2806 #define RTC_CALALR_MONTH_Pos 16
2807 #define RTC_CALALR_MONTH_Msk (0x1fu << RTC_CALALR_MONTH_Pos) /*  (RTC_CALALR) Month Alarm */
2808 #define RTC_CALALR_MONTH(value) ((RTC_CALALR_MONTH_Msk & ((value) << RTC_CALALR_MONTH_Pos)))
2809 #define RTC_CALALR_MTHEN (0x1u << 23) /*  (RTC_CALALR) Month Alarm Enable */
2810 #define RTC_CALALR_DATE_Pos 24
2811 #define RTC_CALALR_DATE_Msk (0x3fu << RTC_CALALR_DATE_Pos) /*  (RTC_CALALR) Date Alarm */
2812 #define RTC_CALALR_DATE(value) ((RTC_CALALR_DATE_Msk & ((value) << RTC_CALALR_DATE_Pos)))
2813 #define RTC_CALALR_DATEEN (0x1u << 31) /*  (RTC_CALALR) Date Alarm Enable */
2814 /* -------- RTC_SR : (RTC Offset: 0x18) Status Register -------- */
2815 #define RTC_SR_ACKUPD (0x1u << 0) /*  (RTC_SR) Acknowledge for Update */
2816 #define RTC_SR_ALARM (0x1u << 1) /*  (RTC_SR) Alarm Flag */
2817 #define RTC_SR_SEC (0x1u << 2) /*  (RTC_SR) Second Event */
2818 #define RTC_SR_TIMEV (0x1u << 3) /*  (RTC_SR) Time Event */
2819 #define RTC_SR_CALEV (0x1u << 4) /*  (RTC_SR) Calendar Event */
2820 /* -------- RTC_SCCR : (RTC Offset: 0x1C) Status Clear Command Register -------- */
2821 #define RTC_SCCR_ACKCLR (0x1u << 0) /*  (RTC_SCCR) Acknowledge Clear */
2822 #define RTC_SCCR_ALRCLR (0x1u << 1) /*  (RTC_SCCR) Alarm Clear */
2823 #define RTC_SCCR_SECCLR (0x1u << 2) /*  (RTC_SCCR) Second Clear */
2824 #define RTC_SCCR_TIMCLR (0x1u << 3) /*  (RTC_SCCR) Time Clear */
2825 #define RTC_SCCR_CALCLR (0x1u << 4) /*  (RTC_SCCR) Calendar Clear */
2826 /* -------- RTC_IER : (RTC Offset: 0x20) Interrupt Enable Register -------- */
2827 #define RTC_IER_ACKEN (0x1u << 0) /*  (RTC_IER) Acknowledge Update Interrupt Enable */
2828 #define RTC_IER_ALREN (0x1u << 1) /*  (RTC_IER) Alarm Interrupt Enable */
2829 #define RTC_IER_SECEN (0x1u << 2) /*  (RTC_IER) Second Event Interrupt Enable */
2830 #define RTC_IER_TIMEN (0x1u << 3) /*  (RTC_IER) Time Event Interrupt Enable */
2831 #define RTC_IER_CALEN (0x1u << 4) /*  (RTC_IER) Calendar Event Interrupt Enable */
2832 /* -------- RTC_IDR : (RTC Offset: 0x24) Interrupt Disable Register -------- */
2833 #define RTC_IDR_ACKDIS (0x1u << 0) /*  (RTC_IDR) Acknowledge Update Interrupt Disable */
2834 #define RTC_IDR_ALRDIS (0x1u << 1) /*  (RTC_IDR) Alarm Interrupt Disable */
2835 #define RTC_IDR_SECDIS (0x1u << 2) /*  (RTC_IDR) Second Event Interrupt Disable */
2836 #define RTC_IDR_TIMDIS (0x1u << 3) /*  (RTC_IDR) Time Event Interrupt Disable */
2837 #define RTC_IDR_CALDIS (0x1u << 4) /*  (RTC_IDR) Calendar Event Interrupt Disable */
2838 /* -------- RTC_IMR : (RTC Offset: 0x28) Interrupt Mask Register -------- */
2839 #define RTC_IMR_ACK (0x1u << 0) /*  (RTC_IMR) Acknowledge Update Interrupt Mask */
2840 #define RTC_IMR_ALR (0x1u << 1) /*  (RTC_IMR) Alarm Interrupt Mask */
2841 #define RTC_IMR_SEC (0x1u << 2) /*  (RTC_IMR) Second Event Interrupt Mask */
2842 #define RTC_IMR_TIM (0x1u << 3) /*  (RTC_IMR) Time Event Interrupt Mask */
2843 #define RTC_IMR_CAL (0x1u << 4) /*  (RTC_IMR) Calendar Event Interrupt Mask */
2844 /* -------- RTC_VER : (RTC Offset: 0x2C) Valid Entry Register -------- */
2845 #define RTC_VER_NVTIM (0x1u << 0) /*  (RTC_VER) Non-valid Time */
2846 #define RTC_VER_NVCAL (0x1u << 1) /*  (RTC_VER) Non-valid Calendar */
2847 #define RTC_VER_NVTIMALR (0x1u << 2) /*  (RTC_VER) Non-valid Time Alarm */
2848 #define RTC_VER_NVCALALR (0x1u << 3) /*  (RTC_VER) Non-valid Calendar Alarm */
2849 /* -------- RTC_WPMR : (RTC Offset: 0xE4) Write Protect Mode Register -------- */
2850 #define RTC_WPMR_WPEN (0x1u << 0) /*  (RTC_WPMR) Write Protect Enable */
2851 #define RTC_WPMR_WPKEY_Pos 8
2852 #define RTC_WPMR_WPKEY_Msk (0xffffffu << RTC_WPMR_WPKEY_Pos) /*  (RTC_WPMR)  */
2853 #define RTC_WPMR_WPKEY(value) ((RTC_WPMR_WPKEY_Msk & ((value) << RTC_WPMR_WPKEY_Pos)))
2854
2855
2856 /* ============================================================================= */
2857 /*  SOFTWARE API DEFINITION FOR Real-time Timer */
2858 /* ============================================================================= */
2859
2860 #ifndef __ASSEMBLY__
2861 /* Rtt hardware registers */
2862 typedef struct {
2863   RwReg RTT_MR; /*  (Rtt Offset: 0x00) Mode Register */
2864   RwReg RTT_AR; /*  (Rtt Offset: 0x04) Alarm Register */
2865   RoReg RTT_VR; /*  (Rtt Offset: 0x08) Value Register */
2866   RoReg RTT_SR; /*  (Rtt Offset: 0x0C) Status Register */
2867 } Rtt;
2868 #endif /* __ASSEMBLY__ */
2869 /* -------- RTT_MR : (RTT Offset: 0x00) Mode Register -------- */
2870 #define RTT_MR_RTPRES_Pos 0
2871 #define RTT_MR_RTPRES_Msk (0xffffu << RTT_MR_RTPRES_Pos) /*  (RTT_MR) Real-time Timer Prescaler Value */
2872 #define RTT_MR_RTPRES(value) ((RTT_MR_RTPRES_Msk & ((value) << RTT_MR_RTPRES_Pos)))
2873 #define RTT_MR_ALMIEN (0x1u << 16) /*  (RTT_MR) Alarm Interrupt Enable */
2874 #define RTT_MR_RTTINCIEN (0x1u << 17) /*  (RTT_MR) Real-time Timer Increment Interrupt Enable */
2875 #define RTT_MR_RTTRST (0x1u << 18) /*  (RTT_MR) Real-time Timer Restart */
2876 /* -------- RTT_AR : (RTT Offset: 0x04) Alarm Register -------- */
2877 #define RTT_AR_ALMV_Pos 0
2878 #define RTT_AR_ALMV_Msk (0xffffffffu << RTT_AR_ALMV_Pos) /*  (RTT_AR) Alarm Value */
2879 #define RTT_AR_ALMV(value) ((RTT_AR_ALMV_Msk & ((value) << RTT_AR_ALMV_Pos)))
2880 /* -------- RTT_VR : (RTT Offset: 0x08) Value Register -------- */
2881 #define RTT_VR_CRTV_Pos 0
2882 #define RTT_VR_CRTV_Msk (0xffffffffu << RTT_VR_CRTV_Pos) /*  (RTT_VR) Current Real-time Value */
2883 /* -------- RTT_SR : (RTT Offset: 0x0C) Status Register -------- */
2884 #define RTT_SR_ALMS (0x1u << 0) /*  (RTT_SR) Real-time Alarm Status */
2885 #define RTT_SR_RTTINC (0x1u << 1) /*  (RTT_SR) Real-time Timer Increment */
2886
2887
2888 /* ============================================================================= */
2889 /*  SOFTWARE API DEFINITION FOR Serial Peripheral Interface */
2890 /* ============================================================================= */
2891
2892 #ifndef __ASSEMBLY__
2893 /* Spi hardware registers */
2894 typedef struct {
2895   WoReg SPI_CR;        /*  (Spi Offset: 0x00) Control Register */
2896   RwReg SPI_MR;        /*  (Spi Offset: 0x04) Mode Register */
2897   RoReg SPI_RDR;       /*  (Spi Offset: 0x08) Receive Data Register */
2898   WoReg SPI_TDR;       /*  (Spi Offset: 0x0C) Transmit Data Register */
2899   RoReg SPI_SR;        /*  (Spi Offset: 0x10) Status Register */
2900   WoReg SPI_IER;       /*  (Spi Offset: 0x14) Interrupt Enable Register */
2901   WoReg SPI_IDR;       /*  (Spi Offset: 0x18) Interrupt Disable Register */
2902   RoReg SPI_IMR;       /*  (Spi Offset: 0x1C) Interrupt Mask Register */
2903   RwReg Reserved1[4]; 
2904   RwReg SPI_CSR[4];    /*  (Spi Offset: 0x30) Chip Select Register */
2905   RwReg Reserved2[41];
2906   RwReg SPI_WPMR;      /*  (Spi Offset: 0xE4) Write Protection Control Register */
2907   RoReg SPI_WPSR;      /*  (Spi Offset: 0xE8) Write Protection Status Register */
2908   RwReg Reserved3[5]; 
2909   RwReg SPI_RPR;       /*  (Spi Offset: 0x100) Receive Pointer Register */
2910   RwReg SPI_RCR;       /*  (Spi Offset: 0x104) Receive Counter Register */
2911   RwReg SPI_TPR;       /*  (Spi Offset: 0x108) Transmit Pointer Register */
2912   RwReg SPI_TCR;       /*  (Spi Offset: 0x10C) Transmit Counter Register */
2913   RwReg SPI_RNPR;      /*  (Spi Offset: 0x110) Receive Next Pointer Register */
2914   RwReg SPI_RNCR;      /*  (Spi Offset: 0x114) Receive Next Counter Register */
2915   RwReg SPI_TNPR;      /*  (Spi Offset: 0x118) Transmit Next Pointer Register */
2916   RwReg SPI_TNCR;      /*  (Spi Offset: 0x11C) Transmit Next Counter Register */
2917   WoReg SPI_PTCR;      /*  (Spi Offset: 0x120) Transfer Control Register */
2918   RoReg SPI_PTSR;      /*  (Spi Offset: 0x124) Transfer Status Register */
2919 } Spi;
2920 #endif /* __ASSEMBLY__ */
2921 /* -------- SPI_CR : (SPI Offset: 0x00) Control Register -------- */
2922 #define SPI_CR_SPIEN (0x1u << 0) /*  (SPI_CR) SPI Enable */
2923 #define SPI_CR_SPIDIS (0x1u << 1) /*  (SPI_CR) SPI Disable */
2924 #define SPI_CR_SWRST (0x1u << 7) /*  (SPI_CR) SPI Software Reset */
2925 #define SPI_CR_LASTXFER (0x1u << 24) /*  (SPI_CR) Last Transfer */
2926 /* -------- SPI_MR : (SPI Offset: 0x04) Mode Register -------- */
2927 #define SPI_MR_MSTR (0x1u << 0) /*  (SPI_MR) Master/Slave Mode */
2928 #define SPI_MR_PS (0x1u << 1) /*  (SPI_MR) Peripheral Select */
2929 #define SPI_MR_PCSDEC (0x1u << 2) /*  (SPI_MR) Chip Select Decode */
2930 #define SPI_MR_MODFDIS (0x1u << 4) /*  (SPI_MR) Mode Fault Detection */
2931 #define SPI_MR_WDRBT (0x1u << 5) /*  (SPI_MR) Wait Data Read Before Transfer */
2932 #define SPI_MR_LLB (0x1u << 7) /*  (SPI_MR) Local Loopback Enable */
2933 #define SPI_MR_PCS_Pos 16
2934 #define SPI_MR_PCS_Msk (0xfu << SPI_MR_PCS_Pos) /*  (SPI_MR) Peripheral Chip Select */
2935 #define SPI_MR_PCS(value) ((SPI_MR_PCS_Msk & ((value) << SPI_MR_PCS_Pos)))
2936 #define SPI_MR_DLYBCS_Pos 24
2937 #define SPI_MR_DLYBCS_Msk (0xffu << SPI_MR_DLYBCS_Pos) /*  (SPI_MR) Delay Between Chip Selects */
2938 #define SPI_MR_DLYBCS(value) ((SPI_MR_DLYBCS_Msk & ((value) << SPI_MR_DLYBCS_Pos)))
2939 /* -------- SPI_RDR : (SPI Offset: 0x08) Receive Data Register -------- */
2940 #define SPI_RDR_RD_Pos 0
2941 #define SPI_RDR_RD_Msk (0xffffu << SPI_RDR_RD_Pos) /*  (SPI_RDR) Receive Data */
2942 #define SPI_RDR_PCS_Pos 16
2943 #define SPI_RDR_PCS_Msk (0xfu << SPI_RDR_PCS_Pos) /*  (SPI_RDR) Peripheral Chip Select */
2944 /* -------- SPI_TDR : (SPI Offset: 0x0C) Transmit Data Register -------- */
2945 #define SPI_TDR_TD_Pos 0
2946 #define SPI_TDR_TD_Msk (0xffffu << SPI_TDR_TD_Pos) /*  (SPI_TDR) Transmit Data */
2947 #define SPI_TDR_TD(value) ((SPI_TDR_TD_Msk & ((value) << SPI_TDR_TD_Pos)))
2948 #define SPI_TDR_PCS_Pos 16
2949 #define SPI_TDR_PCS_Msk (0xfu << SPI_TDR_PCS_Pos) /*  (SPI_TDR) Peripheral Chip Select */
2950 #define SPI_TDR_PCS(value) ((SPI_TDR_PCS_Msk & ((value) << SPI_TDR_PCS_Pos)))
2951 #define SPI_TDR_LASTXFER (0x1u << 24) /*  (SPI_TDR) Last Transfer */
2952 /* -------- SPI_SR : (SPI Offset: 0x10) Status Register -------- */
2953 #define SPI_SR_RDRF (0x1u << 0) /*  (SPI_SR) Receive Data Register Full */
2954 #define SPI_SR_TDRE (0x1u << 1) /*  (SPI_SR) Transmit Data Register Empty */
2955 #define SPI_SR_MODF (0x1u << 2) /*  (SPI_SR) Mode Fault Error */
2956 #define SPI_SR_OVRES (0x1u << 3) /*  (SPI_SR) Overrun Error Status */
2957 #define SPI_SR_ENDRX (0x1u << 4) /*  (SPI_SR) End of RX buffer */
2958 #define SPI_SR_ENDTX (0x1u << 5) /*  (SPI_SR) End of TX buffer */
2959 #define SPI_SR_RXBUFF (0x1u << 6) /*  (SPI_SR) RX Buffer Full */
2960 #define SPI_SR_TXBUFE (0x1u << 7) /*  (SPI_SR) TX Buffer Empty */
2961 #define SPI_SR_NSSR (0x1u << 8) /*  (SPI_SR) NSS Rising */
2962 #define SPI_SR_TXEMPTY (0x1u << 9) /*  (SPI_SR) Transmission Registers Empty */
2963 #define SPI_SR_UNDES (0x1u << 10) /*  (SPI_SR) Underrun Error Status (Slave Mode Only) */
2964 #define SPI_SR_SPIENS (0x1u << 16) /*  (SPI_SR) SPI Enable Status */
2965 /* -------- SPI_IER : (SPI Offset: 0x14) Interrupt Enable Register -------- */
2966 #define SPI_IER_RDRF (0x1u << 0) /*  (SPI_IER) Receive Data Register Full Interrupt Enable */
2967 #define SPI_IER_TDRE (0x1u << 1) /*  (SPI_IER) SPI Transmit Data Register Empty Interrupt Enable */
2968 #define SPI_IER_MODF (0x1u << 2) /*  (SPI_IER) Mode Fault Error Interrupt Enable */
2969 #define SPI_IER_OVRES (0x1u << 3) /*  (SPI_IER) Overrun Error Interrupt Enable */
2970 #define SPI_IER_ENDRX (0x1u << 4) /*  (SPI_IER) End of Receive Buffer Interrupt Enable */
2971 #define SPI_IER_ENDTX (0x1u << 5) /*  (SPI_IER) End of Transmit Buffer Interrupt Enable */
2972 #define SPI_IER_RXBUFF (0x1u << 6) /*  (SPI_IER) Receive Buffer Full Interrupt Enable */
2973 #define SPI_IER_TXBUFE (0x1u << 7) /*  (SPI_IER) Transmit Buffer Empty Interrupt Enable */
2974 #define SPI_IER_NSSR (0x1u << 8) /*  (SPI_IER) NSS Rising Interrupt Enable */
2975 #define SPI_IER_TXEMPTY (0x1u << 9) /*  (SPI_IER) Transmission Registers Empty Enable */
2976 #define SPI_IER_UNDES (0x1u << 10) /*  (SPI_IER) Underrun Error Interrupt Enable */
2977 /* -------- SPI_IDR : (SPI Offset: 0x18) Interrupt Disable Register -------- */
2978 #define SPI_IDR_RDRF (0x1u << 0) /*  (SPI_IDR) Receive Data Register Full Interrupt Disable */
2979 #define SPI_IDR_TDRE (0x1u << 1) /*  (SPI_IDR) SPI Transmit Data Register Empty Interrupt Disable */
2980 #define SPI_IDR_MODF (0x1u << 2) /*  (SPI_IDR) Mode Fault Error Interrupt Disable */
2981 #define SPI_IDR_OVRES (0x1u << 3) /*  (SPI_IDR) Overrun Error Interrupt Disable */
2982 #define SPI_IDR_ENDRX (0x1u << 4) /*  (SPI_IDR) End of Receive Buffer Interrupt Disable */
2983 #define SPI_IDR_ENDTX (0x1u << 5) /*  (SPI_IDR) End of Transmit Buffer Interrupt Disable */
2984 #define SPI_IDR_RXBUFF (0x1u << 6) /*  (SPI_IDR) Receive Buffer Full Interrupt Disable */
2985 #define SPI_IDR_TXBUFE (0x1u << 7) /*  (SPI_IDR) Transmit Buffer Empty Interrupt Disable */
2986 #define SPI_IDR_NSSR (0x1u << 8) /*  (SPI_IDR) NSS Rising Interrupt Disable */
2987 #define SPI_IDR_TXEMPTY (0x1u << 9) /*  (SPI_IDR) Transmission Registers Empty Disable */
2988 #define SPI_IDR_UNDES (0x1u << 10) /*  (SPI_IDR) Underrun Error Interrupt Disable */
2989 /* -------- SPI_IMR : (SPI Offset: 0x1C) Interrupt Mask Register -------- */
2990 #define SPI_IMR_RDRF (0x1u << 0) /*  (SPI_IMR) Receive Data Register Full Interrupt Mask */
2991 #define SPI_IMR_TDRE (0x1u << 1) /*  (SPI_IMR) SPI Transmit Data Register Empty Interrupt Mask */
2992 #define SPI_IMR_MODF (0x1u << 2) /*  (SPI_IMR) Mode Fault Error Interrupt Mask */
2993 #define SPI_IMR_OVRES (0x1u << 3) /*  (SPI_IMR) Overrun Error Interrupt Mask */
2994 #define SPI_IMR_ENDRX (0x1u << 4) /*  (SPI_IMR) End of Receive Buffer Interrupt Mask */
2995 #define SPI_IMR_ENDTX (0x1u << 5) /*  (SPI_IMR) End of Transmit Buffer Interrupt Mask */
2996 #define SPI_IMR_RXBUFF (0x1u << 6) /*  (SPI_IMR) Receive Buffer Full Interrupt Mask */
2997 #define SPI_IMR_TXBUFE (0x1u << 7) /*  (SPI_IMR) Transmit Buffer Empty Interrupt Mask */
2998 #define SPI_IMR_NSSR (0x1u << 8) /*  (SPI_IMR) NSS Rising Interrupt Mask */
2999 #define SPI_IMR_TXEMPTY (0x1u << 9) /*  (SPI_IMR) Transmission Registers Empty Mask */
3000 #define SPI_IMR_UNDES (0x1u << 10) /*  (SPI_IMR) Underrun Error Interrupt Mask */
3001 /* -------- SPI_CSR[4] : (SPI Offset: 0x30) Chip Select Register -------- */
3002 #define SPI_CSR_CPOL (0x1u << 0) /*  (SPI_CSR[4]) Clock Polarity */
3003 #define SPI_CSR_NCPHA (0x1u << 1) /*  (SPI_CSR[4]) Clock Phase */
3004 #define SPI_CSR_CSNAAT (0x1u << 2) /*  (SPI_CSR[4]) Chip Select Not Active After Transfer (Ignored if CSAAT = 1) */
3005 #define SPI_CSR_CSAAT (0x1u << 3) /*  (SPI_CSR[4]) Chip Select Not Active After Transfer (Ignored if CSAAT = 1) */
3006 #define SPI_CSR_BITS_Pos 4
3007 #define SPI_CSR_BITS_Msk (0xfu << SPI_CSR_BITS_Pos) /*  (SPI_CSR[4]) Bits Per Transfer */
3008 #define   SPI_CSR_BITS_8_BIT (0x0u << 4) /*  (SPI_CSR[4]) 8_bits for transfer */
3009 #define   SPI_CSR_BITS_9_BIT (0x1u << 4) /*  (SPI_CSR[4]) 9_bits for transfer */
3010 #define   SPI_CSR_BITS_10_BIT (0x2u << 4) /*  (SPI_CSR[4]) 8_bits for transfer */
3011 #define   SPI_CSR_BITS_11_BIT (0x3u << 4) /*  (SPI_CSR[4]) 8_bits for transfer */
3012 #define   SPI_CSR_BITS_12_BIT (0x4u << 4) /*  (SPI_CSR[4]) 8_bits for transfer */
3013 #define   SPI_CSR_BITS_13_BIT (0x5u << 4) /*  (SPI_CSR[4]) 8_bits for transfer */
3014 #define   SPI_CSR_BITS_14_BIT (0x6u << 4) /*  (SPI_CSR[4]) 8_bits for transfer */
3015 #define   SPI_CSR_BITS_15_BIT (0x7u << 4) /*  (SPI_CSR[4]) 8_bits for transfer */
3016 #define   SPI_CSR_BITS_16_BIT (0x8u << 4) /*  (SPI_CSR[4]) 8_bits for transfer */
3017 #define SPI_CSR_SCBR_Pos 8
3018 #define SPI_CSR_SCBR_Msk (0xffu << SPI_CSR_SCBR_Pos) /*  (SPI_CSR[4]) Serial Clock Baud Rate */
3019 #define SPI_CSR_SCBR(value) ((SPI_CSR_SCBR_Msk & ((value) << SPI_CSR_SCBR_Pos)))
3020 #define SPI_CSR_DLYBS_Pos 16
3021 #define SPI_CSR_DLYBS_Msk (0xffu << SPI_CSR_DLYBS_Pos) /*  (SPI_CSR[4]) Delay Before SPCK */
3022 #define SPI_CSR_DLYBS(value) ((SPI_CSR_DLYBS_Msk & ((value) << SPI_CSR_DLYBS_Pos)))
3023 #define SPI_CSR_DLYBCT_Pos 24
3024 #define SPI_CSR_DLYBCT_Msk (0xffu << SPI_CSR_DLYBCT_Pos) /*  (SPI_CSR[4]) Delay Between Consecutive Transfers */
3025 #define SPI_CSR_DLYBCT(value) ((SPI_CSR_DLYBCT_Msk & ((value) << SPI_CSR_DLYBCT_Pos)))
3026 /* -------- SPI_WPMR : (SPI Offset: 0xE4) Write Protection Control Register -------- */
3027 #define SPI_WPMR_SPIWPEN (0x1u << 0) /*  (SPI_WPMR) SPI Write Protection Enable */
3028 #define SPI_WPMR_SPIWPKEY_Pos 8
3029 #define SPI_WPMR_SPIWPKEY_Msk (0xffffffu << SPI_WPMR_SPIWPKEY_Pos) /*  (SPI_WPMR) SPI Write Protection Key Password */
3030 #define SPI_WPMR_SPIWPKEY(value) ((SPI_WPMR_SPIWPKEY_Msk & ((value) << SPI_WPMR_SPIWPKEY_Pos)))
3031 /* -------- SPI_WPSR : (SPI Offset: 0xE8) Write Protection Status Register -------- */
3032 #define SPI_WPSR_SPIWPVS_Pos 0
3033 #define SPI_WPSR_SPIWPVS_Msk (0x7u << SPI_WPSR_SPIWPVS_Pos) /*  (SPI_WPSR) SPI Write Protection Violation Status */
3034 #define SPI_WPSR_SPIWPVSRC_Pos 8
3035 #define SPI_WPSR_SPIWPVSRC_Msk (0xffu << SPI_WPSR_SPIWPVSRC_Pos) /*  (SPI_WPSR) SPI Write Protection Violation Source */
3036 /* -------- SPI_RPR : (SPI Offset: 0x100) Receive Pointer Register -------- */
3037 #define SPI_RPR_RXPTR_Pos 0
3038 #define SPI_RPR_RXPTR_Msk (0xffffffffu << SPI_RPR_RXPTR_Pos) /*  (SPI_RPR) Receive Pointer Register */
3039 #define SPI_RPR_RXPTR(value) ((SPI_RPR_RXPTR_Msk & ((value) << SPI_RPR_RXPTR_Pos)))
3040 /* -------- SPI_RCR : (SPI Offset: 0x104) Receive Counter Register -------- */
3041 #define SPI_RCR_RXCTR_Pos 0
3042 #define SPI_RCR_RXCTR_Msk (0xffffu << SPI_RCR_RXCTR_Pos) /*  (SPI_RCR) Receive Counter Register */
3043 #define SPI_RCR_RXCTR(value) ((SPI_RCR_RXCTR_Msk & ((value) << SPI_RCR_RXCTR_Pos)))
3044 /* -------- SPI_TPR : (SPI Offset: 0x108) Transmit Pointer Register -------- */
3045 #define SPI_TPR_TXPTR_Pos 0
3046 #define SPI_TPR_TXPTR_Msk (0xffffffffu << SPI_TPR_TXPTR_Pos) /*  (SPI_TPR) Transmit Counter Register */
3047 #define SPI_TPR_TXPTR(value) ((SPI_TPR_TXPTR_Msk & ((value) << SPI_TPR_TXPTR_Pos)))
3048 /* -------- SPI_TCR : (SPI Offset: 0x10C) Transmit Counter Register -------- */
3049 #define SPI_TCR_TXCTR_Pos 0
3050 #define SPI_TCR_TXCTR_Msk (0xffffu << SPI_TCR_TXCTR_Pos) /*  (SPI_TCR) Transmit Counter Register */
3051 #define SPI_TCR_TXCTR(value) ((SPI_TCR_TXCTR_Msk & ((value) << SPI_TCR_TXCTR_Pos)))
3052 /* -------- SPI_RNPR : (SPI Offset: 0x110) Receive Next Pointer Register -------- */
3053 #define SPI_RNPR_RXNPTR_Pos 0
3054 #define SPI_RNPR_RXNPTR_Msk (0xffffffffu << SPI_RNPR_RXNPTR_Pos) /*  (SPI_RNPR) Receive Next Pointer */
3055 #define SPI_RNPR_RXNPTR(value) ((SPI_RNPR_RXNPTR_Msk & ((value) << SPI_RNPR_RXNPTR_Pos)))
3056 /* -------- SPI_RNCR : (SPI Offset: 0x114) Receive Next Counter Register -------- */
3057 #define SPI_RNCR_RXNCTR_Pos 0
3058 #define SPI_RNCR_RXNCTR_Msk (0xffffu << SPI_RNCR_RXNCTR_Pos) /*  (SPI_RNCR) Receive Next Counter */
3059 #define SPI_RNCR_RXNCTR(value) ((SPI_RNCR_RXNCTR_Msk & ((value) << SPI_RNCR_RXNCTR_Pos)))
3060 /* -------- SPI_TNPR : (SPI Offset: 0x118) Transmit Next Pointer Register -------- */
3061 #define SPI_TNPR_TXNPTR_Pos 0
3062 #define SPI_TNPR_TXNPTR_Msk (0xffffffffu << SPI_TNPR_TXNPTR_Pos) /*  (SPI_TNPR) Transmit Next Pointer */
3063 #define SPI_TNPR_TXNPTR(value) ((SPI_TNPR_TXNPTR_Msk & ((value) << SPI_TNPR_TXNPTR_Pos)))
3064 /* -------- SPI_TNCR : (SPI Offset: 0x11C) Transmit Next Counter Register -------- */
3065 #define SPI_TNCR_TXNCTR_Pos 0
3066 #define SPI_TNCR_TXNCTR_Msk (0xffffu << SPI_TNCR_TXNCTR_Pos) /*  (SPI_TNCR) Transmit Counter Next */
3067 #define SPI_TNCR_TXNCTR(value) ((SPI_TNCR_TXNCTR_Msk & ((value) << SPI_TNCR_TXNCTR_Pos)))
3068 /* -------- SPI_PTCR : (SPI Offset: 0x120) Transfer Control Register -------- */
3069 #define SPI_PTCR_RXTEN (0x1u << 0) /*  (SPI_PTCR) Receiver Transfer Enable */
3070 #define SPI_PTCR_RXTDIS (0x1u << 1) /*  (SPI_PTCR) Receiver Transfer Disable */
3071 #define SPI_PTCR_TXTEN (0x1u << 8) /*  (SPI_PTCR) Transmitter Transfer Enable */
3072 #define SPI_PTCR_TXTDIS (0x1u << 9) /*  (SPI_PTCR) Transmitter Transfer Disable */
3073 /* -------- SPI_PTSR : (SPI Offset: 0x124) Transfer Status Register -------- */
3074 #define SPI_PTSR_RXTEN (0x1u << 0) /*  (SPI_PTSR) Receiver Transfer Enable */
3075 #define SPI_PTSR_TXTEN (0x1u << 8) /*  (SPI_PTSR) Transmitter Transfer Enable */
3076
3077
3078
3079 /* ============================================================================= */
3080 /*  SOFTWARE API DEFINITION FOR Timer Counter */
3081 /* ============================================================================= */
3082
3083 #ifndef __ASSEMBLY__
3084 /* TcChannel hardware registers */
3085 typedef struct {
3086   RwReg      TC_CCR;        /*  (TcChannel Offset: 0x0) Channel Control Register */
3087   RwReg      TC_CMR;        /*  (TcChannel Offset: 0x4) Channel Mode Register */
3088   RwReg      TC_SMMR;       /*  (TcChannel Offset: 0x8) Stepper Motor Mode Register */
3089   RwReg      Reserved1[1]; 
3090   RwReg      TC_CV;         /*  (TcChannel Offset: 0x10) Counter Value */
3091   RwReg      TC_RA;         /*  (TcChannel Offset: 0x14) Register A */
3092   RwReg      TC_RB;         /*  (TcChannel Offset: 0x18) Register B */
3093   RwReg      TC_RC;         /*  (TcChannel Offset: 0x1C) Register C */
3094   RwReg      TC_SR;         /*  (TcChannel Offset: 0x20) Status Register */
3095   RwReg      TC_IER;        /*  (TcChannel Offset: 0x24) Interrupt Enable Register */
3096   RwReg      TC_IDR;        /*  (TcChannel Offset: 0x28) Interrupt Disable Register */
3097   RwReg      TC_IMR;        /*  (TcChannel Offset: 0x2C) Interrupt Mask Register */
3098   RwReg      Reserved2[4]; 
3099 } TcChannel;
3100 /* Tc hardware registers */
3101 typedef struct {
3102   TcChannel  TC_CHANNEL[3]; /*  (Tc Offset: 0x0) channel = 0 .. 2 */
3103   WoReg      TC_BCR;        /*  (Tc Offset: 0xC0) Block Control Register */
3104   RwReg      TC_BMR;        /*  (Tc Offset: 0xC4) Block Mode Register */
3105   WoReg      TC_QIER;       /*  (Tc Offset: 0xC8) QDEC Interrupt Enable Register */
3106   WoReg      TC_QIDR;       /*  (Tc Offset: 0xCC) QDEC Interrupt Disable Register */
3107   RoReg      TC_QIMR;       /*  (Tc Offset: 0xD0) QDEC Interrupt Mask Register */
3108   RoReg      TC_QISR;       /*  (Tc Offset: 0xD4) QDEC Interrupt Status Register */
3109   RwReg      Reserved1[3]; 
3110   RwReg      TC_WPMR;       /*  (Tc Offset: 0xE4) Write Protect Mode Register */
3111 } Tc;
3112 #endif /* __ASSEMBLY__ */
3113 /* -------- TC_CCR : (TC Offset: N/A) Channel Control Register -------- */
3114 #define TC_CCR_CLKEN (0x1u << 0) /*  (TC_CCR) Counter Clock Enable Command */
3115 #define TC_CCR_CLKDIS (0x1u << 1) /*  (TC_CCR) Counter Clock Disable Command */
3116 #define TC_CCR_SWTRG (0x1u << 2) /*  (TC_CCR) Software Trigger Command */
3117 /* -------- TC_CMR : (TC Offset: N/A) Channel Mode Register -------- */
3118 #define TC_CMR_TCCLKS_Pos 0
3119 #define TC_CMR_TCCLKS_Msk (0x7u << TC_CMR_TCCLKS_Pos) /*  (TC_CMR) Clock Selection */
3120 #define   TC_CMR_TCCLKS_TIMER_CLOCK1 (0x0u << 0) /*  (TC_CMR) Clock selected: TCLK1 */
3121 #define   TC_CMR_TCCLKS_TIMER_CLOCK2 (0x1u << 0) /*  (TC_CMR) Clock selected: TCLK2 */
3122 #define   TC_CMR_TCCLKS_TIMER_CLOCK3 (0x2u << 0) /*  (TC_CMR) Clock selected: TCLK3 */
3123 #define   TC_CMR_TCCLKS_TIMER_CLOCK4 (0x3u << 0) /*  (TC_CMR) Clock selected: TCLK4 */
3124 #define   TC_CMR_TCCLKS_TIMER_CLOCK5 (0x4u << 0) /*  (TC_CMR) Clock selected: TCLK5 */
3125 #define   TC_CMR_TCCLKS_XC0 (0x5u << 0) /*  (TC_CMR) Clock selected: XC0 */
3126 #define   TC_CMR_TCCLKS_XC1 (0x6u << 0) /*  (TC_CMR) Clock selected: XC1 */
3127 #define   TC_CMR_TCCLKS_XC2 (0x7u << 0) /*  (TC_CMR) Clock selected: XC2 */
3128 #define TC_CMR_CLKI (0x1u << 3) /*  (TC_CMR) Clock Invert */
3129 #define TC_CMR_BURST_Pos 4
3130 #define TC_CMR_BURST_Msk (0x3u << TC_CMR_BURST_Pos) /*  (TC_CMR) Burst Signal Selection */
3131 #define   TC_CMR_BURST_NONE (0x0u << 4) /*  (TC_CMR) The clock is not gated by an external signal. */
3132 #define   TC_CMR_BURST_XC0 (0x1u << 4) /*  (TC_CMR) XC0 is ANDed with the selected clock. */
3133 #define   TC_CMR_BURST_XC1 (0x2u << 4) /*  (TC_CMR) XC1 is ANDed with the selected clock. */
3134 #define   TC_CMR_BURST_XC2 (0x3u << 4) /*  (TC_CMR) XC2 is ANDed with the selected clock. */
3135 #define TC_CMR_LDBSTOP (0x1u << 6) /*  (TC_CMR) Counter Clock Stopped with RB Loading */
3136 #define TC_CMR_LDBDIS (0x1u << 7) /*  (TC_CMR) Counter Clock Disable with RB Loading */
3137 #define TC_CMR_ETRGEDG_Pos 8
3138 #define TC_CMR_ETRGEDG_Msk (0x3u << TC_CMR_ETRGEDG_Pos) /*  (TC_CMR) External Trigger Edge Selection */
3139 #define   TC_CMR_ETRGEDG_NONE (0x0u << 8) /*  (TC_CMR) The clock is not gated by an external signal. */
3140 #define   TC_CMR_ETRGEDG_RISING (0x1u << 8) /*  (TC_CMR) Rising edge */
3141 #define   TC_CMR_ETRGEDG_FALLING (0x2u << 8) /*  (TC_CMR) Falling edge */
3142 #define   TC_CMR_ETRGEDG_EDGE (0x3u << 8) /*  (TC_CMR) Each edge */
3143 #define TC_CMR_ABETRG (0x1u << 10) /*  (TC_CMR) TIOA or TIOB External Trigger Selection */
3144 #define TC_CMR_CPCTRG (0x1u << 14) /*  (TC_CMR) RC Compare Trigger Enable */
3145 #define TC_CMR_WAVE (0x1u << 15) /*  (TC_CMR)  */
3146 #define TC_CMR_LDRA_Pos 16
3147 #define TC_CMR_LDRA_Msk (0x3u << TC_CMR_LDRA_Pos) /*  (TC_CMR) RA Loading Selection */
3148 #define   TC_CMR_LDRA_NONE (0x0u << 16) /*  (TC_CMR) None */
3149 #define   TC_CMR_LDRA_RISING (0x1u << 16) /*  (TC_CMR) Rising edge of TIOA */
3150 #define   TC_CMR_LDRA_FALLING (0x2u << 16) /*  (TC_CMR) Falling edge of TIOA */
3151 #define   TC_CMR_LDRA_EDGE (0x3u << 16) /*  (TC_CMR) Each edge of TIOA */
3152 #define TC_CMR_LDRB_Pos 18
3153 #define TC_CMR_LDRB_Msk (0x3u << TC_CMR_LDRB_Pos) /*  (TC_CMR) RB Loading Selection */
3154 #define   TC_CMR_LDRB_NONE (0x0u << 18) /*  (TC_CMR) None */
3155 #define   TC_CMR_LDRB_RISING (0x1u << 18) /*  (TC_CMR) Rising edge of TIOA */
3156 #define   TC_CMR_LDRB_FALLING (0x2u << 18) /*  (TC_CMR) Falling edge of TIOA */
3157 #define   TC_CMR_LDRB_EDGE (0x3u << 18) /*  (TC_CMR) Each edge of TIOA */
3158 #define TC_CMR_CPCSTOP (0x1u << 6) /*  (TC_CMR) Counter Clock Stopped with RC Compare */
3159 #define TC_CMR_CPCDIS (0x1u << 7) /*  (TC_CMR) Counter Clock Disable with RC Compare */
3160 #define TC_CMR_EEVTEDG_Pos 8
3161 #define TC_CMR_EEVTEDG_Msk (0x3u << TC_CMR_EEVTEDG_Pos) /*  (TC_CMR) External Event Edge Selection */
3162 #define   TC_CMR_EEVTEDG_NONE (0x0u << 8) /*  (TC_CMR) None */
3163 #define   TC_CMR_EEVTEDG_RISING (0x1u << 8) /*  (TC_CMR) Rising edge */
3164 #define   TC_CMR_EEVTEDG_FALLING (0x2u << 8) /*  (TC_CMR) Falling edge */
3165 #define   TC_CMR_EEVTEDG_EDGE (0x3u << 8) /*  (TC_CMR) Each edge */
3166 #define TC_CMR_EEVT_Pos 10
3167 #define TC_CMR_EEVT_Msk (0x3u << TC_CMR_EEVT_Pos) /*  (TC_CMR) External Event Selection */
3168 #define   TC_CMR_EEVT_TIOB (0x0u << 10) /*  (TC_CMR) TIOB */
3169 #define   TC_CMR_EEVT_XC0 (0x1u << 10) /*  (TC_CMR) XC0 */
3170 #define   TC_CMR_EEVT_XC1 (0x2u << 10) /*  (TC_CMR) XC1 */
3171 #define   TC_CMR_EEVT_XC2 (0x3u << 10) /*  (TC_CMR) XC2 */
3172 #define TC_CMR_ENETRG (0x1u << 12) /*  (TC_CMR) External Event Trigger Enable */
3173 #define TC_CMR_WAVSEL_Pos 13
3174 #define TC_CMR_WAVSEL_Msk (0x3u << TC_CMR_WAVSEL_Pos) /*  (TC_CMR) Waveform Selection */
3175 #define   TC_CMR_WAVSEL_UP (0x0u << 13) /*  (TC_CMR) UP mode without automatic trigger on RC Compare */
3176 #define   TC_CMR_WAVSEL_UPDOWN (0x1u << 13) /*  (TC_CMR) UPDOWN mode without automatic trigger on RC Compare */
3177 #define   TC_CMR_WAVSEL_UP_RC (0x2u << 13) /*  (TC_CMR) UP mode with automatic trigger on RC Compare */
3178 #define   TC_CMR_WAVSEL_UPDOWN_RC (0x3u << 13) /*  (TC_CMR) UPDOWN mode with automatic trigger on RC Compare */
3179 #define TC_CMR_ACPA_Pos 16
3180 #define TC_CMR_ACPA_Msk (0x3u << TC_CMR_ACPA_Pos) /*  (TC_CMR) RA Compare Effect on TIOA */
3181 #define   TC_CMR_ACPA_NONE (0x0u << 16) /*  (TC_CMR) None */
3182 #define   TC_CMR_ACPA_SET (0x1u << 16) /*  (TC_CMR) Set */
3183 #define   TC_CMR_ACPA_CLEAR (0x2u << 16) /*  (TC_CMR) Clear */
3184 #define   TC_CMR_ACPA_TOGGLE (0x3u << 16) /*  (TC_CMR) Toggle */
3185 #define TC_CMR_ACPC_Pos 18
3186 #define TC_CMR_ACPC_Msk (0x3u << TC_CMR_ACPC_Pos) /*  (TC_CMR) RC Compare Effect on TIOA */
3187 #define   TC_CMR_ACPC_NONE (0x0u << 18) /*  (TC_CMR) None */
3188 #define   TC_CMR_ACPC_SET (0x1u << 18) /*  (TC_CMR) Set */
3189 #define   TC_CMR_ACPC_CLEAR (0x2u << 18) /*  (TC_CMR) Clear */
3190 #define   TC_CMR_ACPC_TOGGLE (0x3u << 18) /*  (TC_CMR) Toggle */
3191 #define TC_CMR_AEEVT_Pos 20
3192 #define TC_CMR_AEEVT_Msk (0x3u << TC_CMR_AEEVT_Pos) /*  (TC_CMR) External Event Effect on TIOA */
3193 #define   TC_CMR_AEEVT_NONE (0x0u << 20) /*  (TC_CMR) None */
3194 #define   TC_CMR_AEEVT_SET (0x1u << 20) /*  (TC_CMR) Set */
3195 #define   TC_CMR_AEEVT_CLEAR (0x2u << 20) /*  (TC_CMR) Clear */
3196 #define   TC_CMR_AEEVT_TOGGLE (0x3u << 20) /*  (TC_CMR) Toggle */
3197 #define TC_CMR_ASWTRG_Pos 22
3198 #define TC_CMR_ASWTRG_Msk (0x3u << TC_CMR_ASWTRG_Pos) /*  (TC_CMR) Software Trigger Effect on TIOA */
3199 #define   TC_CMR_ASWTRG_NONE (0x0u << 22) /*  (TC_CMR) None */
3200 #define   TC_CMR_ASWTRG_SET (0x1u << 22) /*  (TC_CMR) Set */
3201 #define   TC_CMR_ASWTRG_CLEAR (0x2u << 22) /*  (TC_CMR) Clear */
3202 #define   TC_CMR_ASWTRG_TOGGLE (0x3u << 22) /*  (TC_CMR) Toggle */
3203 #define TC_CMR_BCPB_Pos 24
3204 #define TC_CMR_BCPB_Msk (0x3u << TC_CMR_BCPB_Pos) /*  (TC_CMR) RB Compare Effect on TIOB */
3205 #define   TC_CMR_BCPB_NONE (0x0u << 24) /*  (TC_CMR) None */
3206 #define   TC_CMR_BCPB_SET (0x1u << 24) /*  (TC_CMR) Set */
3207 #define   TC_CMR_BCPB_CLEAR (0x2u << 24) /*  (TC_CMR) Clear */
3208 #define   TC_CMR_BCPB_TOGGLE (0x3u << 24) /*  (TC_CMR) Toggle */
3209 #define TC_CMR_BCPC_Pos 26
3210 #define TC_CMR_BCPC_Msk (0x3u << TC_CMR_BCPC_Pos) /*  (TC_CMR) RC Compare Effect on TIOB */
3211 #define   TC_CMR_BCPC_NONE (0x0u << 26) /*  (TC_CMR) None */
3212 #define   TC_CMR_BCPC_SET (0x1u << 26) /*  (TC_CMR) Set */
3213 #define   TC_CMR_BCPC_CLEAR (0x2u << 26) /*  (TC_CMR) Clear */
3214 #define   TC_CMR_BCPC_TOGGLE (0x3u << 26) /*  (TC_CMR) Toggle */
3215 #define TC_CMR_BEEVT_Pos 28
3216 #define TC_CMR_BEEVT_Msk (0x3u << TC_CMR_BEEVT_Pos) /*  (TC_CMR) External Event Effect on TIOB */
3217 #define   TC_CMR_BEEVT_NONE (0x0u << 28) /*  (TC_CMR) None */
3218 #define   TC_CMR_BEEVT_SET (0x1u << 28) /*  (TC_CMR) Set */
3219 #define   TC_CMR_BEEVT_CLEAR (0x2u << 28) /*  (TC_CMR) Clear */
3220 #define   TC_CMR_BEEVT_TOGGLE (0x3u << 28) /*  (TC_CMR) Toggle */
3221 #define TC_CMR_BSWTRG_Pos 30
3222 #define TC_CMR_BSWTRG_Msk (0x3u << TC_CMR_BSWTRG_Pos) /*  (TC_CMR) Software Trigger Effect on TIOB */
3223 #define   TC_CMR_BSWTRG_NONE (0x0u << 30) /*  (TC_CMR) None */
3224 #define   TC_CMR_BSWTRG_SET (0x1u << 30) /*  (TC_CMR) Set */
3225 #define   TC_CMR_BSWTRG_CLEAR (0x2u << 30) /*  (TC_CMR) Clear */
3226 #define   TC_CMR_BSWTRG_TOGGLE (0x3u << 30) /*  (TC_CMR) Toggle */
3227 /* -------- TC_SMMR : (TC Offset: N/A) Stepper Motor Mode Register -------- */
3228 #define TC_SMMR_GCEN (0x1u << 0) /*  (TC_SMMR) Gray Count Enable */
3229 #define TC_SMMR_DOWN (0x1u << 1) /*  (TC_SMMR) DOWN Count */
3230 /* -------- TC_CV : (TC Offset: N/A) Counter Value -------- */
3231 #define TC_CV_CV_Pos 0
3232 #define TC_CV_CV_Msk (0xffffffffu << TC_CV_CV_Pos) /*  (TC_CV) Counter Value */
3233 /* -------- TC_RA : (TC Offset: N/A) Register A -------- */
3234 #define TC_RA_RA_Pos 0
3235 #define TC_RA_RA_Msk (0xffffffffu << TC_RA_RA_Pos) /*  (TC_RA) Register A */
3236 #define TC_RA_RA(value) ((TC_RA_RA_Msk & ((value) << TC_RA_RA_Pos)))
3237 /* -------- TC_RB : (TC Offset: N/A) Register B -------- */
3238 #define TC_RB_RB_Pos 0
3239 #define TC_RB_RB_Msk (0xffffffffu << TC_RB_RB_Pos) /*  (TC_RB) Register B */
3240 #define TC_RB_RB(value) ((TC_RB_RB_Msk & ((value) << TC_RB_RB_Pos)))
3241 /* -------- TC_RC : (TC Offset: N/A) Register C -------- */
3242 #define TC_RC_RC_Pos 0
3243 #define TC_RC_RC_Msk (0xffffffffu << TC_RC_RC_Pos) /*  (TC_RC) Register C */
3244 #define TC_RC_RC(value) ((TC_RC_RC_Msk & ((value) << TC_RC_RC_Pos)))
3245 /* -------- TC_SR : (TC Offset: N/A) Status Register -------- */
3246 #define TC_SR_COVFS (0x1u << 0) /*  (TC_SR) Counter Overflow Status */
3247 #define TC_SR_LOVRS (0x1u << 1) /*  (TC_SR) Load Overrun Status */
3248 #define TC_SR_CPAS (0x1u << 2) /*  (TC_SR) RA Compare Status */
3249 #define TC_SR_CPBS (0x1u << 3) /*  (TC_SR) RB Compare Status */
3250 #define TC_SR_CPCS (0x1u << 4) /*  (TC_SR) RC Compare Status */
3251 #define TC_SR_LDRAS (0x1u << 5) /*  (TC_SR) RA Loading Status */
3252 #define TC_SR_LDRBS (0x1u << 6) /*  (TC_SR) RB Loading Status */
3253 #define TC_SR_ETRGS (0x1u << 7) /*  (TC_SR) External Trigger Status */
3254 #define TC_SR_CLKSTA (0x1u << 16) /*  (TC_SR) Clock Enabling Status */
3255 #define TC_SR_MTIOA (0x1u << 17) /*  (TC_SR) TIOA Mirror */
3256 #define TC_SR_MTIOB (0x1u << 18) /*  (TC_SR) TIOB Mirror */
3257 /* -------- TC_IER : (TC Offset: N/A) Interrupt Enable Register -------- */
3258 #define TC_IER_COVFS (0x1u << 0) /*  (TC_IER) Counter Overflow */
3259 #define TC_IER_LOVRS (0x1u << 1) /*  (TC_IER) Load Overrun */
3260 #define TC_IER_CPAS (0x1u << 2) /*  (TC_IER) RA Compare */
3261 #define TC_IER_CPBS (0x1u << 3) /*  (TC_IER) RB Compare */
3262 #define TC_IER_CPCS (0x1u << 4) /*  (TC_IER) RC Compare */
3263 #define TC_IER_LDRAS (0x1u << 5) /*  (TC_IER) RA Loading */
3264 #define TC_IER_LDRBS (0x1u << 6) /*  (TC_IER) RB Loading */
3265 #define TC_IER_ETRGS (0x1u << 7) /*  (TC_IER) External Trigger */
3266 /* -------- TC_IDR : (TC Offset: N/A) Interrupt Disable Register -------- */
3267 #define TC_IDR_COVFS (0x1u << 0) /*  (TC_IDR) Counter Overflow */
3268 #define TC_IDR_LOVRS (0x1u << 1) /*  (TC_IDR) Load Overrun */
3269 #define TC_IDR_CPAS (0x1u << 2) /*  (TC_IDR) RA Compare */
3270 #define TC_IDR_CPBS (0x1u << 3) /*  (TC_IDR) RB Compare */
3271 #define TC_IDR_CPCS (0x1u << 4) /*  (TC_IDR) RC Compare */
3272 #define TC_IDR_LDRAS (0x1u << 5) /*  (TC_IDR) RA Loading */
3273 #define TC_IDR_LDRBS (0x1u << 6) /*  (TC_IDR) RB Loading */
3274 #define TC_IDR_ETRGS (0x1u << 7) /*  (TC_IDR) External Trigger */
3275 /* -------- TC_IMR : (TC Offset: N/A) Interrupt Mask Register -------- */
3276 #define TC_IMR_COVFS (0x1u << 0) /*  (TC_IMR) Counter Overflow */
3277 #define TC_IMR_LOVRS (0x1u << 1) /*  (TC_IMR) Load Overrun */
3278 #define TC_IMR_CPAS (0x1u << 2) /*  (TC_IMR) RA Compare */
3279 #define TC_IMR_CPBS (0x1u << 3) /*  (TC_IMR) RB Compare */
3280 #define TC_IMR_CPCS (0x1u << 4) /*  (TC_IMR) RC Compare */
3281 #define TC_IMR_LDRAS (0x1u << 5) /*  (TC_IMR) RA Loading */
3282 #define TC_IMR_LDRBS (0x1u << 6) /*  (TC_IMR) RB Loading */
3283 #define TC_IMR_ETRGS (0x1u << 7) /*  (TC_IMR) External Trigger */
3284 /* -------- TC_BCR : (TC Offset: 0xC0) Block Control Register -------- */
3285 #define TC_BCR_SYNC (0x1u << 0) /*  (TC_BCR) Synchro Command */
3286 /* -------- TC_BMR : (TC Offset: 0xC4) Block Mode Register -------- */
3287 #define TC_BMR_TC0XC0S_Pos 0
3288 #define TC_BMR_TC0XC0S_Msk (0x3u << TC_BMR_TC0XC0S_Pos) /*  (TC_BMR) External Clock Signal 0 Selection */
3289 #define   TC_BMR_TC0XC0S_TCLK0 (0x0u << 0) /*  (TC_BMR) Signal connected to XC0: TCLK0 */
3290 #define   TC_BMR_TC0XC0S_TIOA1 (0x2u << 0) /*  (TC_BMR) Signal connected to XC0: TIOA1 */
3291 #define   TC_BMR_TC0XC0S_TIOA2 (0x3u << 0) /*  (TC_BMR) Signal connected to XC0: TIOA2 */
3292 #define TC_BMR_TC1XC1S_Pos 2
3293 #define TC_BMR_TC1XC1S_Msk (0x3u << TC_BMR_TC1XC1S_Pos) /*  (TC_BMR) External Clock Signal 1 Selection */
3294 #define   TC_BMR_TC1XC1S_TCLK1 (0x0u << 2) /*  (TC_BMR) Signal connected to XC1: TCLK1 */
3295 #define   TC_BMR_TC1XC1S_TIOA0 (0x2u << 2) /*  (TC_BMR) Signal connected to XC1: TIOA0 */
3296 #define   TC_BMR_TC1XC1S_TIOA2 (0x3u << 2) /*  (TC_BMR) Signal connected to XC1: TIOA2 */
3297 #define TC_BMR_TC2XC2S_Pos 4
3298 #define TC_BMR_TC2XC2S_Msk (0x3u << TC_BMR_TC2XC2S_Pos) /*  (TC_BMR) External Clock Signal 2 Selection */
3299 #define   TC_BMR_TC2XC2S_TCLK2 (0x0u << 4) /*  (TC_BMR) Signal connected to XC2: TCLK2 */
3300 #define   TC_BMR_TC2XC2S_TIOA1 (0x2u << 4) /*  (TC_BMR) Signal connected to XC2: TIOA1 */
3301 #define   TC_BMR_TC2XC2S_TIOA2 (0x3u << 4) /*  (TC_BMR) Signal connected to XC2: TIOA2 */
3302 #define TC_BMR_QDEN (0x1u << 8) /*  (TC_BMR) Quadrature Decoder ENabled */
3303 #define TC_BMR_POSEN (0x1u << 9) /*  (TC_BMR) POSition ENabled */
3304 #define TC_BMR_SPEEDEN (0x1u << 10) /*  (TC_BMR) SPEED ENabled */
3305 #define TC_BMR_QDTRANS (0x1u << 11) /*  (TC_BMR) Quadrature Decoding TRANSparent */
3306 #define TC_BMR_EDGPHA (0x1u << 12) /*  (TC_BMR) EDGe on PHA count mode */
3307 #define TC_BMR_INVA (0x1u << 13) /*  (TC_BMR) INVerted phA */
3308 #define TC_BMR_INVB (0x1u << 14) /*  (TC_BMR) INVerted phB */
3309 #define TC_BMR_INVIDX (0x1u << 15) /*  (TC_BMR) INVerted InDeX */
3310 #define TC_BMR_SWAP (0x1u << 16) /*  (TC_BMR) SWAP PHA and PHB */
3311 #define TC_BMR_IDXPHB (0x1u << 17) /*  (TC_BMR) InDeX pin is PHB pin */
3312 #define TC_BMR_FILTER (0x1u << 19) /*  (TC_BMR)  */
3313 #define TC_BMR_MAXFILT_Pos 20
3314 #define TC_BMR_MAXFILT_Msk (0x3fu << TC_BMR_MAXFILT_Pos) /*  (TC_BMR) MAXimum FILTer */
3315 #define TC_BMR_MAXFILT(value) ((TC_BMR_MAXFILT_Msk & ((value) << TC_BMR_MAXFILT_Pos)))
3316 /* -------- TC_QIER : (TC Offset: 0xC8) QDEC Interrupt Enable Register -------- */
3317 #define TC_QIER_IDX (0x1u << 0) /*  (TC_QIER) InDeX */
3318 #define TC_QIER_DIRCHG (0x1u << 1) /*  (TC_QIER) DIRection CHanGe */
3319 #define TC_QIER_QERR (0x1u << 2) /*  (TC_QIER) Quadrature ERRor */
3320 /* -------- TC_QIDR : (TC Offset: 0xCC) QDEC Interrupt Disable Register -------- */
3321 #define TC_QIDR_IDX (0x1u << 0) /*  (TC_QIDR) InDeX */
3322 #define TC_QIDR_DIRCHG (0x1u << 1) /*  (TC_QIDR) DIRection CHanGe */
3323 #define TC_QIDR_QERR (0x1u << 2) /*  (TC_QIDR) Quadrature ERRor */
3324 /* -------- TC_QIMR : (TC Offset: 0xD0) QDEC Interrupt Mask Register -------- */
3325 #define TC_QIMR_IDX (0x1u << 0) /*  (TC_QIMR) InDeX */
3326 #define TC_QIMR_DIRCHG (0x1u << 1) /*  (TC_QIMR) DIRection CHanGe */
3327 #define TC_QIMR_QERR (0x1u << 2) /*  (TC_QIMR) Quadrature ERRor */
3328 /* -------- TC_QISR : (TC Offset: 0xD4) QDEC Interrupt Status Register -------- */
3329 #define TC_QISR_IDX (0x1u << 0) /*  (TC_QISR) InDeX */
3330 #define TC_QISR_DIRCHG (0x1u << 1) /*  (TC_QISR) DIRection CHanGe */
3331 #define TC_QISR_QERR (0x1u << 2) /*  (TC_QISR) Quadrature ERRor */
3332 #define TC_QISR_DIR (0x1u << 8) /*  (TC_QISR) Direction */
3333 /* -------- TC_WPMR : (TC Offset: 0xE4) Write Protect Mode Register -------- */
3334 #define TC_WPMR_WPEN (0x1u << 0) /*  (TC_WPMR) Write Protect Enable */
3335 #define TC_WPMR_WPKEY_Pos 8
3336 #define TC_WPMR_WPKEY_Msk (0xffffffu << TC_WPMR_WPKEY_Pos) /*  (TC_WPMR) Write Protect KEY */
3337 #define TC_WPMR_WPKEY(value) ((TC_WPMR_WPKEY_Msk & ((value) << TC_WPMR_WPKEY_Pos)))
3338
3339
3340 /* ============================================================================= */
3341 /*  SOFTWARE API DEFINITION FOR Two-wire Interface */
3342 /* ============================================================================= */
3343
3344 #ifndef __ASSEMBLY__
3345 /* Twi hardware registers */
3346 typedef struct {
3347   WoReg TWI_CR;        /*  (Twi Offset: 0x00) Control Register */
3348   RwReg TWI_MMR;       /*  (Twi Offset: 0x04) Master Mode Register */
3349   RwReg TWI_SMR;       /*  (Twi Offset: 0x08) Slave Mode Register */
3350   RwReg TWI_IADR;      /*  (Twi Offset: 0x0C) Internal Address Register */
3351   RwReg TWI_CWGR;      /*  (Twi Offset: 0x10) Clock Waveform Generator Register */
3352   RwReg Reserved1[3]; 
3353   RoReg TWI_SR;        /*  (Twi Offset: 0x20) Status Register */
3354   WoReg TWI_IER;       /*  (Twi Offset: 0x24) Interrupt Enable Register */
3355   WoReg TWI_IDR;       /*  (Twi Offset: 0x28) Interrupt Disable Register */
3356   RoReg TWI_IMR;       /*  (Twi Offset: 0x2C) Interrupt Mask Register */
3357   RoReg TWI_RHR;       /*  (Twi Offset: 0x30) Receive Holding Register */
3358   WoReg TWI_THR;       /*  (Twi Offset: 0x34) Transmit Holding Register */
3359   RwReg Reserved2[50];
3360   RwReg TWI_RPR;       /*  (Twi Offset: 0x100) Receive Pointer Register */
3361   RwReg TWI_RCR;       /*  (Twi Offset: 0x104) Receive Counter Register */
3362   RwReg TWI_TPR;       /*  (Twi Offset: 0x108) Transmit Pointer Register */
3363   RwReg TWI_TCR;       /*  (Twi Offset: 0x10C) Transmit Counter Register */
3364   RwReg TWI_RNPR;      /*  (Twi Offset: 0x110) Receive Next Pointer Register */
3365   RwReg TWI_RNCR;      /*  (Twi Offset: 0x114) Receive Next Counter Register */
3366   RwReg TWI_TNPR;      /*  (Twi Offset: 0x118) Transmit Next Pointer Register */
3367   RwReg TWI_TNCR;      /*  (Twi Offset: 0x11C) Transmit Next Counter Register */
3368   WoReg TWI_PTCR;      /*  (Twi Offset: 0x120) Transfer Control Register */
3369   RoReg TWI_PTSR;      /*  (Twi Offset: 0x124) Transfer Status Register */
3370 } Twi;
3371 #endif /* __ASSEMBLY__ */
3372 /* -------- TWI_CR : (TWI Offset: 0x00) Control Register -------- */
3373 #define TWI_CR_START (0x1u << 0) /*  (TWI_CR) Send a START Condition */
3374 #define TWI_CR_STOP (0x1u << 1) /*  (TWI_CR) Send a STOP Condition */
3375 #define TWI_CR_MSEN (0x1u << 2) /*  (TWI_CR) TWI Master Mode Enabled */
3376 #define TWI_CR_MSDIS (0x1u << 3) /*  (TWI_CR) TWI Master Mode Disabled */
3377 #define TWI_CR_SVEN (0x1u << 4) /*  (TWI_CR) TWI Slave Mode Enabled */
3378 #define TWI_CR_SVDIS (0x1u << 5) /*  (TWI_CR) TWI Slave Mode Disabled */
3379 #define TWI_CR_QUICK (0x1u << 6) /*  (TWI_CR) SMBUS Quick Command */
3380 #define TWI_CR_SWRST (0x1u << 7) /*  (TWI_CR) Software Reset */
3381 /* -------- TWI_MMR : (TWI Offset: 0x04) Master Mode Register -------- */
3382 #define TWI_MMR_IADRSZ_Pos 8
3383 #define TWI_MMR_IADRSZ_Msk (0x3u << TWI_MMR_IADRSZ_Pos) /*  (TWI_MMR) Internal Device Address Size */
3384 #define   TWI_MMR_IADRSZ_NONE (0x0u << 8) /*  (TWI_MMR) No internal device address */
3385 #define   TWI_MMR_IADRSZ_1_BYTE (0x1u << 8) /*  (TWI_MMR) One-byte internal device address */
3386 #define   TWI_MMR_IADRSZ_2_BYTE (0x2u << 8) /*  (TWI_MMR) Two-byte internal device address */
3387 #define   TWI_MMR_IADRSZ_3_BYTE (0x3u << 8) /*  (TWI_MMR) Three-byte internal device address */
3388 #define TWI_MMR_MREAD (0x1u << 12) /*  (TWI_MMR) Master Read Direction */
3389 #define TWI_MMR_DADR_Pos 16
3390 #define TWI_MMR_DADR_Msk (0x7fu << TWI_MMR_DADR_Pos) /*  (TWI_MMR) Device Address */
3391 #define TWI_MMR_DADR(value) ((TWI_MMR_DADR_Msk & ((value) << TWI_MMR_DADR_Pos)))
3392 /* -------- TWI_SMR : (TWI Offset: 0x08) Slave Mode Register -------- */
3393 #define TWI_SMR_SADR_Pos 16
3394 #define TWI_SMR_SADR_Msk (0x7fu << TWI_SMR_SADR_Pos) /*  (TWI_SMR) Slave Address */
3395 #define TWI_SMR_SADR(value) ((TWI_SMR_SADR_Msk & ((value) << TWI_SMR_SADR_Pos)))
3396 /* -------- TWI_IADR : (TWI Offset: 0x0C) Internal Address Register -------- */
3397 #define TWI_IADR_IADR_Pos 0
3398 #define TWI_IADR_IADR_Msk (0xffffffu << TWI_IADR_IADR_Pos) /*  (TWI_IADR) Internal Address */
3399 #define TWI_IADR_IADR(value) ((TWI_IADR_IADR_Msk & ((value) << TWI_IADR_IADR_Pos)))
3400 /* -------- TWI_CWGR : (TWI Offset: 0x10) Clock Waveform Generator Register -------- */
3401 #define TWI_CWGR_CLDIV_Pos 0
3402 #define TWI_CWGR_CLDIV_Msk (0xffu << TWI_CWGR_CLDIV_Pos) /*  (TWI_CWGR) Clock Low Divider */
3403 #define TWI_CWGR_CLDIV(value) ((TWI_CWGR_CLDIV_Msk & ((value) << TWI_CWGR_CLDIV_Pos)))
3404 #define TWI_CWGR_CHDIV_Pos 8
3405 #define TWI_CWGR_CHDIV_Msk (0xffu << TWI_CWGR_CHDIV_Pos) /*  (TWI_CWGR) Clock High Divider */
3406 #define TWI_CWGR_CHDIV(value) ((TWI_CWGR_CHDIV_Msk & ((value) << TWI_CWGR_CHDIV_Pos)))
3407 #define TWI_CWGR_CKDIV_Pos 16
3408 #define TWI_CWGR_CKDIV_Msk (0x7u << TWI_CWGR_CKDIV_Pos) /*  (TWI_CWGR) Clock Divider */
3409 #define TWI_CWGR_CKDIV(value) ((TWI_CWGR_CKDIV_Msk & ((value) << TWI_CWGR_CKDIV_Pos)))
3410 /* -------- TWI_SR : (TWI Offset: 0x20) Status Register -------- */
3411 #define TWI_SR_TXCOMP (0x1u << 0) /*  (TWI_SR) Transmission Completed (automatically set / reset) */
3412 #define TWI_SR_RXRDY (0x1u << 1) /*  (TWI_SR) Receive Holding Register Ready (automatically set / reset) */
3413 #define TWI_SR_TXRDY (0x1u << 2) /*  (TWI_SR) Transmit Holding Register Ready (automatically set / reset) */
3414 #define TWI_SR_SVREAD (0x1u << 3) /*  (TWI_SR) Slave Read (automatically set / reset) */
3415 #define TWI_SR_SVACC (0x1u << 4) /*  (TWI_SR) Slave Access (automatically set / reset) */
3416 #define TWI_SR_GACC (0x1u << 5) /*  (TWI_SR) General Call Access (clear on read) */
3417 #define TWI_SR_OVRE (0x1u << 6) /*  (TWI_SR) Overrun Error (clear on read) */
3418 #define TWI_SR_NACK (0x1u << 8) /*  (TWI_SR) Not Acknowledged (clear on read) */
3419 #define TWI_SR_ARBLST (0x1u << 9) /*  (TWI_SR) Arbitration Lost (clear on read) */
3420 #define TWI_SR_SCLWS (0x1u << 10) /*  (TWI_SR) Clock Wait State (automatically set / reset) */
3421 #define TWI_SR_EOSACC (0x1u << 11) /*  (TWI_SR) End Of Slave Access (clear on read) */
3422 #define TWI_SR_ENDRX (0x1u << 12) /*  (TWI_SR) End of RX buffer */
3423 #define TWI_SR_ENDTX (0x1u << 13) /*  (TWI_SR) End of TX buffer */
3424 #define TWI_SR_RXBUFF (0x1u << 14) /*  (TWI_SR) RX Buffer Full */
3425 #define TWI_SR_TXBUFE (0x1u << 15) /*  (TWI_SR) TX Buffer Empty */
3426 /* -------- TWI_IER : (TWI Offset: 0x24) Interrupt Enable Register -------- */
3427 #define TWI_IER_TXCOMP (0x1u << 0) /*  (TWI_IER) Transmission Completed Interrupt Enable */
3428 #define TWI_IER_RXRDY (0x1u << 1) /*  (TWI_IER) Receive Holding Register Ready Interrupt Enable */
3429 #define TWI_IER_TXRDY (0x1u << 2) /*  (TWI_IER) Transmit Holding Register Ready Interrupt Enable */
3430 #define TWI_IER_SVACC (0x1u << 4) /*  (TWI_IER) Slave Access Interrupt Enable */
3431 #define TWI_IER_GACC (0x1u << 5) /*  (TWI_IER) General Call Access Interrupt Enable */
3432 #define TWI_IER_OVRE (0x1u << 6) /*  (TWI_IER) Overrun Error Interrupt Enable */
3433 #define TWI_IER_NACK (0x1u << 8) /*  (TWI_IER) Not Acknowledge Interrupt Enable */
3434 #define TWI_IER_ARBLST (0x1u << 9) /*  (TWI_IER) Arbitration Lost Interrupt Enable */
3435 #define TWI_IER_SCL_WS (0x1u << 10) /*  (TWI_IER) Clock Wait State Interrupt Enable */
3436 #define TWI_IER_EOSACC (0x1u << 11) /*  (TWI_IER) End Of Slave Access Interrupt Enable */
3437 #define TWI_IER_ENDRX (0x1u << 12) /*  (TWI_IER) End of Receive Buffer Interrupt Enable */
3438 #define TWI_IER_ENDTX (0x1u << 13) /*  (TWI_IER) End of Transmit Buffer Interrupt Enable */
3439 #define TWI_IER_RXBUFF (0x1u << 14) /*  (TWI_IER) Receive Buffer Full Interrupt Enable */
3440 #define TWI_IER_TXBUFE (0x1u << 15) /*  (TWI_IER) Transmit Buffer Empty Interrupt Enable */
3441 /* -------- TWI_IDR : (TWI Offset: 0x28) Interrupt Disable Register -------- */
3442 #define TWI_IDR_TXCOMP (0x1u << 0) /*  (TWI_IDR) Transmission Completed Interrupt Disable */
3443 #define TWI_IDR_RXRDY (0x1u << 1) /*  (TWI_IDR) Receive Holding Register Ready Interrupt Disable */
3444 #define TWI_IDR_TXRDY (0x1u << 2) /*  (TWI_IDR) Transmit Holding Register Ready Interrupt Disable */
3445 #define TWI_IDR_SVACC (0x1u << 4) /*  (TWI_IDR) Slave Access Interrupt Disable */
3446 #define TWI_IDR_GACC (0x1u << 5) /*  (TWI_IDR) General Call Access Interrupt Disable */
3447 #define TWI_IDR_OVRE (0x1u << 6) /*  (TWI_IDR) Overrun Error Interrupt Disable */
3448 #define TWI_IDR_NACK (0x1u << 8) /*  (TWI_IDR) Not Acknowledge Interrupt Disable */
3449 #define TWI_IDR_ARBLST (0x1u << 9) /*  (TWI_IDR) Arbitration Lost Interrupt Disable */
3450 #define TWI_IDR_SCL_WS (0x1u << 10) /*  (TWI_IDR) Clock Wait State Interrupt Disable */
3451 #define TWI_IDR_EOSACC (0x1u << 11) /*  (TWI_IDR) End Of Slave Access Interrupt Disable */
3452 #define TWI_IDR_ENDRX (0x1u << 12) /*  (TWI_IDR) End of Receive Buffer Interrupt Disable */
3453 #define TWI_IDR_ENDTX (0x1u << 13) /*  (TWI_IDR) End of Transmit Buffer Interrupt Disable */
3454 #define TWI_IDR_RXBUFF (0x1u << 14) /*  (TWI_IDR) Receive Buffer Full Interrupt Disable */
3455 #define TWI_IDR_TXBUFE (0x1u << 15) /*  (TWI_IDR) Transmit Buffer Empty Interrupt Disable */
3456 /* -------- TWI_IMR : (TWI Offset: 0x2C) Interrupt Mask Register -------- */
3457 #define TWI_IMR_TXCOMP (0x1u << 0) /*  (TWI_IMR) Transmission Completed Interrupt Mask */
3458 #define TWI_IMR_RXRDY (0x1u << 1) /*  (TWI_IMR) Receive Holding Register Ready Interrupt Mask */
3459 #define TWI_IMR_TXRDY (0x1u << 2) /*  (TWI_IMR) Transmit Holding Register Ready Interrupt Mask */
3460 #define TWI_IMR_SVACC (0x1u << 4) /*  (TWI_IMR) Slave Access Interrupt Mask */
3461 #define TWI_IMR_GACC (0x1u << 5) /*  (TWI_IMR) General Call Access Interrupt Mask */
3462 #define TWI_IMR_OVRE (0x1u << 6) /*  (TWI_IMR) Overrun Error Interrupt Mask */
3463 #define TWI_IMR_NACK (0x1u << 8) /*  (TWI_IMR) Not Acknowledge Interrupt Mask */
3464 #define TWI_IMR_ARBLST (0x1u << 9) /*  (TWI_IMR) Arbitration Lost Interrupt Mask */
3465 #define TWI_IMR_SCL_WS (0x1u << 10) /*  (TWI_IMR) Clock Wait State Interrupt Mask */
3466 #define TWI_IMR_EOSACC (0x1u << 11) /*  (TWI_IMR) End Of Slave Access Interrupt Mask */
3467 #define TWI_IMR_ENDRX (0x1u << 12) /*  (TWI_IMR) End of Receive Buffer Interrupt Mask */
3468 #define TWI_IMR_ENDTX (0x1u << 13) /*  (TWI_IMR) End of Transmit Buffer Interrupt Mask */
3469 #define TWI_IMR_RXBUFF (0x1u << 14) /*  (TWI_IMR) Receive Buffer Full Interrupt Mask */
3470 #define TWI_IMR_TXBUFE (0x1u << 15) /*  (TWI_IMR) Transmit Buffer Empty Interrupt Mask */
3471 /* -------- TWI_RHR : (TWI Offset: 0x30) Receive Holding Register -------- */
3472 #define TWI_RHR_RXDATA_Pos 0
3473 #define TWI_RHR_RXDATA_Msk (0xffu << TWI_RHR_RXDATA_Pos) /*  (TWI_RHR) Master or Slave Receive Holding Data */
3474 /* -------- TWI_THR : (TWI Offset: 0x34) Transmit Holding Register -------- */
3475 #define TWI_THR_TXDATA_Pos 0
3476 #define TWI_THR_TXDATA_Msk (0xffu << TWI_THR_TXDATA_Pos) /*  (TWI_THR) Master or Slave Transmit Holding Data */
3477 #define TWI_THR_TXDATA(value) ((TWI_THR_TXDATA_Msk & ((value) << TWI_THR_TXDATA_Pos)))
3478 /* -------- TWI_RPR : (TWI Offset: 0x100) Receive Pointer Register -------- */
3479 #define TWI_RPR_RXPTR_Pos 0
3480 #define TWI_RPR_RXPTR_Msk (0xffffffffu << TWI_RPR_RXPTR_Pos) /*  (TWI_RPR) Receive Pointer Register */
3481 #define TWI_RPR_RXPTR(value) ((TWI_RPR_RXPTR_Msk & ((value) << TWI_RPR_RXPTR_Pos)))
3482 /* -------- TWI_RCR : (TWI Offset: 0x104) Receive Counter Register -------- */
3483 #define TWI_RCR_RXCTR_Pos 0
3484 #define TWI_RCR_RXCTR_Msk (0xffffu << TWI_RCR_RXCTR_Pos) /*  (TWI_RCR) Receive Counter Register */
3485 #define TWI_RCR_RXCTR(value) ((TWI_RCR_RXCTR_Msk & ((value) << TWI_RCR_RXCTR_Pos)))
3486 /* -------- TWI_TPR : (TWI Offset: 0x108) Transmit Pointer Register -------- */
3487 #define TWI_TPR_TXPTR_Pos 0
3488 #define TWI_TPR_TXPTR_Msk (0xffffffffu << TWI_TPR_TXPTR_Pos) /*  (TWI_TPR) Transmit Counter Register */
3489 #define TWI_TPR_TXPTR(value) ((TWI_TPR_TXPTR_Msk & ((value) << TWI_TPR_TXPTR_Pos)))
3490 /* -------- TWI_TCR : (TWI Offset: 0x10C) Transmit Counter Register -------- */
3491 #define TWI_TCR_TXCTR_Pos 0
3492 #define TWI_TCR_TXCTR_Msk (0xffffu << TWI_TCR_TXCTR_Pos) /*  (TWI_TCR) Transmit Counter Register */
3493 #define TWI_TCR_TXCTR(value) ((TWI_TCR_TXCTR_Msk & ((value) << TWI_TCR_TXCTR_Pos)))
3494 /* -------- TWI_RNPR : (TWI Offset: 0x110) Receive Next Pointer Register -------- */
3495 #define TWI_RNPR_RXNPTR_Pos 0
3496 #define TWI_RNPR_RXNPTR_Msk (0xffffffffu << TWI_RNPR_RXNPTR_Pos) /*  (TWI_RNPR) Receive Next Pointer */
3497 #define TWI_RNPR_RXNPTR(value) ((TWI_RNPR_RXNPTR_Msk & ((value) << TWI_RNPR_RXNPTR_Pos)))
3498 /* -------- TWI_RNCR : (TWI Offset: 0x114) Receive Next Counter Register -------- */
3499 #define TWI_RNCR_RXNCTR_Pos 0
3500 #define TWI_RNCR_RXNCTR_Msk (0xffffu << TWI_RNCR_RXNCTR_Pos) /*  (TWI_RNCR) Receive Next Counter */
3501 #define TWI_RNCR_RXNCTR(value) ((TWI_RNCR_RXNCTR_Msk & ((value) << TWI_RNCR_RXNCTR_Pos)))
3502 /* -------- TWI_TNPR : (TWI Offset: 0x118) Transmit Next Pointer Register -------- */
3503 #define TWI_TNPR_TXNPTR_Pos 0
3504 #define TWI_TNPR_TXNPTR_Msk (0xffffffffu << TWI_TNPR_TXNPTR_Pos) /*  (TWI_TNPR) Transmit Next Pointer */
3505 #define TWI_TNPR_TXNPTR(value) ((TWI_TNPR_TXNPTR_Msk & ((value) << TWI_TNPR_TXNPTR_Pos)))
3506 /* -------- TWI_TNCR : (TWI Offset: 0x11C) Transmit Next Counter Register -------- */
3507 #define TWI_TNCR_TXNCTR_Pos 0
3508 #define TWI_TNCR_TXNCTR_Msk (0xffffu << TWI_TNCR_TXNCTR_Pos) /*  (TWI_TNCR) Transmit Counter Next */
3509 #define TWI_TNCR_TXNCTR(value) ((TWI_TNCR_TXNCTR_Msk & ((value) << TWI_TNCR_TXNCTR_Pos)))
3510 /* -------- TWI_PTCR : (TWI Offset: 0x120) Transfer Control Register -------- */
3511 #define TWI_PTCR_RXTEN (0x1u << 0) /*  (TWI_PTCR) Receiver Transfer Enable */
3512 #define TWI_PTCR_RXTDIS (0x1u << 1) /*  (TWI_PTCR) Receiver Transfer Disable */
3513 #define TWI_PTCR_TXTEN (0x1u << 8) /*  (TWI_PTCR) Transmitter Transfer Enable */
3514 #define TWI_PTCR_TXTDIS (0x1u << 9) /*  (TWI_PTCR) Transmitter Transfer Disable */
3515 /* -------- TWI_PTSR : (TWI Offset: 0x124) Transfer Status Register -------- */
3516 #define TWI_PTSR_RXTEN (0x1u << 0) /*  (TWI_PTSR) Receiver Transfer Enable */
3517 #define TWI_PTSR_TXTEN (0x1u << 8) /*  (TWI_PTSR) Transmitter Transfer Enable */
3518
3519
3520
3521
3522 /* ************************************************************************** */
3523 /*   REGISTER ACCESS DEFINITIONS FOR SAM3N */
3524 /* ************************************************************************** */
3525
3526 /* ========== Register definition for SPI peripheral ========== */
3527 #define REG_SPI_CR         REG_ACCESS(WoReg, 0x40008000U) /*  (SPI) Control Register */
3528 #define REG_SPI_MR         REG_ACCESS(RwReg, 0x40008004U) /*  (SPI) Mode Register */
3529 #define REG_SPI_RDR        REG_ACCESS(RoReg, 0x40008008U) /*  (SPI) Receive Data Register */
3530 #define REG_SPI_TDR        REG_ACCESS(WoReg, 0x4000800CU) /*  (SPI) Transmit Data Register */
3531 #define REG_SPI_SR         REG_ACCESS(RoReg, 0x40008010U) /*  (SPI) Status Register */
3532 #define REG_SPI_IER        REG_ACCESS(WoReg, 0x40008014U) /*  (SPI) Interrupt Enable Register */
3533 #define REG_SPI_IDR        REG_ACCESS(WoReg, 0x40008018U) /*  (SPI) Interrupt Disable Register */
3534 #define REG_SPI_IMR        REG_ACCESS(RoReg, 0x4000801CU) /*  (SPI) Interrupt Mask Register */
3535 #define REG_SPI_CSR        REG_ACCESS(RwReg, 0x40008030U) /*  (SPI) Chip Select Register */
3536 #define REG_SPI_WPMR       REG_ACCESS(RwReg, 0x400080E4U) /*  (SPI) Write Protection Control Register */
3537 #define REG_SPI_WPSR       REG_ACCESS(RoReg, 0x400080E8U) /*  (SPI) Write Protection Status Register */
3538 #define REG_SPI_RPR        REG_ACCESS(RwReg, 0x40008100U) /*  (SPI) Receive Pointer Register */
3539 #define REG_SPI_RCR        REG_ACCESS(RwReg, 0x40008104U) /*  (SPI) Receive Counter Register */
3540 #define REG_SPI_TPR        REG_ACCESS(RwReg, 0x40008108U) /*  (SPI) Transmit Pointer Register */
3541 #define REG_SPI_TCR        REG_ACCESS(RwReg, 0x4000810CU) /*  (SPI) Transmit Counter Register */
3542 #define REG_SPI_RNPR       REG_ACCESS(RwReg, 0x40008110U) /*  (SPI) Receive Next Pointer Register */
3543 #define REG_SPI_RNCR       REG_ACCESS(RwReg, 0x40008114U) /*  (SPI) Receive Next Counter Register */
3544 #define REG_SPI_TNPR       REG_ACCESS(RwReg, 0x40008118U) /*  (SPI) Transmit Next Pointer Register */
3545 #define REG_SPI_TNCR       REG_ACCESS(RwReg, 0x4000811CU) /*  (SPI) Transmit Next Counter Register */
3546 #define REG_SPI_PTCR       REG_ACCESS(WoReg, 0x40008120U) /*  (SPI) Transfer Control Register */
3547 #define REG_SPI_PTSR       REG_ACCESS(RoReg, 0x40008124U) /*  (SPI) Transfer Status Register */
3548 /* ========== Register definition for TC0 peripheral ========== */
3549 #define REG_TC0_CCR0       REG_ACCESS(WoReg, 0x40010000U) /*  (TC0) Channel Control Register (channel = 0) */
3550 #define REG_TC0_CMR0       REG_ACCESS(RwReg, 0x40010004U) /*  (TC0) Channel Mode Register (channel = 0) */
3551 #define REG_TC0_SMMR0      REG_ACCESS(RwReg, 0x40010008U) /*  (TC0) Stepper Motor Mode Register (channel = 0) */
3552 #define REG_TC0_CV0        REG_ACCESS(RoReg, 0x40010010U) /*  (TC0) Counter Value (channel = 0) */
3553 #define REG_TC0_RA0        REG_ACCESS(RwReg, 0x40010014U) /*  (TC0) Register A (channel = 0) */
3554 #define REG_TC0_RB0        REG_ACCESS(RwReg, 0x40010018U) /*  (TC0) Register B (channel = 0) */
3555 #define REG_TC0_RC0        REG_ACCESS(RwReg, 0x4001001CU) /*  (TC0) Register C (channel = 0) */
3556 #define REG_TC0_SR0        REG_ACCESS(RoReg, 0x40010020U) /*  (TC0) Status Register (channel = 0) */
3557 #define REG_TC0_IER0       REG_ACCESS(WoReg, 0x40010024U) /*  (TC0) Interrupt Enable Register (channel = 0) */
3558 #define REG_TC0_IDR0       REG_ACCESS(WoReg, 0x40010028U) /*  (TC0) Interrupt Disable Register (channel = 0) */
3559 #define REG_TC0_IMR0       REG_ACCESS(RoReg, 0x4001002CU) /*  (TC0) Interrupt Mask Register (channel = 0) */
3560 #define REG_TC0_CCR1       REG_ACCESS(WoReg, 0x40010040U) /*  (TC0) Channel Control Register (channel = 1) */
3561 #define REG_TC0_CMR1       REG_ACCESS(RwReg, 0x40010044U) /*  (TC0) Channel Mode Register (channel = 1) */
3562 #define REG_TC0_SMMR1      REG_ACCESS(RwReg, 0x40010048U) /*  (TC0) Stepper Motor Mode Register (channel = 1) */
3563 #define REG_TC0_CV1        REG_ACCESS(RoReg, 0x40010050U) /*  (TC0) Counter Value (channel = 1) */
3564 #define REG_TC0_RA1        REG_ACCESS(RwReg, 0x40010054U) /*  (TC0) Register A (channel = 1) */
3565 #define REG_TC0_RB1        REG_ACCESS(RwReg, 0x40010058U) /*  (TC0) Register B (channel = 1) */
3566 #define REG_TC0_RC1        REG_ACCESS(RwReg, 0x4001005CU) /*  (TC0) Register C (channel = 1) */
3567 #define REG_TC0_SR1        REG_ACCESS(RoReg, 0x40010060U) /*  (TC0) Status Register (channel = 1) */
3568 #define REG_TC0_IER1       REG_ACCESS(WoReg, 0x40010064U) /*  (TC0) Interrupt Enable Register (channel = 1) */
3569 #define REG_TC0_IDR1       REG_ACCESS(WoReg, 0x40010068U) /*  (TC0) Interrupt Disable Register (channel = 1) */
3570 #define REG_TC0_IMR1       REG_ACCESS(RoReg, 0x4001006CU) /*  (TC0) Interrupt Mask Register (channel = 1) */
3571 #define REG_TC0_CCR2       REG_ACCESS(WoReg, 0x40010080U) /*  (TC0) Channel Control Register (channel = 2) */
3572 #define REG_TC0_CMR2       REG_ACCESS(RwReg, 0x40010084U) /*  (TC0) Channel Mode Register (channel = 2) */
3573 #define REG_TC0_SMMR2      REG_ACCESS(RwReg, 0x40010088U) /*  (TC0) Stepper Motor Mode Register (channel = 2) */
3574 #define REG_TC0_CV2        REG_ACCESS(RoReg, 0x40010090U) /*  (TC0) Counter Value (channel = 2) */
3575 #define REG_TC0_RA2        REG_ACCESS(RwReg, 0x40010094U) /*  (TC0) Register A (channel = 2) */
3576 #define REG_TC0_RB2        REG_ACCESS(RwReg, 0x40010098U) /*  (TC0) Register B (channel = 2) */
3577 #define REG_TC0_RC2        REG_ACCESS(RwReg, 0x4001009CU) /*  (TC0) Register C (channel = 2) */
3578 #define REG_TC0_SR2        REG_ACCESS(RoReg, 0x400100A0U) /*  (TC0) Status Register (channel = 2) */
3579 #define REG_TC0_IER2       REG_ACCESS(WoReg, 0x400100A4U) /*  (TC0) Interrupt Enable Register (channel = 2) */
3580 #define REG_TC0_IDR2       REG_ACCESS(WoReg, 0x400100A8U) /*  (TC0) Interrupt Disable Register (channel = 2) */
3581 #define REG_TC0_IMR2       REG_ACCESS(RoReg, 0x400100ACU) /*  (TC0) Interrupt Mask Register (channel = 2) */
3582 #define REG_TC0_BCR        REG_ACCESS(WoReg, 0x400100C0U) /*  (TC0) Block Control Register */
3583 #define REG_TC0_BMR        REG_ACCESS(RwReg, 0x400100C4U) /*  (TC0) Block Mode Register */
3584 #define REG_TC0_QIER       REG_ACCESS(WoReg, 0x400100C8U) /*  (TC0) QDEC Interrupt Enable Register */
3585 #define REG_TC0_QIDR       REG_ACCESS(WoReg, 0x400100CCU) /*  (TC0) QDEC Interrupt Disable Register */
3586 #define REG_TC0_QIMR       REG_ACCESS(RoReg, 0x400100D0U) /*  (TC0) QDEC Interrupt Mask Register */
3587 #define REG_TC0_QISR       REG_ACCESS(RoReg, 0x400100D4U) /*  (TC0) QDEC Interrupt Status Register */
3588 #define REG_TC0_WPMR       REG_ACCESS(RwReg, 0x400100E4U) /*  (TC0) Write Protect Mode Register */
3589 /* ========== Register definition for TC1 peripheral ========== */
3590 #define REG_TC1_CCR0       REG_ACCESS(WoReg, 0x40014000U) /*  (TC1) Channel Control Register (channel = 0) */
3591 #define REG_TC1_CMR0       REG_ACCESS(RwReg, 0x40014004U) /*  (TC1) Channel Mode Register (channel = 0) */
3592 #define REG_TC1_SMMR0      REG_ACCESS(RwReg, 0x40014008U) /*  (TC1) Stepper Motor Mode Register (channel = 0) */
3593 #define REG_TC1_CV0        REG_ACCESS(RoReg, 0x40014010U) /*  (TC1) Counter Value (channel = 0) */
3594 #define REG_TC1_RA0        REG_ACCESS(RwReg, 0x40014014U) /*  (TC1) Register A (channel = 0) */
3595 #define REG_TC1_RB0        REG_ACCESS(RwReg, 0x40014018U) /*  (TC1) Register B (channel = 0) */
3596 #define REG_TC1_RC0        REG_ACCESS(RwReg, 0x4001401CU) /*  (TC1) Register C (channel = 0) */
3597 #define REG_TC1_SR0        REG_ACCESS(RoReg, 0x40014020U) /*  (TC1) Status Register (channel = 0) */
3598 #define REG_TC1_IER0       REG_ACCESS(WoReg, 0x40014024U) /*  (TC1) Interrupt Enable Register (channel = 0) */
3599 #define REG_TC1_IDR0       REG_ACCESS(WoReg, 0x40014028U) /*  (TC1) Interrupt Disable Register (channel = 0) */
3600 #define REG_TC1_IMR0       REG_ACCESS(RoReg, 0x4001402CU) /*  (TC1) Interrupt Mask Register (channel = 0) */
3601 #define REG_TC1_CCR1       REG_ACCESS(WoReg, 0x40014040U) /*  (TC1) Channel Control Register (channel = 1) */
3602 #define REG_TC1_CMR1       REG_ACCESS(RwReg, 0x40014044U) /*  (TC1) Channel Mode Register (channel = 1) */
3603 #define REG_TC1_SMMR1      REG_ACCESS(RwReg, 0x40014048U) /*  (TC1) Stepper Motor Mode Register (channel = 1) */
3604 #define REG_TC1_CV1        REG_ACCESS(RoReg, 0x40014050U) /*  (TC1) Counter Value (channel = 1) */
3605 #define REG_TC1_RA1        REG_ACCESS(RwReg, 0x40014054U) /*  (TC1) Register A (channel = 1) */
3606 #define REG_TC1_RB1        REG_ACCESS(RwReg, 0x40014058U) /*  (TC1) Register B (channel = 1) */
3607 #define REG_TC1_RC1        REG_ACCESS(RwReg, 0x4001405CU) /*  (TC1) Register C (channel = 1) */
3608 #define REG_TC1_SR1        REG_ACCESS(RoReg, 0x40014060U) /*  (TC1) Status Register (channel = 1) */
3609 #define REG_TC1_IER1       REG_ACCESS(WoReg, 0x40014064U) /*  (TC1) Interrupt Enable Register (channel = 1) */
3610 #define REG_TC1_IDR1       REG_ACCESS(WoReg, 0x40014068U) /*  (TC1) Interrupt Disable Register (channel = 1) */
3611 #define REG_TC1_IMR1       REG_ACCESS(RoReg, 0x4001406CU) /*  (TC1) Interrupt Mask Register (channel = 1) */
3612 #define REG_TC1_CCR2       REG_ACCESS(WoReg, 0x40014080U) /*  (TC1) Channel Control Register (channel = 2) */
3613 #define REG_TC1_CMR2       REG_ACCESS(RwReg, 0x40014084U) /*  (TC1) Channel Mode Register (channel = 2) */
3614 #define REG_TC1_SMMR2      REG_ACCESS(RwReg, 0x40014088U) /*  (TC1) Stepper Motor Mode Register (channel = 2) */
3615 #define REG_TC1_CV2        REG_ACCESS(RoReg, 0x40014090U) /*  (TC1) Counter Value (channel = 2) */
3616 #define REG_TC1_RA2        REG_ACCESS(RwReg, 0x40014094U) /*  (TC1) Register A (channel = 2) */
3617 #define REG_TC1_RB2        REG_ACCESS(RwReg, 0x40014098U) /*  (TC1) Register B (channel = 2) */
3618 #define REG_TC1_RC2        REG_ACCESS(RwReg, 0x4001409CU) /*  (TC1) Register C (channel = 2) */
3619 #define REG_TC1_SR2        REG_ACCESS(RoReg, 0x400140A0U) /*  (TC1) Status Register (channel = 2) */
3620 #define REG_TC1_IER2       REG_ACCESS(WoReg, 0x400140A4U) /*  (TC1) Interrupt Enable Register (channel = 2) */
3621 #define REG_TC1_IDR2       REG_ACCESS(WoReg, 0x400140A8U) /*  (TC1) Interrupt Disable Register (channel = 2) */
3622 #define REG_TC1_IMR2       REG_ACCESS(RoReg, 0x400140ACU) /*  (TC1) Interrupt Mask Register (channel = 2) */
3623 #define REG_TC1_BCR        REG_ACCESS(WoReg, 0x400140C0U) /*  (TC1) Block Control Register */
3624 #define REG_TC1_BMR        REG_ACCESS(RwReg, 0x400140C4U) /*  (TC1) Block Mode Register */
3625 #define REG_TC1_QIER       REG_ACCESS(WoReg, 0x400140C8U) /*  (TC1) QDEC Interrupt Enable Register */
3626 #define REG_TC1_QIDR       REG_ACCESS(WoReg, 0x400140CCU) /*  (TC1) QDEC Interrupt Disable Register */
3627 #define REG_TC1_QIMR       REG_ACCESS(RoReg, 0x400140D0U) /*  (TC1) QDEC Interrupt Mask Register */
3628 #define REG_TC1_QISR       REG_ACCESS(RoReg, 0x400140D4U) /*  (TC1) QDEC Interrupt Status Register */
3629 #define REG_TC1_WPMR       REG_ACCESS(RwReg, 0x400140E4U) /*  (TC1) Write Protect Mode Register */
3630 /* ========== Register definition for TWI0 peripheral ========== */
3631 #define REG_TWI0_CR        REG_ACCESS(WoReg, 0x40018000U) /*  (TWI0) Control Register */
3632 #define REG_TWI0_MMR       REG_ACCESS(RwReg, 0x40018004U) /*  (TWI0) Master Mode Register */
3633 #define REG_TWI0_SMR       REG_ACCESS(RwReg, 0x40018008U) /*  (TWI0) Slave Mode Register */
3634 #define REG_TWI0_IADR      REG_ACCESS(RwReg, 0x4001800CU) /*  (TWI0) Internal Address Register */
3635 #define REG_TWI0_CWGR      REG_ACCESS(RwReg, 0x40018010U) /*  (TWI0) Clock Waveform Generator Register */
3636 #define REG_TWI0_SR        REG_ACCESS(RoReg, 0x40018020U) /*  (TWI0) Status Register */
3637 #define REG_TWI0_IER       REG_ACCESS(WoReg, 0x40018024U) /*  (TWI0) Interrupt Enable Register */
3638 #define REG_TWI0_IDR       REG_ACCESS(WoReg, 0x40018028U) /*  (TWI0) Interrupt Disable Register */
3639 #define REG_TWI0_IMR       REG_ACCESS(RoReg, 0x4001802CU) /*  (TWI0) Interrupt Mask Register */
3640 #define REG_TWI0_RHR       REG_ACCESS(RoReg, 0x40018030U) /*  (TWI0) Receive Holding Register */
3641 #define REG_TWI0_THR       REG_ACCESS(WoReg, 0x40018034U) /*  (TWI0) Transmit Holding Register */
3642 #define REG_TWI0_RPR       REG_ACCESS(RwReg, 0x40018100U) /*  (TWI0) Receive Pointer Register */
3643 #define REG_TWI0_RCR       REG_ACCESS(RwReg, 0x40018104U) /*  (TWI0) Receive Counter Register */
3644 #define REG_TWI0_TPR       REG_ACCESS(RwReg, 0x40018108U) /*  (TWI0) Transmit Pointer Register */
3645 #define REG_TWI0_TCR       REG_ACCESS(RwReg, 0x4001810CU) /*  (TWI0) Transmit Counter Register */
3646 #define REG_TWI0_RNPR      REG_ACCESS(RwReg, 0x40018110U) /*  (TWI0) Receive Next Pointer Register */
3647 #define REG_TWI0_RNCR      REG_ACCESS(RwReg, 0x40018114U) /*  (TWI0) Receive Next Counter Register */
3648 #define REG_TWI0_TNPR      REG_ACCESS(RwReg, 0x40018118U) /*  (TWI0) Transmit Next Pointer Register */
3649 #define REG_TWI0_TNCR      REG_ACCESS(RwReg, 0x4001811CU) /*  (TWI0) Transmit Next Counter Register */
3650 #define REG_TWI0_PTCR      REG_ACCESS(WoReg, 0x40018120U) /*  (TWI0) Transfer Control Register */
3651 #define REG_TWI0_PTSR      REG_ACCESS(RoReg, 0x40018124U) /*  (TWI0) Transfer Status Register */
3652 /* ========== Register definition for TWI1 peripheral ========== */
3653 #define REG_TWI1_CR        REG_ACCESS(WoReg, 0x4001C000U) /*  (TWI1) Control Register */
3654 #define REG_TWI1_MMR       REG_ACCESS(RwReg, 0x4001C004U) /*  (TWI1) Master Mode Register */
3655 #define REG_TWI1_SMR       REG_ACCESS(RwReg, 0x4001C008U) /*  (TWI1) Slave Mode Register */
3656 #define REG_TWI1_IADR      REG_ACCESS(RwReg, 0x4001C00CU) /*  (TWI1) Internal Address Register */
3657 #define REG_TWI1_CWGR      REG_ACCESS(RwReg, 0x4001C010U) /*  (TWI1) Clock Waveform Generator Register */
3658 #define REG_TWI1_SR        REG_ACCESS(RoReg, 0x4001C020U) /*  (TWI1) Status Register */
3659 #define REG_TWI1_IER       REG_ACCESS(WoReg, 0x4001C024U) /*  (TWI1) Interrupt Enable Register */
3660 #define REG_TWI1_IDR       REG_ACCESS(WoReg, 0x4001C028U) /*  (TWI1) Interrupt Disable Register */
3661 #define REG_TWI1_IMR       REG_ACCESS(RoReg, 0x4001C02CU) /*  (TWI1) Interrupt Mask Register */
3662 #define REG_TWI1_RHR       REG_ACCESS(RoReg, 0x4001C030U) /*  (TWI1) Receive Holding Register */
3663 #define REG_TWI1_THR       REG_ACCESS(WoReg, 0x4001C034U) /*  (TWI1) Transmit Holding Register */
3664 /* ========== Register definition for PWM peripheral ========== */
3665 #define REG_PWM_MR         REG_ACCESS(RwReg, 0x40020000U) /*  (PWM) PWM Mode Register */
3666 #define REG_PWM_ENA        REG_ACCESS(WoReg, 0x40020004U) /*  (PWM) PWM Enable Register */
3667 #define REG_PWM_DIS        REG_ACCESS(WoReg, 0x40020008U) /*  (PWM) PWM Disable Register */
3668 #define REG_PWM_SR         REG_ACCESS(RoReg, 0x4002000CU) /*  (PWM) PWM Status Register */
3669 #define REG_PWM_IER        REG_ACCESS(WoReg, 0x40020010U) /*  (PWM) PWM Interrupt Enable Register */
3670 #define REG_PWM_IDR        REG_ACCESS(WoReg, 0x40020014U) /*  (PWM) PWM Interrupt Disable Register */
3671 #define REG_PWM_IMR        REG_ACCESS(RoReg, 0x40020018U) /*  (PWM) PWM Interrupt Mask Register */
3672 #define REG_PWM_ISR        REG_ACCESS(RoReg, 0x4002001CU) /*  (PWM) PWM Interrupt Status Register */
3673 #define REG_PWM_CMR0       REG_ACCESS(RwReg, 0x40020200U) /*  (PWM) PWM Channel Mode Register (ch_num = 0) */
3674 #define REG_PWM_CDTY0      REG_ACCESS(RwReg, 0x40020204U) /*  (PWM) PWM Channel Duty Cycle Register (ch_num = 0) */
3675 #define REG_PWM_CPRD0      REG_ACCESS(RwReg, 0x40020208U) /*  (PWM) PWM Channel Period Register (ch_num = 0) */
3676 #define REG_PWM_CCNT0      REG_ACCESS(RoReg, 0x4002020CU) /*  (PWM) PWM Channel Counter Register (ch_num = 0) */
3677 #define REG_PWM_CUPD0      REG_ACCESS(WoReg, 0x40020210U) /*  (PWM) PWM Channel Update Register (ch_num = 0) */
3678 #define REG_PWM_CMR1       REG_ACCESS(RwReg, 0x40020220U) /*  (PWM) PWM Channel Mode Register (ch_num = 1) */
3679 #define REG_PWM_CDTY1      REG_ACCESS(RwReg, 0x40020224U) /*  (PWM) PWM Channel Duty Cycle Register (ch_num = 1) */
3680 #define REG_PWM_CPRD1      REG_ACCESS(RwReg, 0x40020228U) /*  (PWM) PWM Channel Period Register (ch_num = 1) */
3681 #define REG_PWM_CCNT1      REG_ACCESS(RoReg, 0x4002022CU) /*  (PWM) PWM Channel Counter Register (ch_num = 1) */
3682 #define REG_PWM_CUPD1      REG_ACCESS(WoReg, 0x40020230U) /*  (PWM) PWM Channel Update Register (ch_num = 1) */
3683 #define REG_PWM_CMR2       REG_ACCESS(RwReg, 0x40020240U) /*  (PWM) PWM Channel Mode Register (ch_num = 2) */
3684 #define REG_PWM_CDTY2      REG_ACCESS(RwReg, 0x40020244U) /*  (PWM) PWM Channel Duty Cycle Register (ch_num = 2) */
3685 #define REG_PWM_CPRD2      REG_ACCESS(RwReg, 0x40020248U) /*  (PWM) PWM Channel Period Register (ch_num = 2) */
3686 #define REG_PWM_CCNT2      REG_ACCESS(RoReg, 0x4002024CU) /*  (PWM) PWM Channel Counter Register (ch_num = 2) */
3687 #define REG_PWM_CUPD2      REG_ACCESS(WoReg, 0x40020250U) /*  (PWM) PWM Channel Update Register (ch_num = 2) */
3688 #define REG_PWM_CMR3       REG_ACCESS(RwReg, 0x40020260U) /*  (PWM) PWM Channel Mode Register (ch_num = 3) */
3689 #define REG_PWM_CDTY3      REG_ACCESS(RwReg, 0x40020264U) /*  (PWM) PWM Channel Duty Cycle Register (ch_num = 3) */
3690 #define REG_PWM_CPRD3      REG_ACCESS(RwReg, 0x40020268U) /*  (PWM) PWM Channel Period Register (ch_num = 3) */
3691 #define REG_PWM_CCNT3      REG_ACCESS(RoReg, 0x4002026CU) /*  (PWM) PWM Channel Counter Register (ch_num = 3) */
3692 #define REG_PWM_CUPD3      REG_ACCESS(WoReg, 0x40020270U) /*  (PWM) PWM Channel Update Register (ch_num = 3) */
3693 /* ========== Register definition for USART0 peripheral ========== */
3694 #define REG_USART0_CR      REG_ACCESS(WoReg, 0x40024000U) /*  (USART0) Control Register */
3695 #define REG_USART0_MR      REG_ACCESS(RwReg, 0x40024004U) /*  (USART0) Mode Register */
3696 #define REG_USART0_IER     REG_ACCESS(WoReg, 0x40024008U) /*  (USART0) Interrupt Enable Register */
3697 #define REG_USART0_IDR     REG_ACCESS(WoReg, 0x4002400CU) /*  (USART0) Interrupt Disable Register */
3698 #define REG_USART0_IMR     REG_ACCESS(RoReg, 0x40024010U) /*  (USART0) Interrupt Mask Register */
3699 #define REG_USART0_CSR     REG_ACCESS(RoReg, 0x40024014U) /*  (USART0) Channel Status Register */
3700 #define REG_USART0_RHR     REG_ACCESS(RoReg, 0x40024018U) /*  (USART0) Receiver Holding Register */
3701 #define REG_USART0_THR     REG_ACCESS(WoReg, 0x4002401CU) /*  (USART0) Transmitter Holding Register */
3702 #define REG_USART0_BRGR    REG_ACCESS(RwReg, 0x40024020U) /*  (USART0) Baud Rate Generator Register */
3703 #define REG_USART0_RTOR    REG_ACCESS(RwReg, 0x40024024U) /*  (USART0) Receiver Time-out Register */
3704 #define REG_USART0_TTGR    REG_ACCESS(RwReg, 0x40024028U) /*  (USART0) Transmitter Timeguard Register */
3705 #define REG_USART0_FIDI    REG_ACCESS(RwReg, 0x40024040U) /*  (USART0) FI DI Ratio Register */
3706 #define REG_USART0_NER     REG_ACCESS(RoReg, 0x40024044U) /*  (USART0) Number of Errors Register */
3707 #define REG_USART0_IF      REG_ACCESS(RwReg, 0x4002404CU) /*  (USART0) IrDA Filter Register */
3708 #define REG_USART0_WPMR    REG_ACCESS(RwReg, 0x400240E4U) /*  (USART0) Write Protect Mode Register */
3709 #define REG_USART0_WPSR    REG_ACCESS(RoReg, 0x400240E8U) /*  (USART0) Write Protect Status Register */
3710 #define REG_USART0_RPR     REG_ACCESS(RwReg, 0x40024100U) /*  (USART0) Receive Pointer Register */
3711 #define REG_USART0_RCR     REG_ACCESS(RwReg, 0x40024104U) /*  (USART0) Receive Counter Register */
3712 #define REG_USART0_TPR     REG_ACCESS(RwReg, 0x40024108U) /*  (USART0) Transmit Pointer Register */
3713 #define REG_USART0_TCR     REG_ACCESS(RwReg, 0x4002410CU) /*  (USART0) Transmit Counter Register */
3714 #define REG_USART0_RNPR    REG_ACCESS(RwReg, 0x40024110U) /*  (USART0) Receive Next Pointer Register */
3715 #define REG_USART0_RNCR    REG_ACCESS(RwReg, 0x40024114U) /*  (USART0) Receive Next Counter Register */
3716 #define REG_USART0_TNPR    REG_ACCESS(RwReg, 0x40024118U) /*  (USART0) Transmit Next Pointer Register */
3717 #define REG_USART0_TNCR    REG_ACCESS(RwReg, 0x4002411CU) /*  (USART0) Transmit Next Counter Register */
3718 #define REG_USART0_PTCR    REG_ACCESS(WoReg, 0x40024120U) /*  (USART0) Transfer Control Register */
3719 #define REG_USART0_PTSR    REG_ACCESS(RoReg, 0x40024124U) /*  (USART0) Transfer Status Register */
3720 /* ========== Register definition for USART1 peripheral ========== */
3721 #define REG_USART1_CR      REG_ACCESS(WoReg, 0x40028000U) /*  (USART1) Control Register */
3722 #define REG_USART1_MR      REG_ACCESS(RwReg, 0x40028004U) /*  (USART1) Mode Register */
3723 #define REG_USART1_IER     REG_ACCESS(WoReg, 0x40028008U) /*  (USART1) Interrupt Enable Register */
3724 #define REG_USART1_IDR     REG_ACCESS(WoReg, 0x4002800CU) /*  (USART1) Interrupt Disable Register */
3725 #define REG_USART1_IMR     REG_ACCESS(RoReg, 0x40028010U) /*  (USART1) Interrupt Mask Register */
3726 #define REG_USART1_CSR     REG_ACCESS(RoReg, 0x40028014U) /*  (USART1) Channel Status Register */
3727 #define REG_USART1_RHR     REG_ACCESS(RoReg, 0x40028018U) /*  (USART1) Receiver Holding Register */
3728 #define REG_USART1_THR     REG_ACCESS(WoReg, 0x4002801CU) /*  (USART1) Transmitter Holding Register */
3729 #define REG_USART1_BRGR    REG_ACCESS(RwReg, 0x40028020U) /*  (USART1) Baud Rate Generator Register */
3730 #define REG_USART1_RTOR    REG_ACCESS(RwReg, 0x40028024U) /*  (USART1) Receiver Time-out Register */
3731 #define REG_USART1_TTGR    REG_ACCESS(RwReg, 0x40028028U) /*  (USART1) Transmitter Timeguard Register */
3732 #define REG_USART1_FIDI    REG_ACCESS(RwReg, 0x40028040U) /*  (USART1) FI DI Ratio Register */
3733 #define REG_USART1_NER     REG_ACCESS(RoReg, 0x40028044U) /*  (USART1) Number of Errors Register */
3734 #define REG_USART1_IF      REG_ACCESS(RwReg, 0x4002804CU) /*  (USART1) IrDA Filter Register */
3735 #define REG_USART1_WPMR    REG_ACCESS(RwReg, 0x400280E4U) /*  (USART1) Write Protect Mode Register */
3736 #define REG_USART1_WPSR    REG_ACCESS(RoReg, 0x400280E8U) /*  (USART1) Write Protect Status Register */
3737 /* ========== Register definition for ADC peripheral ========== */
3738 #define REG_ADC_CR         REG_ACCESS(WoReg, 0x40038000U) /*  (ADC) Control Register */
3739 #define REG_ADC_MR         REG_ACCESS(RwReg, 0x40038004U) /*  (ADC) Mode Register */
3740 #define REG_ADC_SEQR1      REG_ACCESS(RwReg, 0x40038008U) /*  (ADC) Channel Sequence Register 1 */
3741 #define REG_ADC_SEQR2      REG_ACCESS(RwReg, 0x4003800CU) /*  (ADC) Channel Sequence Register 2 */
3742 #define REG_ADC_CHER       REG_ACCESS(WoReg, 0x40038010U) /*  (ADC) Channel Enable Register */
3743 #define REG_ADC_CHDR       REG_ACCESS(WoReg, 0x40038014U) /*  (ADC) Channel Disable Register */
3744 #define REG_ADC_CHSR       REG_ACCESS(RoReg, 0x40038018U) /*  (ADC) Channel Status Register */
3745 #define REG_ADC_LCDR       REG_ACCESS(RoReg, 0x40038020U) /*  (ADC) Last Converted Data Register */
3746 #define REG_ADC_IER        REG_ACCESS(WoReg, 0x40038024U) /*  (ADC) Interrupt Enable Register */
3747 #define REG_ADC_IDR        REG_ACCESS(WoReg, 0x40038028U) /*  (ADC) Interrupt Disable Register */
3748 #define REG_ADC_IMR        REG_ACCESS(RoReg, 0x4003802CU) /*  (ADC) Interrupt Mask Register */
3749 #define REG_ADC_ISR        REG_ACCESS(RoReg, 0x40038030U) /*  (ADC) Interrupt Status Register */
3750 #define REG_ADC_OVER       REG_ACCESS(RoReg, 0x4003803CU) /*  (ADC) Overrun Status Register */
3751 #define REG_ADC_EMR        REG_ACCESS(RwReg, 0x40038040U) /*  (ADC) Extended Mode Register */
3752 #define REG_ADC_CWR        REG_ACCESS(RwReg, 0x40038044U) /*  (ADC) Compare Window Register */
3753 #define REG_ADC_CDR        REG_ACCESS(RoReg, 0x40038050U) /*  (ADC) Channel Data Register */
3754 #define REG_ADC_WPMR       REG_ACCESS(RwReg, 0x400380E4U) /*  (ADC) Write Protect Mode Register */
3755 #define REG_ADC_WPSR       REG_ACCESS(RoReg, 0x400380E8U) /*  (ADC) Write Protect Status Register */
3756 #define REG_ADC_RPR        REG_ACCESS(RwReg, 0x40038100U) /*  (ADC) Receive Pointer Register */
3757 #define REG_ADC_RCR        REG_ACCESS(RwReg, 0x40038104U) /*  (ADC) Receive Counter Register */
3758 #define REG_ADC_TPR        REG_ACCESS(RwReg, 0x40038108U) /*  (ADC) Transmit Pointer Register */
3759 #define REG_ADC_TCR        REG_ACCESS(RwReg, 0x4003810CU) /*  (ADC) Transmit Counter Register */
3760 #define REG_ADC_RNPR       REG_ACCESS(RwReg, 0x40038110U) /*  (ADC) Receive Next Pointer Register */
3761 #define REG_ADC_RNCR       REG_ACCESS(RwReg, 0x40038114U) /*  (ADC) Receive Next Counter Register */
3762 #define REG_ADC_TNPR       REG_ACCESS(RwReg, 0x40038118U) /*  (ADC) Transmit Next Pointer Register */
3763 #define REG_ADC_TNCR       REG_ACCESS(RwReg, 0x4003811CU) /*  (ADC) Transmit Next Counter Register */
3764 #define REG_ADC_PTCR       REG_ACCESS(WoReg, 0x40038120U) /*  (ADC) Transfer Control Register */
3765 #define REG_ADC_PTSR       REG_ACCESS(RoReg, 0x40038124U) /*  (ADC) Transfer Status Register */
3766 /* ========== Register definition for DACC peripheral ========== */
3767 #define REG_DACC_CR        REG_ACCESS(WoReg, 0x4003C000U) /*  (DACC) Control Register */
3768 #define REG_DACC_MR        REG_ACCESS(RwReg, 0x4003C004U) /*  (DACC) Mode Register */
3769 #define REG_DACC_CDR       REG_ACCESS(WoReg, 0x4003C008U) /*  (DACC) Conversion Data Register */
3770 #define REG_DACC_IER       REG_ACCESS(WoReg, 0x4003C00CU) /*  (DACC) Interrupt Enable Register */
3771 #define REG_DACC_IDR       REG_ACCESS(WoReg, 0x4003C010U) /*  (DACC) Interrupt Disable Register */
3772 #define REG_DACC_IMR       REG_ACCESS(RoReg, 0x4003C014U) /*  (DACC) Interrupt Mask Register */
3773 #define REG_DACC_ISR       REG_ACCESS(RoReg, 0x4003C018U) /*  (DACC) Interrupt Status Register */
3774 #define REG_DACC_WPMR      REG_ACCESS(RwReg, 0x4003C0E4U) /*  (DACC) Write Protect Mode Register */
3775 #define REG_DACC_WPSR      REG_ACCESS(RoReg, 0x4003C0E8U) /*  (DACC) Write Protect Status Register */
3776 #define REG_DACC_RPR       REG_ACCESS(RwReg, 0x4003C100U) /*  (DACC) Receive Pointer Register */
3777 #define REG_DACC_RCR       REG_ACCESS(RwReg, 0x4003C104U) /*  (DACC) Receive Counter Register */
3778 #define REG_DACC_TPR       REG_ACCESS(RwReg, 0x4003C108U) /*  (DACC) Transmit Pointer Register */
3779 #define REG_DACC_TCR       REG_ACCESS(RwReg, 0x4003C10CU) /*  (DACC) Transmit Counter Register */
3780 #define REG_DACC_RNPR      REG_ACCESS(RwReg, 0x4003C110U) /*  (DACC) Receive Next Pointer Register */
3781 #define REG_DACC_RNCR      REG_ACCESS(RwReg, 0x4003C114U) /*  (DACC) Receive Next Counter Register */
3782 #define REG_DACC_TNPR      REG_ACCESS(RwReg, 0x4003C118U) /*  (DACC) Transmit Next Pointer Register */
3783 #define REG_DACC_TNCR      REG_ACCESS(RwReg, 0x4003C11CU) /*  (DACC) Transmit Next Counter Register */
3784 #define REG_DACC_PTCR      REG_ACCESS(WoReg, 0x4003C120U) /*  (DACC) Transfer Control Register */
3785 #define REG_DACC_PTSR      REG_ACCESS(RoReg, 0x4003C124U) /*  (DACC) Transfer Status Register */
3786 /* ========== Register definition for MATRIX peripheral ========== */
3787 #define REG_MATRIX_MCFG    REG_ACCESS(RwReg, 0x400E0200U) /*  (MATRIX) Master Configuration Register */
3788 #define REG_MATRIX_SCFG    REG_ACCESS(RwReg, 0x400E0240U) /*  (MATRIX) Slave Configuration Register */
3789 #define REG_MATRIX_PRAS0   REG_ACCESS(RwReg, 0x400E0280U) /*  (MATRIX) Priority Register A for Slave 0 */
3790 #define REG_MATRIX_PRAS1   REG_ACCESS(RwReg, 0x400E0288U) /*  (MATRIX) Priority Register A for Slave 1 */
3791 #define REG_MATRIX_PRAS2   REG_ACCESS(RwReg, 0x400E0290U) /*  (MATRIX) Priority Register A for Slave 2 */
3792 #define REG_MATRIX_PRAS3   REG_ACCESS(RwReg, 0x400E0298U) /*  (MATRIX) Priority Register A for Slave 3 */
3793 #define REG_MATRIX_SYSIO   REG_ACCESS(RwReg, 0x400E0314U) /*  (MATRIX) System I/O Configuration register */
3794 #define REG_MATRIX_WPMR    REG_ACCESS(RwReg, 0x400E03E4U) /*  (MATRIX) Write Protect Mode Register */
3795 #define REG_MATRIX_WPSR    REG_ACCESS(RoReg, 0x400E03E8U) /*  (MATRIX) Write Protect Status Register */
3796 /* ========== Register definition for PMC peripheral ========== */
3797 #define REG_PMC_SCER       REG_ACCESS(WoReg, 0x400E0400U) /*  (PMC) System Clock Enable Register */
3798 #define REG_PMC_SCDR       REG_ACCESS(WoReg, 0x400E0404U) /*  (PMC) System Clock Disable Register */
3799 #define REG_PMC_SCSR       REG_ACCESS(RoReg, 0x400E0408U) /*  (PMC) System Clock Status Register */
3800 #define REG_PMC_PCER       REG_ACCESS(WoReg, 0x400E0410U) /*  (PMC) Peripheral Clock Enable Register */
3801 #define REG_PMC_PCDR       REG_ACCESS(WoReg, 0x400E0414U) /*  (PMC) Peripheral Clock Disable Register */
3802 #define REG_PMC_PCSR       REG_ACCESS(RoReg, 0x400E0418U) /*  (PMC) Peripheral Clock Status Register */
3803 #define REG_PMC_MOR        REG_ACCESS(RwReg, 0x400E0420U) /*  (PMC) Main Oscillator Register */
3804 #define REG_PMC_MCFR       REG_ACCESS(RoReg, 0x400E0424U) /*  (PMC) Main Clock Frequency Register */
3805 #define REG_PMC_PLLR       REG_ACCESS(RwReg, 0x400E0428U) /*  (PMC) PLL Register */
3806 #define REG_PMC_MCKR       REG_ACCESS(RwReg, 0x400E0430U) /*  (PMC) Master Clock Register */
3807 #define REG_PMC_PCK        REG_ACCESS(RwReg, 0x400E0440U) /*  (PMC) Programmable Clock 0 Register */
3808 #define REG_PMC_IER        REG_ACCESS(WoReg, 0x400E0460U) /*  (PMC) Interrupt Enable Register */
3809 #define REG_PMC_IDR        REG_ACCESS(WoReg, 0x400E0464U) /*  (PMC) Interrupt Disable Register */
3810 #define REG_PMC_SR         REG_ACCESS(RoReg, 0x400E0468U) /*  (PMC) Status Register */
3811 #define REG_PMC_IMR        REG_ACCESS(RoReg, 0x400E046CU) /*  (PMC) Interrupt Mask Register */
3812 #define REG_PMC_FSMR       REG_ACCESS(RwReg, 0x400E0470U) /*  (PMC) Fast Startup Mode Register */
3813 #define REG_PMC_FSPR       REG_ACCESS(RwReg, 0x400E0474U) /*  (PMC) Fast Startup Polarity Register */
3814 #define REG_PMC_FOCR       REG_ACCESS(WoReg, 0x400E0478U) /*  (PMC) Fault Output Clear Register */
3815 #define REG_PMC_WPMR       REG_ACCESS(RwReg, 0x400E04E4U) /*  (PMC) Write Protect Mode Register */
3816 #define REG_PMC_WPSR       REG_ACCESS(RoReg, 0x400E04E8U) /*  (PMC) Write Protect Status Register */
3817 #define REG_PMC_OCR        REG_ACCESS(RwReg, 0x400E0510U) /*  (PMC) Oscillator Calibration Register */
3818 /* ========== Register definition for UART0 peripheral ========== */
3819 #define REG_UART0_CR       REG_ACCESS(WoReg, 0x400E0600U) /*  (UART0) Control Register */
3820 #define REG_UART0_MR       REG_ACCESS(RwReg, 0x400E0604U) /*  (UART0) Mode Register */
3821 #define REG_UART0_IER      REG_ACCESS(WoReg, 0x400E0608U) /*  (UART0) Interrupt Enable Register */
3822 #define REG_UART0_IDR      REG_ACCESS(WoReg, 0x400E060CU) /*  (UART0) Interrupt Disable Register */
3823 #define REG_UART0_IMR      REG_ACCESS(RoReg, 0x400E0610U) /*  (UART0) Interrupt Mask Register */
3824 #define REG_UART0_SR       REG_ACCESS(RoReg, 0x400E0614U) /*  (UART0) Status Register */
3825 #define REG_UART0_RHR      REG_ACCESS(RoReg, 0x400E0618U) /*  (UART0) Receive Holding Register */
3826 #define REG_UART0_THR      REG_ACCESS(WoReg, 0x400E061CU) /*  (UART0) Transmit Holding Register */
3827 #define REG_UART0_BRGR     REG_ACCESS(RwReg, 0x400E0620U) /*  (UART0) Baud Rate Generator Register */
3828 #define REG_UART0_RPR      REG_ACCESS(RwReg, 0x400E0700U) /*  (UART0) Receive Pointer Register */
3829 #define REG_UART0_RCR      REG_ACCESS(RwReg, 0x400E0704U) /*  (UART0) Receive Counter Register */
3830 #define REG_UART0_TPR      REG_ACCESS(RwReg, 0x400E0708U) /*  (UART0) Transmit Pointer Register */
3831 #define REG_UART0_TCR      REG_ACCESS(RwReg, 0x400E070CU) /*  (UART0) Transmit Counter Register */
3832 #define REG_UART0_RNPR     REG_ACCESS(RwReg, 0x400E0710U) /*  (UART0) Receive Next Pointer Register */
3833 #define REG_UART0_RNCR     REG_ACCESS(RwReg, 0x400E0714U) /*  (UART0) Receive Next Counter Register */
3834 #define REG_UART0_TNPR     REG_ACCESS(RwReg, 0x400E0718U) /*  (UART0) Transmit Next Pointer Register */
3835 #define REG_UART0_TNCR     REG_ACCESS(RwReg, 0x400E071CU) /*  (UART0) Transmit Next Counter Register */
3836 #define REG_UART0_PTCR     REG_ACCESS(WoReg, 0x400E0720U) /*  (UART0) Transfer Control Register */
3837 #define REG_UART0_PTSR     REG_ACCESS(RoReg, 0x400E0724U) /*  (UART0) Transfer Status Register */
3838 /* ========== Register definition for CHIPID peripheral ========== */
3839 #define REG_CHIPID_CIDR    REG_ACCESS(RoReg, 0x400E0740U) /*  (CHIPID) Chip ID Register */
3840 #define REG_CHIPID_EXID    REG_ACCESS(RoReg, 0x400E0744U) /*  (CHIPID) Chip ID Extension Register */
3841 /* ========== Register definition for UART1 peripheral ========== */
3842 #define REG_UART1_CR       REG_ACCESS(WoReg, 0x400E0800U) /*  (UART1) Control Register */
3843 #define REG_UART1_MR       REG_ACCESS(RwReg, 0x400E0804U) /*  (UART1) Mode Register */
3844 #define REG_UART1_IER      REG_ACCESS(WoReg, 0x400E0808U) /*  (UART1) Interrupt Enable Register */
3845 #define REG_UART1_IDR      REG_ACCESS(WoReg, 0x400E080CU) /*  (UART1) Interrupt Disable Register */
3846 #define REG_UART1_IMR      REG_ACCESS(RoReg, 0x400E0810U) /*  (UART1) Interrupt Mask Register */
3847 #define REG_UART1_SR       REG_ACCESS(RoReg, 0x400E0814U) /*  (UART1) Status Register */
3848 #define REG_UART1_RHR      REG_ACCESS(RoReg, 0x400E0818U) /*  (UART1) Receive Holding Register */
3849 #define REG_UART1_THR      REG_ACCESS(WoReg, 0x400E081CU) /*  (UART1) Transmit Holding Register */
3850 #define REG_UART1_BRGR     REG_ACCESS(RwReg, 0x400E0820U) /*  (UART1) Baud Rate Generator Register */
3851 /* ========== Register definition for EFC peripheral ========== */
3852 #define REG_EFC_FMR        REG_ACCESS(RwReg, 0x400E0A00U) /*  (EFC) EEFC Flash Mode Register */
3853 #define REG_EFC_FCR        REG_ACCESS(WoReg, 0x400E0A04U) /*  (EFC) EEFC Flash Command Register */
3854 #define REG_EFC_FSR        REG_ACCESS(RoReg, 0x400E0A08U) /*  (EFC) EEFC Flash Status Register */
3855 #define REG_EFC_FRR        REG_ACCESS(RoReg, 0x400E0A0CU) /*  (EFC) EEFC Flash Result Register */
3856 /* ========== Register definition for PIOA peripheral ========== */
3857 #define REG_PIOA_PER       REG_ACCESS(WoReg, 0x400E0E00U) /*  (PIOA) PIO Enable Register */
3858 #define REG_PIOA_PDR       REG_ACCESS(WoReg, 0x400E0E04U) /*  (PIOA) PIO Disable Register */
3859 #define REG_PIOA_PSR       REG_ACCESS(RoReg, 0x400E0E08U) /*  (PIOA) PIO Status Register */
3860 #define REG_PIOA_OER       REG_ACCESS(WoReg, 0x400E0E10U) /*  (PIOA) Output Enable Register */
3861 #define REG_PIOA_ODR       REG_ACCESS(WoReg, 0x400E0E14U) /*  (PIOA) Output Disable Register */
3862 #define REG_PIOA_OSR       REG_ACCESS(RoReg, 0x400E0E18U) /*  (PIOA) Output Status Register */
3863 #define REG_PIOA_IFER      REG_ACCESS(WoReg, 0x400E0E20U) /*  (PIOA) Glitch Input Filter Enable Register */
3864 #define REG_PIOA_IFDR      REG_ACCESS(WoReg, 0x400E0E24U) /*  (PIOA) Glitch Input Filter Disable Register */
3865 #define REG_PIOA_IFSR      REG_ACCESS(RoReg, 0x400E0E28U) /*  (PIOA) Glitch Input Filter Status Register */
3866 #define REG_PIOA_SODR      REG_ACCESS(WoReg, 0x400E0E30U) /*  (PIOA) Set Output Data Register */
3867 #define REG_PIOA_CODR      REG_ACCESS(WoReg, 0x400E0E34U) /*  (PIOA) Clear Output Data Register */
3868 #define REG_PIOA_ODSR      REG_ACCESS(RwReg, 0x400E0E38U) /*  (PIOA) Output Data Status Register */
3869 #define REG_PIOA_PDSR      REG_ACCESS(RoReg, 0x400E0E3CU) /*  (PIOA) Pin Data Status Register */
3870 #define REG_PIOA_IER       REG_ACCESS(WoReg, 0x400E0E40U) /*  (PIOA) Interrupt Enable Register */
3871 #define REG_PIOA_IDR       REG_ACCESS(WoReg, 0x400E0E44U) /*  (PIOA) Interrupt Disable Register */
3872 #define REG_PIOA_IMR       REG_ACCESS(RoReg, 0x400E0E48U) /*  (PIOA) Interrupt Mask Register */
3873 #define REG_PIOA_ISR       REG_ACCESS(RoReg, 0x400E0E4CU) /*  (PIOA) Interrupt Status Register */
3874 #define REG_PIOA_MDER      REG_ACCESS(WoReg, 0x400E0E50U) /*  (PIOA) Multi-driver Enable Register */
3875 #define REG_PIOA_MDDR      REG_ACCESS(WoReg, 0x400E0E54U) /*  (PIOA) Multi-driver Disable Register */
3876 #define REG_PIOA_MDSR      REG_ACCESS(RoReg, 0x400E0E58U) /*  (PIOA) Multi-driver Status Register */
3877 #define REG_PIOA_PUDR      REG_ACCESS(WoReg, 0x400E0E60U) /*  (PIOA) Pull-up Disable Register */
3878 #define REG_PIOA_PUER      REG_ACCESS(WoReg, 0x400E0E64U) /*  (PIOA) Pull-up Enable Register */
3879 #define REG_PIOA_PUSR      REG_ACCESS(RoReg, 0x400E0E68U) /*  (PIOA) Pad Pull-up Status Register */
3880 #define REG_PIOA_ABCDSR    REG_ACCESS(RwReg, 0x400E0E70U) /*  (PIOA) Peripheral Select Register */
3881 #define REG_PIOA_IFSCDR    REG_ACCESS(WoReg, 0x400E0E80U) /*  (PIOA) Input Filter Slow Clock Disable Register */
3882 #define REG_PIOA_IFSCER    REG_ACCESS(WoReg, 0x400E0E84U) /*  (PIOA) Input Filter Slow Clock Enable Register */
3883 #define REG_PIOA_IFSCSR    REG_ACCESS(RoReg, 0x400E0E88U) /*  (PIOA) Input Filter Slow Clock Status Register */
3884 #define REG_PIOA_SCDR      REG_ACCESS(RwReg, 0x400E0E8CU) /*  (PIOA) Slow Clock Divider Debouncing Register */
3885 #define REG_PIOA_PPDDR     REG_ACCESS(WoReg, 0x400E0E90U) /*  (PIOA) Pad Pull-down Disable Register */
3886 #define REG_PIOA_PPDER     REG_ACCESS(WoReg, 0x400E0E94U) /*  (PIOA) Pad Pull-down Enable Register */
3887 #define REG_PIOA_PPDSR     REG_ACCESS(RoReg, 0x400E0E98U) /*  (PIOA) Pad Pull-down Status Register */
3888 #define REG_PIOA_OWER      REG_ACCESS(WoReg, 0x400E0EA0U) /*  (PIOA) Output Write Enable */
3889 #define REG_PIOA_OWDR      REG_ACCESS(WoReg, 0x400E0EA4U) /*  (PIOA) Output Write Disable */
3890 #define REG_PIOA_OWSR      REG_ACCESS(RoReg, 0x400E0EA8U) /*  (PIOA) Output Write Status Register */
3891 #define REG_PIOA_AIMER     REG_ACCESS(WoReg, 0x400E0EB0U) /*  (PIOA) Additional Interrupt Modes Enable Register */
3892 #define REG_PIOA_AIMDR     REG_ACCESS(WoReg, 0x400E0EB4U) /*  (PIOA) Additional Interrupt Modes Disables Register */
3893 #define REG_PIOA_AIMMR     REG_ACCESS(RoReg, 0x400E0EB8U) /*  (PIOA) Additional Interrupt Modes Mask Register */
3894 #define REG_PIOA_ESR       REG_ACCESS(WoReg, 0x400E0EC0U) /*  (PIOA) Edge Select Register */
3895 #define REG_PIOA_LSR       REG_ACCESS(WoReg, 0x400E0EC4U) /*  (PIOA) Level Select Register */
3896 #define REG_PIOA_ELSR      REG_ACCESS(RoReg, 0x400E0EC8U) /*  (PIOA) Edge/Level Status Register */
3897 #define REG_PIOA_FELLSR    REG_ACCESS(WoReg, 0x400E0ED0U) /*  (PIOA) Falling Edge/Low Level Select Register */
3898 #define REG_PIOA_REHLSR    REG_ACCESS(WoReg, 0x400E0ED4U) /*  (PIOA) Rising Edge/ High Level Select Register */
3899 #define REG_PIOA_FRLHSR    REG_ACCESS(RoReg, 0x400E0ED8U) /*  (PIOA) Fall/Rise - Low/High Status Register */
3900 #define REG_PIOA_LOCKSR    REG_ACCESS(RoReg, 0x400E0EE0U) /*  (PIOA) Lock Status */
3901 #define REG_PIOA_WPMR      REG_ACCESS(RwReg, 0x400E0EE4U) /*  (PIOA) Write Protect Mode Register */
3902 #define REG_PIOA_WPSR      REG_ACCESS(RoReg, 0x400E0EE8U) /*  (PIOA) Write Protect Status Register */
3903 #define REG_PIOA_SCHMITT   REG_ACCESS(RwReg, 0x400E0F00U) /*  (PIOA) Schmitt Trigger Register */
3904 /* ========== Register definition for PIOB peripheral ========== */
3905 #define REG_PIOB_PER       REG_ACCESS(WoReg, 0x400E1000U) /*  (PIOB) PIO Enable Register */
3906 #define REG_PIOB_PDR       REG_ACCESS(WoReg, 0x400E1004U) /*  (PIOB) PIO Disable Register */
3907 #define REG_PIOB_PSR       REG_ACCESS(RoReg, 0x400E1008U) /*  (PIOB) PIO Status Register */
3908 #define REG_PIOB_OER       REG_ACCESS(WoReg, 0x400E1010U) /*  (PIOB) Output Enable Register */
3909 #define REG_PIOB_ODR       REG_ACCESS(WoReg, 0x400E1014U) /*  (PIOB) Output Disable Register */
3910 #define REG_PIOB_OSR       REG_ACCESS(RoReg, 0x400E1018U) /*  (PIOB) Output Status Register */
3911 #define REG_PIOB_IFER      REG_ACCESS(WoReg, 0x400E1020U) /*  (PIOB) Glitch Input Filter Enable Register */
3912 #define REG_PIOB_IFDR      REG_ACCESS(WoReg, 0x400E1024U) /*  (PIOB) Glitch Input Filter Disable Register */
3913 #define REG_PIOB_IFSR      REG_ACCESS(RoReg, 0x400E1028U) /*  (PIOB) Glitch Input Filter Status Register */
3914 #define REG_PIOB_SODR      REG_ACCESS(WoReg, 0x400E1030U) /*  (PIOB) Set Output Data Register */
3915 #define REG_PIOB_CODR      REG_ACCESS(WoReg, 0x400E1034U) /*  (PIOB) Clear Output Data Register */
3916 #define REG_PIOB_ODSR      REG_ACCESS(RwReg, 0x400E1038U) /*  (PIOB) Output Data Status Register */
3917 #define REG_PIOB_PDSR      REG_ACCESS(RoReg, 0x400E103CU) /*  (PIOB) Pin Data Status Register */
3918 #define REG_PIOB_IER       REG_ACCESS(WoReg, 0x400E1040U) /*  (PIOB) Interrupt Enable Register */
3919 #define REG_PIOB_IDR       REG_ACCESS(WoReg, 0x400E1044U) /*  (PIOB) Interrupt Disable Register */
3920 #define REG_PIOB_IMR       REG_ACCESS(RoReg, 0x400E1048U) /*  (PIOB) Interrupt Mask Register */
3921 #define REG_PIOB_ISR       REG_ACCESS(RoReg, 0x400E104CU) /*  (PIOB) Interrupt Status Register */
3922 #define REG_PIOB_MDER      REG_ACCESS(WoReg, 0x400E1050U) /*  (PIOB) Multi-driver Enable Register */
3923 #define REG_PIOB_MDDR      REG_ACCESS(WoReg, 0x400E1054U) /*  (PIOB) Multi-driver Disable Register */
3924 #define REG_PIOB_MDSR      REG_ACCESS(RoReg, 0x400E1058U) /*  (PIOB) Multi-driver Status Register */
3925 #define REG_PIOB_PUDR      REG_ACCESS(WoReg, 0x400E1060U) /*  (PIOB) Pull-up Disable Register */
3926 #define REG_PIOB_PUER      REG_ACCESS(WoReg, 0x400E1064U) /*  (PIOB) Pull-up Enable Register */
3927 #define REG_PIOB_PUSR      REG_ACCESS(RoReg, 0x400E1068U) /*  (PIOB) Pad Pull-up Status Register */
3928 #define REG_PIOB_ABCDSR    REG_ACCESS(RwReg, 0x400E1070U) /*  (PIOB) Peripheral Select Register */
3929 #define REG_PIOB_IFSCDR    REG_ACCESS(WoReg, 0x400E1080U) /*  (PIOB) Input Filter Slow Clock Disable Register */
3930 #define REG_PIOB_IFSCER    REG_ACCESS(WoReg, 0x400E1084U) /*  (PIOB) Input Filter Slow Clock Enable Register */
3931 #define REG_PIOB_IFSCSR    REG_ACCESS(RoReg, 0x400E1088U) /*  (PIOB) Input Filter Slow Clock Status Register */
3932 #define REG_PIOB_SCDR      REG_ACCESS(RwReg, 0x400E108CU) /*  (PIOB) Slow Clock Divider Debouncing Register */
3933 #define REG_PIOB_PPDDR     REG_ACCESS(WoReg, 0x400E1090U) /*  (PIOB) Pad Pull-down Disable Register */
3934 #define REG_PIOB_PPDER     REG_ACCESS(WoReg, 0x400E1094U) /*  (PIOB) Pad Pull-down Enable Register */
3935 #define REG_PIOB_PPDSR     REG_ACCESS(RoReg, 0x400E1098U) /*  (PIOB) Pad Pull-down Status Register */
3936 #define REG_PIOB_OWER      REG_ACCESS(WoReg, 0x400E10A0U) /*  (PIOB) Output Write Enable */
3937 #define REG_PIOB_OWDR      REG_ACCESS(WoReg, 0x400E10A4U) /*  (PIOB) Output Write Disable */
3938 #define REG_PIOB_OWSR      REG_ACCESS(RoReg, 0x400E10A8U) /*  (PIOB) Output Write Status Register */
3939 #define REG_PIOB_AIMER     REG_ACCESS(WoReg, 0x400E10B0U) /*  (PIOB) Additional Interrupt Modes Enable Register */
3940 #define REG_PIOB_AIMDR     REG_ACCESS(WoReg, 0x400E10B4U) /*  (PIOB) Additional Interrupt Modes Disables Register */
3941 #define REG_PIOB_AIMMR     REG_ACCESS(RoReg, 0x400E10B8U) /*  (PIOB) Additional Interrupt Modes Mask Register */
3942 #define REG_PIOB_ESR       REG_ACCESS(WoReg, 0x400E10C0U) /*  (PIOB) Edge Select Register */
3943 #define REG_PIOB_LSR       REG_ACCESS(WoReg, 0x400E10C4U) /*  (PIOB) Level Select Register */
3944 #define REG_PIOB_ELSR      REG_ACCESS(RoReg, 0x400E10C8U) /*  (PIOB) Edge/Level Status Register */
3945 #define REG_PIOB_FELLSR    REG_ACCESS(WoReg, 0x400E10D0U) /*  (PIOB) Falling Edge/Low Level Select Register */
3946 #define REG_PIOB_REHLSR    REG_ACCESS(WoReg, 0x400E10D4U) /*  (PIOB) Rising Edge/ High Level Select Register */
3947 #define REG_PIOB_FRLHSR    REG_ACCESS(RoReg, 0x400E10D8U) /*  (PIOB) Fall/Rise - Low/High Status Register */
3948 #define REG_PIOB_LOCKSR    REG_ACCESS(RoReg, 0x400E10E0U) /*  (PIOB) Lock Status */
3949 #define REG_PIOB_WPMR      REG_ACCESS(RwReg, 0x400E10E4U) /*  (PIOB) Write Protect Mode Register */
3950 #define REG_PIOB_WPSR      REG_ACCESS(RoReg, 0x400E10E8U) /*  (PIOB) Write Protect Status Register */
3951 #define REG_PIOB_SCHMITT   REG_ACCESS(RwReg, 0x400E1100U) /*  (PIOB) Schmitt Trigger Register */
3952 /* ========== Register definition for PIOC peripheral ========== */
3953 #define REG_PIOC_PER       REG_ACCESS(WoReg, 0x400E1200U) /*  (PIOC) PIO Enable Register */
3954 #define REG_PIOC_PDR       REG_ACCESS(WoReg, 0x400E1204U) /*  (PIOC) PIO Disable Register */
3955 #define REG_PIOC_PSR       REG_ACCESS(RoReg, 0x400E1208U) /*  (PIOC) PIO Status Register */
3956 #define REG_PIOC_OER       REG_ACCESS(WoReg, 0x400E1210U) /*  (PIOC) Output Enable Register */
3957 #define REG_PIOC_ODR       REG_ACCESS(WoReg, 0x400E1214U) /*  (PIOC) Output Disable Register */
3958 #define REG_PIOC_OSR       REG_ACCESS(RoReg, 0x400E1218U) /*  (PIOC) Output Status Register */
3959 #define REG_PIOC_IFER      REG_ACCESS(WoReg, 0x400E1220U) /*  (PIOC) Glitch Input Filter Enable Register */
3960 #define REG_PIOC_IFDR      REG_ACCESS(WoReg, 0x400E1224U) /*  (PIOC) Glitch Input Filter Disable Register */
3961 #define REG_PIOC_IFSR      REG_ACCESS(RoReg, 0x400E1228U) /*  (PIOC) Glitch Input Filter Status Register */
3962 #define REG_PIOC_SODR      REG_ACCESS(WoReg, 0x400E1230U) /*  (PIOC) Set Output Data Register */
3963 #define REG_PIOC_CODR      REG_ACCESS(WoReg, 0x400E1234U) /*  (PIOC) Clear Output Data Register */
3964 #define REG_PIOC_ODSR      REG_ACCESS(RwReg, 0x400E1238U) /*  (PIOC) Output Data Status Register */
3965 #define REG_PIOC_PDSR      REG_ACCESS(RoReg, 0x400E123CU) /*  (PIOC) Pin Data Status Register */
3966 #define REG_PIOC_IER       REG_ACCESS(WoReg, 0x400E1240U) /*  (PIOC) Interrupt Enable Register */
3967 #define REG_PIOC_IDR       REG_ACCESS(WoReg, 0x400E1244U) /*  (PIOC) Interrupt Disable Register */
3968 #define REG_PIOC_IMR       REG_ACCESS(RoReg, 0x400E1248U) /*  (PIOC) Interrupt Mask Register */
3969 #define REG_PIOC_ISR       REG_ACCESS(RoReg, 0x400E124CU) /*  (PIOC) Interrupt Status Register */
3970 #define REG_PIOC_MDER      REG_ACCESS(WoReg, 0x400E1250U) /*  (PIOC) Multi-driver Enable Register */
3971 #define REG_PIOC_MDDR      REG_ACCESS(WoReg, 0x400E1254U) /*  (PIOC) Multi-driver Disable Register */
3972 #define REG_PIOC_MDSR      REG_ACCESS(RoReg, 0x400E1258U) /*  (PIOC) Multi-driver Status Register */
3973 #define REG_PIOC_PUDR      REG_ACCESS(WoReg, 0x400E1260U) /*  (PIOC) Pull-up Disable Register */
3974 #define REG_PIOC_PUER      REG_ACCESS(WoReg, 0x400E1264U) /*  (PIOC) Pull-up Enable Register */
3975 #define REG_PIOC_PUSR      REG_ACCESS(RoReg, 0x400E1268U) /*  (PIOC) Pad Pull-up Status Register */
3976 #define REG_PIOC_ABCDSR    REG_ACCESS(RwReg, 0x400E1270U) /*  (PIOC) Peripheral Select Register */
3977 #define REG_PIOC_IFSCDR    REG_ACCESS(WoReg, 0x400E1280U) /*  (PIOC) Input Filter Slow Clock Disable Register */
3978 #define REG_PIOC_IFSCER    REG_ACCESS(WoReg, 0x400E1284U) /*  (PIOC) Input Filter Slow Clock Enable Register */
3979 #define REG_PIOC_IFSCSR    REG_ACCESS(RoReg, 0x400E1288U) /*  (PIOC) Input Filter Slow Clock Status Register */
3980 #define REG_PIOC_SCDR      REG_ACCESS(RwReg, 0x400E128CU) /*  (PIOC) Slow Clock Divider Debouncing Register */
3981 #define REG_PIOC_PPDDR     REG_ACCESS(WoReg, 0x400E1290U) /*  (PIOC) Pad Pull-down Disable Register */
3982 #define REG_PIOC_PPDER     REG_ACCESS(WoReg, 0x400E1294U) /*  (PIOC) Pad Pull-down Enable Register */
3983 #define REG_PIOC_PPDSR     REG_ACCESS(RoReg, 0x400E1298U) /*  (PIOC) Pad Pull-down Status Register */
3984 #define REG_PIOC_OWER      REG_ACCESS(WoReg, 0x400E12A0U) /*  (PIOC) Output Write Enable */
3985 #define REG_PIOC_OWDR      REG_ACCESS(WoReg, 0x400E12A4U) /*  (PIOC) Output Write Disable */
3986 #define REG_PIOC_OWSR      REG_ACCESS(RoReg, 0x400E12A8U) /*  (PIOC) Output Write Status Register */
3987 #define REG_PIOC_AIMER     REG_ACCESS(WoReg, 0x400E12B0U) /*  (PIOC) Additional Interrupt Modes Enable Register */
3988 #define REG_PIOC_AIMDR     REG_ACCESS(WoReg, 0x400E12B4U) /*  (PIOC) Additional Interrupt Modes Disables Register */
3989 #define REG_PIOC_AIMMR     REG_ACCESS(RoReg, 0x400E12B8U) /*  (PIOC) Additional Interrupt Modes Mask Register */
3990 #define REG_PIOC_ESR       REG_ACCESS(WoReg, 0x400E12C0U) /*  (PIOC) Edge Select Register */
3991 #define REG_PIOC_LSR       REG_ACCESS(WoReg, 0x400E12C4U) /*  (PIOC) Level Select Register */
3992 #define REG_PIOC_ELSR      REG_ACCESS(RoReg, 0x400E12C8U) /*  (PIOC) Edge/Level Status Register */
3993 #define REG_PIOC_FELLSR    REG_ACCESS(WoReg, 0x400E12D0U) /*  (PIOC) Falling Edge/Low Level Select Register */
3994 #define REG_PIOC_REHLSR    REG_ACCESS(WoReg, 0x400E12D4U) /*  (PIOC) Rising Edge/ High Level Select Register */
3995 #define REG_PIOC_FRLHSR    REG_ACCESS(RoReg, 0x400E12D8U) /*  (PIOC) Fall/Rise - Low/High Status Register */
3996 #define REG_PIOC_LOCKSR    REG_ACCESS(RoReg, 0x400E12E0U) /*  (PIOC) Lock Status */
3997 #define REG_PIOC_WPMR      REG_ACCESS(RwReg, 0x400E12E4U) /*  (PIOC) Write Protect Mode Register */
3998 #define REG_PIOC_WPSR      REG_ACCESS(RoReg, 0x400E12E8U) /*  (PIOC) Write Protect Status Register */
3999 #define REG_PIOC_SCHMITT   REG_ACCESS(RwReg, 0x400E1300U) /*  (PIOC) Schmitt Trigger Register */
4000 /* ========== Register definition for RSTC peripheral ========== */
4001 #define REG_RSTC_CR        REG_ACCESS(WoReg, 0x400E1400U) /*  (RSTC) Control Register */
4002 #define REG_RSTC_SR        REG_ACCESS(RoReg, 0x400E1404U) /*  (RSTC) Status Register */
4003 #define REG_RSTC_MR        REG_ACCESS(RwReg, 0x400E1408U) /*  (RSTC) Mode Register */
4004 /* ========== Register definition for SUPC peripheral ========== */
4005 #define REG_SUPC_CR        REG_ACCESS(WoReg, 0x400E1410U) /*  (SUPC) Supply Controller Control Register */
4006 #define REG_SUPC_SMMR      REG_ACCESS(RwReg, 0x400E1414U) /*  (SUPC) Supply Controller Supply Monitor Mode Register */
4007 #define REG_SUPC_MR        REG_ACCESS(RwReg, 0x400E1418U) /*  (SUPC) Supply Controller Mode Register */
4008 #define REG_SUPC_WUMR      REG_ACCESS(RwReg, 0x400E141CU) /*  (SUPC) Supply Controller Wake Up Mode Register */
4009 #define REG_SUPC_WUIR      REG_ACCESS(RwReg, 0x400E1420U) /*  (SUPC) Supply Controller Wake Up Inputs Register */
4010 #define REG_SUPC_SR        REG_ACCESS(RoReg, 0x400E1424U) /*  (SUPC) Supply Controller Status Register */
4011 /* ========== Register definition for RTT peripheral ========== */
4012 #define REG_RTT_MR         REG_ACCESS(RwReg, 0x400E1430U) /*  (RTT) Mode Register */
4013 #define REG_RTT_AR         REG_ACCESS(RwReg, 0x400E1434U) /*  (RTT) Alarm Register */
4014 #define REG_RTT_VR         REG_ACCESS(RoReg, 0x400E1438U) /*  (RTT) Value Register */
4015 #define REG_RTT_SR         REG_ACCESS(RoReg, 0x400E143CU) /*  (RTT) Status Register */
4016 /* ========== Register definition for WDT peripheral ========== */
4017 #define REG_WDT_CR         REG_ACCESS(WoReg, 0x400E1450U) /*  (WDT) Control Register */
4018 #define REG_WDT_MR         REG_ACCESS(RwReg, 0x400E1454U) /*  (WDT) Mode Register */
4019 #define REG_WDT_SR         REG_ACCESS(RoReg, 0x400E1458U) /*  (WDT) Status Register */
4020 /* ========== Register definition for RTC peripheral ========== */
4021 #define REG_RTC_CR         REG_ACCESS(RwReg, 0x400E1460U) /*  (RTC) Control Register */
4022 #define REG_RTC_MR         REG_ACCESS(RwReg, 0x400E1464U) /*  (RTC) Mode Register */
4023 #define REG_RTC_TIMR       REG_ACCESS(RwReg, 0x400E1468U) /*  (RTC) Time Register */
4024 #define REG_RTC_CALR       REG_ACCESS(RwReg, 0x400E146CU) /*  (RTC) Calendar Register */
4025 #define REG_RTC_TIMALR     REG_ACCESS(RwReg, 0x400E1470U) /*  (RTC) Time Alarm Register */
4026 #define REG_RTC_CALALR     REG_ACCESS(RwReg, 0x400E1474U) /*  (RTC) Calendar Alarm Register */
4027 #define REG_RTC_SR         REG_ACCESS(RoReg, 0x400E1478U) /*  (RTC) Status Register */
4028 #define REG_RTC_SCCR       REG_ACCESS(WoReg, 0x400E147CU) /*  (RTC) Status Clear Command Register */
4029 #define REG_RTC_IER        REG_ACCESS(WoReg, 0x400E1480U) /*  (RTC) Interrupt Enable Register */
4030 #define REG_RTC_IDR        REG_ACCESS(WoReg, 0x400E1484U) /*  (RTC) Interrupt Disable Register */
4031 #define REG_RTC_IMR        REG_ACCESS(RoReg, 0x400E1488U) /*  (RTC) Interrupt Mask Register */
4032 #define REG_RTC_VER        REG_ACCESS(RoReg, 0x400E148CU) /*  (RTC) Valid Entry Register */
4033 #define REG_RTC_WPMR       REG_ACCESS(RwReg, 0x400E1544U) /*  (RTC) Write Protect Mode Register */
4034 /* ========== Register definition for GPBR peripheral ========== */
4035 #define REG_GPBR_GPBR0     REG_ACCESS(RwReg, 0x400E1490U) /*  (GPBR) General Purpose Backup Register 0 */
4036 #define REG_GPBR_GPBR1     REG_ACCESS(RwReg, 0x400E1494U) /*  (GPBR) General Purpose Backup Register 1 */
4037 #define REG_GPBR_GPBR2     REG_ACCESS(RwReg, 0x400E1498U) /*  (GPBR) General Purpose Backup Register 2 */
4038 #define REG_GPBR_GPBR3     REG_ACCESS(RwReg, 0x400E149CU) /*  (GPBR) General Purpose Backup Register 3 */
4039 #define REG_GPBR_GPBR4     REG_ACCESS(RwReg, 0x400E14A0U) /*  (GPBR) General Purpose Backup Register 4 */
4040 #define REG_GPBR_GPBR5     REG_ACCESS(RwReg, 0x400E14A4U) /*  (GPBR) General Purpose Backup Register 5 */
4041 #define REG_GPBR_GPBR6     REG_ACCESS(RwReg, 0x400E14A8U) /*  (GPBR) General Purpose Backup Register 6 */
4042 #define REG_GPBR_GPBR7     REG_ACCESS(RwReg, 0x400E14ACU) /*  (GPBR) General Purpose Backup Register 7 */
4043
4044 /* ************************************************************************** */
4045 /*   PERIPHERAL ID DEFINITIONS FOR SAM3N */
4046 /* ************************************************************************** */
4047
4048 #define ID_SUPC   ( 0) /*  Supply Controller (SUPC) */
4049 #define ID_RSTC   ( 1) /*  Reset Controller (RSTC) */
4050 #define ID_RTC    ( 2) /*  Real Time Clock (RTC) */
4051 #define ID_RTT    ( 3) /*  Real Time Timer (RTT) */
4052 #define ID_WDT    ( 4) /*  Watchdog Timer (WDT) */
4053 #define ID_PMC    ( 5) /*  Power Management Controller (PMC) */
4054 #define ID_EFC    ( 6) /*  Enhanced Flash Controller (EFC) */
4055 #define ID_UART0  ( 8) /*  UART 0 (UART0) */
4056 #define ID_UART1  ( 9) /*  UART 1 (UART1) */
4057 #define ID_PIOA   (11) /*  Parallel I/O Controller A (PIOA) */
4058 #define ID_PIOB   (12) /*  Parallel I/O Controller B (PIOB) */
4059 #define ID_PIOC   (13) /*  Parallel I/O Controller C (PIOC) */
4060 #define ID_USART0 (14) /*  USART 0 (USART0) */
4061 #define ID_USART1 (15) /*  USART 1 (USART1) */
4062 #define ID_TWI0   (19) /*  Two Wire Interface 0 (TWI0) */
4063 #define ID_TWI1   (20) /*  Two Wire Interface 1 (TWI1) */
4064 #define ID_SPI    (21) /*  Serial Peripheral Interface (SPI) */
4065 #define ID_TC0    (23) /*  Timer/Counter 0 (TC0) */
4066 #define ID_TC1    (24) /*  Timer/Counter 1 (TC1) */
4067 #define ID_TC2    (25) /*  Timer/Counter 2 (TC2) */
4068 #define ID_TC3    (26) /*  Timer/Counter 3 (TC3) */
4069 #define ID_TC4    (27) /*  Timer/Counter 4 (TC4) */
4070 #define ID_TC5    (28) /*  Timer/Counter 5 (TC5) */
4071 #define ID_ADC    (29) /*  Analog To Digital Converter (ADC) */
4072 #define ID_DACC   (30) /*  Digital To Analog Converter (DACC) */
4073 #define ID_PWM    (31) /*  Pulse Width Modulation (PWM) */
4074
4075 /* ************************************************************************** */
4076 /*   BASE ADDRESS DEFINITIONS FOR SAM3N */
4077 /* ************************************************************************** */
4078
4079 #define SPI        CAST(Spi       , 0x40008000U) /*  (SPI       ) Base Address */
4080 #define PDC_SPI    CAST(Pdc       , 0x40008100U) /*  (PDC_SPI   ) Base Address */
4081 #define TC0        CAST(Tc        , 0x40010000U) /*  (TC0       ) Base Address */
4082 #define TC1        CAST(Tc        , 0x40014000U) /*  (TC1       ) Base Address */
4083 #define TWI0       CAST(Twi       , 0x40018000U) /*  (TWI0      ) Base Address */
4084 #define PDC_TWI0   CAST(Pdc       , 0x40018100U) /*  (PDC_TWI0  ) Base Address */
4085 #define TWI1       CAST(Twi       , 0x4001C000U) /*  (TWI1      ) Base Address */
4086 #define PWM        CAST(Pwm       , 0x40020000U) /*  (PWM       ) Base Address */
4087 #define USART0     CAST(Usart     , 0x40024000U) /*  (USART0    ) Base Address */
4088 #define PDC_USART0 CAST(Pdc       , 0x40024100U) /*  (PDC_USART0) Base Address */
4089 #define USART1     CAST(Usart     , 0x40028000U) /*  (USART1    ) Base Address */
4090 #define ADC        CAST(Adc       , 0x40038000U) /*  (ADC       ) Base Address */
4091 #define PDC_ADC    CAST(Pdc       , 0x40038100U) /*  (PDC_ADC   ) Base Address */
4092 #define DACC       CAST(Dacc      , 0x4003C000U) /*  (DACC      ) Base Address */
4093 #define PDC_DACC   CAST(Pdc       , 0x4003C100U) /*  (PDC_DACC  ) Base Address */
4094 #define MATRIX     CAST(Matrix    , 0x400E0200U) /*  (MATRIX    ) Base Address */
4095 #define PMC        CAST(Pmc       , 0x400E0400U) /*  (PMC       ) Base Address */
4096 #define UART0      CAST(Uart      , 0x400E0600U) /*  (UART0     ) Base Address */
4097 #define PDC_UART0  CAST(Pdc       , 0x400E0700U) /*  (PDC_UART0 ) Base Address */
4098 #define CHIPID     CAST(Chipid    , 0x400E0740U) /*  (CHIPID    ) Base Address */
4099 #define UART1      CAST(Uart      , 0x400E0800U) /*  (UART1     ) Base Address */
4100 #define EFC        CAST(Efc       , 0x400E0A00U) /*  (EFC       ) Base Address */
4101 #define PIOA       CAST(Pio       , 0x400E0E00U) /*  (PIOA      ) Base Address */
4102 #define PIOB       CAST(Pio       , 0x400E1000U) /*  (PIOB      ) Base Address */
4103 #define PIOC       CAST(Pio       , 0x400E1200U) /*  (PIOC      ) Base Address */
4104 #define RSTC       CAST(Rstc      , 0x400E1400U) /*  (RSTC      ) Base Address */
4105 #define SUPC       CAST(Supc      , 0x400E1410U) /*  (SUPC      ) Base Address */
4106 #define RTT        CAST(Rtt       , 0x400E1430U) /*  (RTT       ) Base Address */
4107 #define WDT        CAST(Wdt       , 0x400E1450U) /*  (WDT       ) Base Address */
4108 #define RTC        CAST(Rtc       , 0x400E1460U) /*  (RTC       ) Base Address */
4109 #define GPBR       CAST(Gpbr      , 0x400E1490U) /*  (GPBR      ) Base Address */
4110
4111 /* ************************************************************************** */
4112 /*   PIO DEFINITIONS FOR SAM3N */
4113 /* ************************************************************************** */
4114
4115 #define PIO_PA0          (1u << 0) /*  Pin Controlled by PA0 */
4116 #define PIO_PA1          (1u << 1) /*  Pin Controlled by PA1 */
4117 #define PIO_PA2          (1u << 2) /*  Pin Controlled by PA2 */
4118 #define PIO_PA3          (1u << 3) /*  Pin Controlled by PA3 */
4119 #define PIO_PA4          (1u << 4) /*  Pin Controlled by PA4 */
4120 #define PIO_PA5          (1u << 5) /*  Pin Controlled by PA5 */
4121 #define PIO_PA6          (1u << 6) /*  Pin Controlled by PA6 */
4122 #define PIO_PA7          (1u << 7) /*  Pin Controlled by PA7 */
4123 #define PIO_PA8          (1u << 8) /*  Pin Controlled by PA8 */
4124 #define PIO_PA9          (1u << 9) /*  Pin Controlled by PA9 */
4125 #define PIO_PA10         (1u << 10) /*  Pin Controlled by PA10 */
4126 #define PIO_PA11         (1u << 11) /*  Pin Controlled by PA11 */
4127 #define PIO_PA12         (1u << 12) /*  Pin Controlled by PA12 */
4128 #define PIO_PA13         (1u << 13) /*  Pin Controlled by PA13 */
4129 #define PIO_PA14         (1u << 14) /*  Pin Controlled by PA14 */
4130 #define PIO_PA15         (1u << 15) /*  Pin Controlled by PA15 */
4131 #define PIO_PA16         (1u << 16) /*  Pin Controlled by PA16 */
4132 #define PIO_PA17         (1u << 17) /*  Pin Controlled by PA17 */
4133 #define PIO_PA18         (1u << 18) /*  Pin Controlled by PA18 */
4134 #define PIO_PA19         (1u << 19) /*  Pin Controlled by PA19 */
4135 #define PIO_PA20         (1u << 20) /*  Pin Controlled by PA20 */
4136 #define PIO_PA21         (1u << 21) /*  Pin Controlled by PA21 */
4137 #define PIO_PA22         (1u << 22) /*  Pin Controlled by PA22 */
4138 #define PIO_PA23         (1u << 23) /*  Pin Controlled by PA23 */
4139 #define PIO_PA24         (1u << 24) /*  Pin Controlled by PA24 */
4140 #define PIO_PA25         (1u << 25) /*  Pin Controlled by PA25 */
4141 #define PIO_PA26         (1u << 26) /*  Pin Controlled by PA26 */
4142 #define PIO_PA27         (1u << 27) /*  Pin Controlled by PA27 */
4143 #define PIO_PA28         (1u << 28) /*  Pin Controlled by PA28 */
4144 #define PIO_PA29         (1u << 29) /*  Pin Controlled by PA29 */
4145 #define PIO_PA30         (1u << 30) /*  Pin Controlled by PA30 */
4146 #define PIO_PA31         (1u << 31) /*  Pin Controlled by PA31 */
4147 #define PIO_PB0          (1u << 0) /*  Pin Controlled by PB0 */
4148 #define PIO_PB1          (1u << 1) /*  Pin Controlled by PB1 */
4149 #define PIO_PB2          (1u << 2) /*  Pin Controlled by PB2 */
4150 #define PIO_PB3          (1u << 3) /*  Pin Controlled by PB3 */
4151 #define PIO_PB4          (1u << 4) /*  Pin Controlled by PB4 */
4152 #define PIO_PB5          (1u << 5) /*  Pin Controlled by PB5 */
4153 #define PIO_PB6          (1u << 6) /*  Pin Controlled by PB6 */
4154 #define PIO_PB7          (1u << 7) /*  Pin Controlled by PB7 */
4155 #define PIO_PB8          (1u << 8) /*  Pin Controlled by PB8 */
4156 #define PIO_PB9          (1u << 9) /*  Pin Controlled by PB9 */
4157 #define PIO_PB10         (1u << 10) /*  Pin Controlled by PB10 */
4158 #define PIO_PB11         (1u << 11) /*  Pin Controlled by PB11 */
4159 #define PIO_PB12         (1u << 12) /*  Pin Controlled by PB12 */
4160 #define PIO_PB13         (1u << 13) /*  Pin Controlled by PB13 */
4161 #define PIO_PB14         (1u << 14) /*  Pin Controlled by PB14 */
4162 #define PIO_PC0          (1u << 0) /*  Pin Controlled by PC0 */
4163 #define PIO_PC1          (1u << 1) /*  Pin Controlled by PC1 */
4164 #define PIO_PC2          (1u << 2) /*  Pin Controlled by PC2 */
4165 #define PIO_PC3          (1u << 3) /*  Pin Controlled by PC3 */
4166 #define PIO_PC4          (1u << 4) /*  Pin Controlled by PC4 */
4167 #define PIO_PC5          (1u << 5) /*  Pin Controlled by PC5 */
4168 #define PIO_PC6          (1u << 6) /*  Pin Controlled by PC6 */
4169 #define PIO_PC7          (1u << 7) /*  Pin Controlled by PC7 */
4170 #define PIO_PC8          (1u << 8) /*  Pin Controlled by PC8 */
4171 #define PIO_PC9          (1u << 9) /*  Pin Controlled by PC9 */
4172 #define PIO_PC10         (1u << 10) /*  Pin Controlled by PC10 */
4173 #define PIO_PC11         (1u << 11) /*  Pin Controlled by PC11 */
4174 #define PIO_PC12         (1u << 12) /*  Pin Controlled by PC12 */
4175 #define PIO_PC13         (1u << 13) /*  Pin Controlled by PC13 */
4176 #define PIO_PC14         (1u << 14) /*  Pin Controlled by PC14 */
4177 #define PIO_PC15         (1u << 15) /*  Pin Controlled by PC15 */
4178 #define PIO_PC16         (1u << 16) /*  Pin Controlled by PC16 */
4179 #define PIO_PC17         (1u << 17) /*  Pin Controlled by PC17 */
4180 #define PIO_PC18         (1u << 18) /*  Pin Controlled by PC18 */
4181 #define PIO_PC19         (1u << 19) /*  Pin Controlled by PC19 */
4182 #define PIO_PC20         (1u << 20) /*  Pin Controlled by PC20 */
4183 #define PIO_PC21         (1u << 21) /*  Pin Controlled by PC21 */
4184 #define PIO_PC22         (1u << 22) /*  Pin Controlled by PC22 */
4185 #define PIO_PC23         (1u << 23) /*  Pin Controlled by PC23 */
4186 #define PIO_PC24         (1u << 24) /*  Pin Controlled by PC24 */
4187 #define PIO_PC25         (1u << 25) /*  Pin Controlled by PC25 */
4188 #define PIO_PC26         (1u << 26) /*  Pin Controlled by PC26 */
4189 #define PIO_PC27         (1u << 27) /*  Pin Controlled by PC27 */
4190 #define PIO_PC28         (1u << 28) /*  Pin Controlled by PC28 */
4191 #define PIO_PC29         (1u << 29) /*  Pin Controlled by PC29 */
4192 #define PIO_PC30         (1u << 30) /*  Pin Controlled by PC30 */
4193 #define PIO_PC31         (1u << 31) /*  Pin Controlled by PC31 */
4194 /* ========== Pio definition for SPI peripheral ========== */
4195 #define PIO_PA12A_MISO       (1u << 12)  /*  Spi signal: MISO */
4196 #define PIO_PA13A_MOSI       (1u << 13)  /*  Spi signal: MOSI */
4197 #define PIO_PA11A_NPCS0      (1u << 11)  /*  Spi signal: NPCS0 */
4198 #define PIO_PA9B_NPCS1       (1u << 9)   /*  Spi signal: NPCS1 */
4199 #define PIO_PA31A_NPCS1      (1u << 31)  /*  Spi signal: NPCS1 */
4200 #define PIO_PB14A_NPCS1      (1u << 14)  /*  Spi signal: NPCS1 */
4201 #define PIO_PC4B_NPCS1       (1u << 4)   /*  Spi signal: NPCS1 */
4202 #define PIO_PA10B_NPCS2      (1u << 10)  /*  Spi signal: NPCS2 */
4203 #define PIO_PA30B_NPCS2      (1u << 30)  /*  Spi signal: NPCS2 */
4204 #define PIO_PB2B_NPCS2       (1u << 2)   /*  Spi signal: NPCS2 */
4205 #define PIO_PC7B_NPCS2       (1u << 7)   /*  Spi signal: NPCS2 */
4206 #define PIO_PA3B_NPCS3       (1u << 3)   /*  Spi signal: NPCS3 */
4207 #define PIO_PA5B_NPCS3       (1u << 5)   /*  Spi signal: NPCS3 */
4208 #define PIO_PA22B_NPCS3      (1u << 22)  /*  Spi signal: NPCS3 */
4209 #define PIO_PA14A_SPCK       (1u << 14)  /*  Spi signal: SPCK */
4210 /* ========== Pio definition for TC0 peripheral ========== */
4211 #define PIO_PA4B_TCLK0       (1u << 4)   /*  Tc0 signal: TCLK0 */
4212 #define PIO_PA28B_TCLK1      (1u << 28)  /*  Tc0 signal: TCLK1 */
4213 #define PIO_PA29B_TCLK2      (1u << 29)  /*  Tc0 signal: TCLK2 */
4214 #define PIO_PA0B_TIOA0       (1u << 0)   /*  Tc0 signal: TIOA0 */
4215 #define PIO_PA15B_TIOA1      (1u << 15)  /*  Tc0 signal: TIOA1 */
4216 #define PIO_PA26B_TIOA2      (1u << 26)  /*  Tc0 signal: TIOA2 */
4217 #define PIO_PA1B_TIOB0       (1u << 1)   /*  Tc0 signal: TIOB0 */
4218 #define PIO_PA16B_TIOB1      (1u << 16)  /*  Tc0 signal: TIOB1 */
4219 #define PIO_PA27B_TIOB2      (1u << 27)  /*  Tc0 signal: TIOB2 */
4220 /* ========== Pio definition for TC1 peripheral ========== */
4221 #define PIO_PC25B_TCLK3      (1u << 25)  /*  Tc1 signal: TCLK3 */
4222 #define PIO_PC28B_TCLK4      (1u << 28)  /*  Tc1 signal: TCLK4 */
4223 #define PIO_PC31B_TCLK5      (1u << 31)  /*  Tc1 signal: TCLK5 */
4224 #define PIO_PC23B_TIOA3      (1u << 23)  /*  Tc1 signal: TIOA3 */
4225 #define PIO_PC26B_TIOA4      (1u << 26)  /*  Tc1 signal: TIOA4 */
4226 #define PIO_PC29B_TIOA5      (1u << 29)  /*  Tc1 signal: TIOA5 */
4227 #define PIO_PC24B_TIOB3      (1u << 24)  /*  Tc1 signal: TIOB3 */
4228 #define PIO_PC27B_TIOB4      (1u << 27)  /*  Tc1 signal: TIOB4 */
4229 #define PIO_PC30B_TIOB5      (1u << 30)  /*  Tc1 signal: TIOB5 */
4230 /* ========== Pio definition for TWI0 peripheral ========== */
4231 #define PIO_PA4A_TWCK0       (1u << 4)   /*  Twi0 signal: TWCK0 */
4232 #define PIO_PA3A_TWD0        (1u << 3)   /*  Twi0 signal: TWD0 */
4233 /* ========== Pio definition for TWI1 peripheral ========== */
4234 #define PIO_PB5A_TWCK1       (1u << 5)   /*  Twi1 signal: TWCK1 */
4235 #define PIO_PB4A_TWD1        (1u << 4)   /*  Twi1 signal: TWD1 */
4236 /* ========== Pio definition for PWM peripheral ========== */
4237 #define PIO_PA0A_PWM0        (1u << 0)   /*  Pwm signal: PWM0 */
4238 #define PIO_PA11B_PWM0       (1u << 11)  /*  Pwm signal: PWM0 */
4239 #define PIO_PA23B_PWM0       (1u << 23)  /*  Pwm signal: PWM0 */
4240 #define PIO_PB0A_PWM0        (1u << 0)   /*  Pwm signal: PWM0 */
4241 #define PIO_PC8B_PWM0        (1u << 8)   /*  Pwm signal: PWM0 */
4242 #define PIO_PC18B_PWM0       (1u << 18)  /*  Pwm signal: PWM0 */
4243 #define PIO_PC22B_PWM0       (1u << 22)  /*  Pwm signal: PWM0 */
4244 #define PIO_PA1A_PWM1        (1u << 1)   /*  Pwm signal: PWM1 */
4245 #define PIO_PA12B_PWM1       (1u << 12)  /*  Pwm signal: PWM1 */
4246 #define PIO_PA24B_PWM1       (1u << 24)  /*  Pwm signal: PWM1 */
4247 #define PIO_PB1A_PWM1        (1u << 1)   /*  Pwm signal: PWM1 */
4248 #define PIO_PC9B_PWM1        (1u << 9)   /*  Pwm signal: PWM1 */
4249 #define PIO_PC19B_PWM1       (1u << 19)  /*  Pwm signal: PWM1 */
4250 #define PIO_PA2A_PWM2        (1u << 2)   /*  Pwm signal: PWM2 */
4251 #define PIO_PA13B_PWM2       (1u << 13)  /*  Pwm signal: PWM2 */
4252 #define PIO_PA25B_PWM2       (1u << 25)  /*  Pwm signal: PWM2 */
4253 #define PIO_PB4B_PWM2        (1u << 4)   /*  Pwm signal: PWM2 */
4254 #define PIO_PC10B_PWM2       (1u << 10)  /*  Pwm signal: PWM2 */
4255 #define PIO_PC20B_PWM2       (1u << 20)  /*  Pwm signal: PWM2 */
4256 #define PIO_PA7B_PWM3        (1u << 7)   /*  Pwm signal: PWM3 */
4257 #define PIO_PA14B_PWM3       (1u << 14)  /*  Pwm signal: PWM3 */
4258 #define PIO_PB14B_PWM3       (1u << 14)  /*  Pwm signal: PWM3 */
4259 #define PIO_PC11B_PWM3       (1u << 11)  /*  Pwm signal: PWM3 */
4260 #define PIO_PC21B_PWM3       (1u << 21)  /*  Pwm signal: PWM3 */
4261 /* ========== Pio definition for USART0 peripheral ========== */
4262 #define PIO_PA8A_CTS0        (1u << 8)   /*  Usart0 signal: CTS0 */
4263 #define PIO_PA7A_RTS0        (1u << 7)   /*  Usart0 signal: RTS0 */
4264 #define PIO_PA5A_RXD0        (1u << 5)   /*  Usart0 signal: RXD0 */
4265 #define PIO_PA2B_SCK0        (1u << 2)   /*  Usart0 signal: SCK0 */
4266 #define PIO_PA6A_TXD0        (1u << 6)   /*  Usart0 signal: TXD0 */
4267 /* ========== Pio definition for USART1 peripheral ========== */
4268 #define PIO_PA25A_CTS1       (1u << 25)  /*  Usart1 signal: CTS1 */
4269 #define PIO_PA24A_RTS1       (1u << 24)  /*  Usart1 signal: RTS1 */
4270 #define PIO_PA21A_RXD1       (1u << 21)  /*  Usart1 signal: RXD1 */
4271 #define PIO_PA23A_SCK1       (1u << 23)  /*  Usart1 signal: SCK1 */
4272 #define PIO_PA22A_TXD1       (1u << 22)  /*  Usart1 signal: TXD1 */
4273 /* ========== Pio definition for ADC peripheral ========== */
4274 #define PIO_PA17X1_AD0       (1u << 17)  /*  Adc signal: AD0 */
4275 #define PIO_PA18X1_AD1       (1u << 18)  /*  Adc signal: AD1 */
4276 #define PIO_PC13X1_AD10      (1u << 13)  /*  Adc signal: AD10 */
4277 #define PIO_PC15X1_AD11      (1u << 15)  /*  Adc signal: AD11 */
4278 #define PIO_PC12X1_AD12      (1u << 12)  /*  Adc signal: AD12 */
4279 #define PIO_PC29X1_AD13      (1u << 29)  /*  Adc signal: AD13 */
4280 #define PIO_PC30X1_AD14      (1u << 30)  /*  Adc signal: AD14 */
4281 #define PIO_PC31X1_AD15      (1u << 31)  /*  Adc signal: AD15 */
4282 #define PIO_PA19X1_AD2_WKUP9 (1u << 19)  /*  Adc signal: AD2/WKUP9 */
4283 #define PIO_PA20X1_AD3_WKUP10 (1u << 20) /*  Adc signal: AD3/WKUP10 */
4284 #define PIO_PB0X1_AD4        (1u << 0)   /*  Adc signal: AD4 */
4285 #define PIO_PB1X1_AD5        (1u << 1)   /*  Adc signal: AD5 */
4286 #define PIO_PB2X1_AD6_WKUP12 (1u << 2)   /*  Adc signal: AD6/WKUP12 */
4287 #define PIO_PB3X1_AD7        (1u << 3)   /*  Adc signal: AD7 */
4288 #define PIO_PA21X1_AD8       (1u << 21)  /*  Adc signal: AD8 */
4289 #define PIO_PA22X1_AD9       (1u << 22)  /*  Adc signal: AD9 */
4290 #define PIO_PA8B_ADTRG       (1u << 8)   /*  Adc signal: ADTRG */
4291 /* ========== Pio definition for DACC peripheral ========== */
4292 #define PIO_PB13X1_DAC0      (1u << 13)  /*  Dacc signal: DAC0 */
4293 /* ========== Pio definition for PMC peripheral ========== */
4294 #define PIO_PA6B_PCK0        (1u << 6)   /*  Pmc signal: PCK0 */
4295 #define PIO_PB13B_PCK0       (1u << 13)  /*  Pmc signal: PCK0 */
4296 #define PIO_PC16B_PCK0       (1u << 16)  /*  Pmc signal: PCK0 */
4297 #define PIO_PA17B_PCK1       (1u << 17)  /*  Pmc signal: PCK1 */
4298 #define PIO_PA21B_PCK1       (1u << 21)  /*  Pmc signal: PCK1 */
4299 #define PIO_PC17B_PCK1       (1u << 17)  /*  Pmc signal: PCK1 */
4300 #define PIO_PA18B_PCK2       (1u << 18)  /*  Pmc signal: PCK2 */
4301 #define PIO_PA31B_PCK2       (1u << 31)  /*  Pmc signal: PCK2 */
4302 #define PIO_PB3B_PCK2        (1u << 3)   /*  Pmc signal: PCK2 */
4303 #define PIO_PC14B_PCK2       (1u << 14)  /*  Pmc signal: PCK2 */
4304 /* ========== Pio definition for UART0 peripheral ========== */
4305 #define PIO_PA9A_URXD0       (1u << 9)   /*  Uart0 signal: URXD0 */
4306 #define PIO_PA10A_UTXD0      (1u << 10)  /*  Uart0 signal: UTXD0 */
4307 /* ========== Pio definition for UART1 peripheral ========== */
4308 #define PIO_PB2A_URXD1       (1u << 2)   /*  Uart1 signal: URXD1 */
4309 #define PIO_PB3A_UTXD1       (1u << 3)   /*  Uart1 signal: UTXD1 */
4310
4311 /* ************************************************************************** */
4312 /*   MEMORY MAPPING DEFINITIONS FOR SAM3N */
4313 /* ************************************************************************** */
4314
4315 #define IFLASH_ADDR (0x00400000u) /* Internal Flash base address */
4316 #define IROM_ADDR   (0x00800000u) /* Internal ROM base address */
4317 #define IRAM_ADDR   (0x20000000u) /* Internal RAM base address */
4318
4319 #if CPU_CM3_SAM3N1
4320 #define IFLASH_SIZE 0x10000
4321 #define IFLASH_PAGE_SIZE              (256) /* Internal FLASH 0 Page Size: 256 bytes */
4322 #define IFLASH_LOCK_REGION_SIZE     (16384) /* Internal FLASH 0 Lock Region Size: 16 Kbytes */
4323 #define IFLASH_NB_OF_PAGES            (256) /* Internal FLASH 0 Number of Pages: 256 */
4324 #define IFLASH_NB_OF_LOCK_BITS          (4) /* Internal FLASH 0 Number of Lock Bits: 4 */
4325 #define IRAM_SIZE 0x2000
4326 #elif CPU_CM3_SAM3N2
4327 #define IFLASH_SIZE 0x20000
4328 #define IFLASH_PAGE_SIZE              (256) /* Internal FLASH 0 Page Size: 256 bytes */
4329 #define IFLASH_LOCK_REGION_SIZE     (16384) /* Internal FLASH 0 Lock Region Size: 16 Kbytes */
4330 #define IFLASH_NB_OF_PAGES            (512) /* Internal FLASH 0 Number of Pages: 512 */
4331 #define IFLASH_NB_OF_LOCK_BITS          (8) /* Internal FLASH 0 Number of Lock Bits: 8 */
4332 #define IRAM_SIZE 0x4000
4333 #elif CPU_CM3_SAM3N4
4334 #define IFLASH_SIZE 0x40000
4335 #define IFLASH_PAGE_SIZE              (256) /* Internal FLASH 0 Page Size: 256 bytes */
4336 #define IFLASH_LOCK_REGION_SIZE     (16384) /* Internal FLASH 0 Lock Region Size: 16 Kbytes */
4337 #define IFLASH_NB_OF_PAGES           (1024) /* Internal FLASH 0 Number of Pages: 1024 */
4338 #define IFLASH_NB_OF_LOCK_BITS         (16) /* Internal FLASH 0 Number of Lock Bits: 16 */
4339 #define IRAM_SIZE 0x6000
4340 #else
4341   #error Library does not support the specified device.
4342 #endif
4343
4344 #ifdef __cplusplus
4345 }
4346 #endif
4347
4348
4349 #endif /* SAM3N_H */