RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
bsps
arm
atsam
include
libchip
include
sams70
sams70q20.h
1
/* ---------------------------------------------------------------------------- */
2
/* Atmel Microcontroller Software Support */
3
/* SAM Software Package License */
4
/* ---------------------------------------------------------------------------- */
5
/* Copyright (c) 2015, Atmel Corporation */
6
/* */
7
/* All rights reserved. */
8
/* */
9
/* Redistribution and use in source and binary forms, with or without */
10
/* modification, are permitted provided that the following condition is met: */
11
/* */
12
/* - Redistributions of source code must retain the above copyright notice, */
13
/* this list of conditions and the disclaimer below. */
14
/* */
15
/* Atmel's name may not be used to endorse or promote products derived from */
16
/* this software without specific prior written permission. */
17
/* */
18
/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
19
/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
20
/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
21
/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
22
/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
23
/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
24
/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
25
/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
26
/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
27
/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
28
/* ---------------------------------------------------------------------------- */
29
30
#ifndef _SAMS70Q20_
31
#define _SAMS70Q20_
32
41
42
#ifdef __cplusplus
43
extern
"C"
{
44
#endif
45
46
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
47
#include <stdint.h>
48
#endif
49
50
/* ************************************************************************** */
51
/* CMSIS DEFINITIONS FOR SAMS70Q20 */
52
/* ************************************************************************** */
55
57
typedef
enum
IRQn
58
{
59
/****** Cortex-M7 Processor Exceptions Numbers ******************************/
60
NonMaskableInt_IRQn = -14,
61
HardFault_IRQn = -13,
62
MemoryManagement_IRQn = -12,
63
BusFault_IRQn = -11,
64
UsageFault_IRQn = -10,
65
SVCall_IRQn = -5,
66
DebugMonitor_IRQn = -4,
67
PendSV_IRQn = -2,
68
SysTick_IRQn = -1,
69
/****** SAMS70Q20 specific Interrupt Numbers *********************************/
70
71
SUPC_IRQn = 0,
72
RSTC_IRQn = 1,
73
RTC_IRQn = 2,
74
RTT_IRQn = 3,
75
WDT_IRQn = 4,
76
PMC_IRQn = 5,
77
EFC_IRQn = 6,
78
UART0_IRQn = 7,
79
UART1_IRQn = 8,
80
PIOA_IRQn = 10,
81
PIOB_IRQn = 11,
82
PIOC_IRQn = 12,
83
USART0_IRQn = 13,
84
USART1_IRQn = 14,
85
USART2_IRQn = 15,
86
PIOD_IRQn = 16,
87
PIOE_IRQn = 17,
88
HSMCI_IRQn = 18,
89
TWIHS0_IRQn = 19,
90
TWIHS1_IRQn = 20,
91
SPI0_IRQn = 21,
92
SSC_IRQn = 22,
93
TC0_IRQn = 23,
94
TC1_IRQn = 24,
95
TC2_IRQn = 25,
96
TC3_IRQn = 26,
97
TC4_IRQn = 27,
98
TC5_IRQn = 28,
99
AFEC0_IRQn = 29,
100
DACC_IRQn = 30,
101
PWM0_IRQn = 31,
102
ICM_IRQn = 32,
103
ACC_IRQn = 33,
104
USBHS_IRQn = 34,
105
AFEC1_IRQn = 40,
106
TWIHS2_IRQn = 41,
107
SPI1_IRQn = 42,
108
QSPI_IRQn = 43,
109
UART2_IRQn = 44,
110
UART3_IRQn = 45,
111
UART4_IRQn = 46,
112
TC6_IRQn = 47,
113
TC7_IRQn = 48,
114
TC8_IRQn = 49,
115
TC9_IRQn = 50,
116
TC10_IRQn = 51,
117
TC11_IRQn = 52,
118
AES_IRQn = 56,
119
TRNG_IRQn = 57,
120
XDMAC_IRQn = 58,
121
ISI_IRQn = 59,
122
PWM1_IRQn = 60,
123
SDRAMC_IRQn = 62,
124
RSWDT_IRQn = 63,
125
126
PERIPH_COUNT_IRQn = 64
127
}
IRQn_Type
;
128
129
typedef
struct
_DeviceVectors
130
{
131
/* Stack pointer */
132
void
* pvStack;
133
134
/* Cortex-M handlers */
135
void
* pfnReset_Handler;
136
void
* pfnNMI_Handler;
137
void
* pfnHardFault_Handler;
138
void
* pfnMemManage_Handler;
139
void
* pfnBusFault_Handler;
140
void
* pfnUsageFault_Handler;
141
void
* pfnReserved1_Handler;
142
void
* pfnReserved2_Handler;
143
void
* pfnReserved3_Handler;
144
void
* pfnReserved4_Handler;
145
void
* pfnSVC_Handler;
146
void
* pfnDebugMon_Handler;
147
void
* pfnReserved5_Handler;
148
void
* pfnPendSV_Handler;
149
void
* pfnSysTick_Handler;
150
151
/* Peripheral handlers */
152
void
* pfnSUPC_Handler;
/* 0 Supply Controller */
153
void
* pfnRSTC_Handler;
/* 1 Reset Controller */
154
void
* pfnRTC_Handler;
/* 2 Real Time Clock */
155
void
* pfnRTT_Handler;
/* 3 Real Time Timer */
156
void
* pfnWDT_Handler;
/* 4 Watchdog Timer */
157
void
* pfnPMC_Handler;
/* 5 Power Management Controller */
158
void
* pfnEFC_Handler;
/* 6 Enhanced Embedded Flash Controller */
159
void
* pfnUART0_Handler;
/* 7 UART 0 */
160
void
* pfnUART1_Handler;
/* 8 UART 1 */
161
void
* pvReserved9;
162
void
* pfnPIOA_Handler;
/* 10 Parallel I/O Controller A */
163
void
* pfnPIOB_Handler;
/* 11 Parallel I/O Controller B */
164
void
* pfnPIOC_Handler;
/* 12 Parallel I/O Controller C */
165
void
* pfnUSART0_Handler;
/* 13 USART 0 */
166
void
* pfnUSART1_Handler;
/* 14 USART 1 */
167
void
* pfnUSART2_Handler;
/* 15 USART 2 */
168
void
* pfnPIOD_Handler;
/* 16 Parallel I/O Controller D */
169
void
* pfnPIOE_Handler;
/* 17 Parallel I/O Controller E */
170
void
* pfnHSMCI_Handler;
/* 18 Multimedia Card Interface */
171
void
* pfnTWIHS0_Handler;
/* 19 Two Wire Interface 0 HS */
172
void
* pfnTWIHS1_Handler;
/* 20 Two Wire Interface 1 HS */
173
void
* pfnSPI0_Handler;
/* 21 Serial Peripheral Interface 0 */
174
void
* pfnSSC_Handler;
/* 22 Synchronous Serial Controller */
175
void
* pfnTC0_Handler;
/* 23 Timer/Counter 0 */
176
void
* pfnTC1_Handler;
/* 24 Timer/Counter 1 */
177
void
* pfnTC2_Handler;
/* 25 Timer/Counter 2 */
178
void
* pfnTC3_Handler;
/* 26 Timer/Counter 3 */
179
void
* pfnTC4_Handler;
/* 27 Timer/Counter 4 */
180
void
* pfnTC5_Handler;
/* 28 Timer/Counter 5 */
181
void
* pfnAFEC0_Handler;
/* 29 Analog Front End 0 */
182
void
* pfnDACC_Handler;
/* 30 Digital To Analog Converter */
183
void
* pfnPWM0_Handler;
/* 31 Pulse Width Modulation 0 */
184
void
* pfnICM_Handler;
/* 32 Integrity Check Monitor */
185
void
* pfnACC_Handler;
/* 33 Analog Comparator */
186
void
* pfnUSBHS_Handler;
/* 34 USB Host / Device Controller */
187
void
* pvReserved35;
188
void
* pvReserved36;
189
void
* pvReserved37;
190
void
* pvReserved38;
191
void
* pvReserved39;
192
void
* pfnAFEC1_Handler;
/* 40 Analog Front End 1 */
193
void
* pfnTWIHS2_Handler;
/* 41 Two Wire Interface 2 HS */
194
void
* pfnSPI1_Handler;
/* 42 Serial Peripheral Interface 1 */
195
void
* pfnQSPI_Handler;
/* 43 Quad I/O Serial Peripheral Interface */
196
void
* pfnUART2_Handler;
/* 44 UART 2 */
197
void
* pfnUART3_Handler;
/* 45 UART 3 */
198
void
* pfnUART4_Handler;
/* 46 UART 4 */
199
void
* pfnTC6_Handler;
/* 47 Timer/Counter 6 */
200
void
* pfnTC7_Handler;
/* 48 Timer/Counter 7 */
201
void
* pfnTC8_Handler;
/* 49 Timer/Counter 8 */
202
void
* pfnTC9_Handler;
/* 50 Timer/Counter 9 */
203
void
* pfnTC10_Handler;
/* 51 Timer/Counter 10 */
204
void
* pfnTC11_Handler;
/* 52 Timer/Counter 11 */
205
void
* pvReserved53;
206
void
* pvReserved54;
207
void
* pvReserved55;
208
void
* pfnAES_Handler;
/* 56 AES */
209
void
* pfnTRNG_Handler;
/* 57 True Random Generator */
210
void
* pfnXDMAC_Handler;
/* 58 DMA */
211
void
* pfnISI_Handler;
/* 59 Camera Interface */
212
void
* pfnPWM1_Handler;
/* 60 Pulse Width Modulation 1 */
213
void
* pvReserved61;
214
void
* pfnSDRAMC_Handler;
/* 62 SDRAM Controller */
215
void
* pfnRSWDT_Handler;
/* 63 Reinforced Secure Watchdog Timer */
216
} DeviceVectors;
217
218
/* Cortex-M7 core handlers */
219
void
Reset_Handler (
void
);
220
void
NMI_Handler
(
void
);
221
void
HardFault_Handler
(
void
);
222
void
MemManage_Handler
(
void
);
223
void
BusFault_Handler
(
void
);
224
void
UsageFault_Handler
(
void
);
225
void
SVC_Handler (
void
);
226
void
DebugMon_Handler (
void
);
227
void
PendSV_Handler (
void
);
228
void
SysTick_Handler (
void
);
229
230
/* Peripherals handlers */
231
void
ACC_Handler (
void
);
232
void
AES_Handler (
void
);
233
void
AFEC0_Handler (
void
);
234
void
AFEC1_Handler (
void
);
235
void
DACC_Handler (
void
);
236
void
EFC_Handler (
void
);
237
void
HSMCI_Handler (
void
);
238
void
ICM_Handler (
void
);
239
void
ISI_Handler (
void
);
240
void
PIOA_Handler (
void
);
241
void
PIOB_Handler (
void
);
242
void
PIOC_Handler (
void
);
243
void
PIOD_Handler (
void
);
244
void
PIOE_Handler (
void
);
245
void
PMC_Handler (
void
);
246
void
PWM0_Handler (
void
);
247
void
PWM1_Handler (
void
);
248
void
QSPI_Handler (
void
);
249
void
RSTC_Handler (
void
);
250
void
RSWDT_Handler (
void
);
251
void
RTC_Handler (
void
);
252
void
RTT_Handler (
void
);
253
void
SDRAMC_Handler (
void
);
254
void
SPI0_Handler (
void
);
255
void
SPI1_Handler (
void
);
256
void
SSC_Handler (
void
);
257
void
SUPC_Handler (
void
);
258
void
TC0_Handler (
void
);
259
void
TC1_Handler (
void
);
260
void
TC2_Handler (
void
);
261
void
TC3_Handler (
void
);
262
void
TC4_Handler (
void
);
263
void
TC5_Handler (
void
);
264
void
TC6_Handler (
void
);
265
void
TC7_Handler (
void
);
266
void
TC8_Handler (
void
);
267
void
TC9_Handler (
void
);
268
void
TC10_Handler (
void
);
269
void
TC11_Handler (
void
);
270
void
TRNG_Handler (
void
);
271
void
TWIHS0_Handler (
void
);
272
void
TWIHS1_Handler (
void
);
273
void
TWIHS2_Handler (
void
);
274
void
UART0_Handler (
void
);
275
void
UART1_Handler (
void
);
276
void
UART2_Handler (
void
);
277
void
UART3_Handler (
void
);
278
void
UART4_Handler (
void
);
279
void
USART0_Handler (
void
);
280
void
USART1_Handler (
void
);
281
void
USART2_Handler (
void
);
282
void
USBHS_Handler (
void
);
283
void
WDT_Handler (
void
);
284
void
XDMAC_Handler (
void
);
285
289
290
#define __CM7_REV 0x0000
291
#define __MPU_PRESENT 1
292
#define __NVIC_PRIO_BITS 3
293
#define __FPU_PRESENT 1
294
#define __FPU_DP 1
295
#define __ICACHE_PRESENT 1
296
#define __DCACHE_PRESENT 1
297
#define __DTCM_PRESENT 1
298
#define __ITCM_PRESENT 1
299
#define __Vendor_SysTickConfig 0
300
301
/*
302
* \brief CMSIS includes
303
*/
304
305
#include <
core_cm7.h
>
306
#if !defined DONT_USE_CMSIS_INIT
307
#include "system_sams70.h"
308
#endif
/* DONT_USE_CMSIS_INIT */
309
311
312
/* ************************************************************************** */
314
/* ************************************************************************** */
317
318
#include "component/component_acc.h"
319
#include "component/component_aes.h"
320
#include "component/component_afec.h"
321
#include "component/component_chipid.h"
322
#include "component/component_dacc.h"
323
#include "component/component_efc.h"
324
#include "component/component_gpbr.h"
325
#include "component/component_hsmci.h"
326
#include "component/component_icm.h"
327
#include "component/component_isi.h"
328
#include "component/component_matrix.h"
329
#include "component/component_pio.h"
330
#include "component/component_pmc.h"
331
#include "component/component_pwm.h"
332
#include "component/component_qspi.h"
333
#include "component/component_rstc.h"
334
#include "component/component_rswdt.h"
335
#include "component/component_rtc.h"
336
#include "component/component_rtt.h"
337
#include "component/component_sdramc.h"
338
#include "component/component_smc.h"
339
#include "component/component_spi.h"
340
#include "component/component_ssc.h"
341
#include "component/component_supc.h"
342
#include "component/component_tc.h"
343
#include "component/component_trng.h"
344
#include "component/component_twihs.h"
345
#include "component/component_uart.h"
346
#include "component/component_usart.h"
347
#include "component/component_usbhs.h"
348
#include "component/component_utmi.h"
349
#include "component/component_wdt.h"
350
#include "component/component_xdmac.h"
352
353
#ifndef __rtems__
354
/* ************************************************************************** */
355
/* REGISTER ACCESS DEFINITIONS FOR SAMS70Q20 */
356
/* ************************************************************************** */
359
360
#include "instance/instance_hsmci.h"
361
#include "instance/instance_ssc.h"
362
#include "instance/instance_spi0.h"
363
#include "instance/instance_tc0.h"
364
#include "instance/instance_tc1.h"
365
#include "instance/instance_tc2.h"
366
#include "instance/instance_twihs0.h"
367
#include "instance/instance_twihs1.h"
368
#include "instance/instance_pwm0.h"
369
#include "instance/instance_usart0.h"
370
#include "instance/instance_usart1.h"
371
#include "instance/instance_usart2.h"
372
#include "instance/instance_usbhs.h"
373
#include "instance/instance_afec0.h"
374
#include "instance/instance_dacc.h"
375
#include "instance/instance_acc.h"
376
#include "instance/instance_icm.h"
377
#include "instance/instance_isi.h"
378
#include "instance/instance_tc3.h"
379
#include "instance/instance_spi1.h"
380
#include "instance/instance_pwm1.h"
381
#include "instance/instance_twihs2.h"
382
#include "instance/instance_afec1.h"
383
#include "instance/instance_aes.h"
384
#include "instance/instance_trng.h"
385
#include "instance/instance_xdmac.h"
386
#include "instance/instance_qspi.h"
387
#include "instance/instance_smc.h"
388
#include "instance/instance_sdramc.h"
389
#include "instance/instance_matrix.h"
390
#include "instance/instance_utmi.h"
391
#include "instance/instance_pmc.h"
392
#include "instance/instance_uart0.h"
393
#include "instance/instance_chipid.h"
394
#include "instance/instance_uart1.h"
395
#include "instance/instance_efc.h"
396
#include "instance/instance_pioa.h"
397
#include "instance/instance_piob.h"
398
#include "instance/instance_pioc.h"
399
#include "instance/instance_piod.h"
400
#include "instance/instance_pioe.h"
401
#include "instance/instance_rstc.h"
402
#include "instance/instance_supc.h"
403
#include "instance/instance_rtt.h"
404
#include "instance/instance_wdt.h"
405
#include "instance/instance_rtc.h"
406
#include "instance/instance_gpbr.h"
407
#include "instance/instance_rswdt.h"
408
#include "instance/instance_uart2.h"
409
#include "instance/instance_uart3.h"
410
#include "instance/instance_uart4.h"
412
#endif
/* __rtems__ */
413
414
/* ************************************************************************** */
415
/* PERIPHERAL ID DEFINITIONS FOR SAMS70Q20 */
416
/* ************************************************************************** */
419
420
#define ID_SUPC ( 0)
421
#define ID_RSTC ( 1)
422
#define ID_RTC ( 2)
423
#define ID_RTT ( 3)
424
#define ID_WDT ( 4)
425
#define ID_PMC ( 5)
426
#define ID_EFC ( 6)
427
#define ID_UART0 ( 7)
428
#define ID_UART1 ( 8)
429
#define ID_SMC ( 9)
430
#define ID_PIOA (10)
431
#define ID_PIOB (11)
432
#define ID_PIOC (12)
433
#define ID_USART0 (13)
434
#define ID_USART1 (14)
435
#define ID_USART2 (15)
436
#define ID_PIOD (16)
437
#define ID_PIOE (17)
438
#define ID_HSMCI (18)
439
#define ID_TWIHS0 (19)
440
#define ID_TWIHS1 (20)
441
#define ID_SPI0 (21)
442
#define ID_SSC (22)
443
#define ID_TC0 (23)
444
#define ID_TC1 (24)
445
#define ID_TC2 (25)
446
#define ID_TC3 (26)
447
#define ID_TC4 (27)
448
#define ID_TC5 (28)
449
#define ID_AFEC0 (29)
450
#define ID_DACC (30)
451
#define ID_PWM0 (31)
452
#define ID_ICM (32)
453
#define ID_ACC (33)
454
#define ID_USBHS (34)
455
#define ID_AFEC1 (40)
456
#define ID_TWIHS2 (41)
457
#define ID_SPI1 (42)
458
#define ID_QSPI (43)
459
#define ID_UART2 (44)
460
#define ID_UART3 (45)
461
#define ID_UART4 (46)
462
#define ID_TC6 (47)
463
#define ID_TC7 (48)
464
#define ID_TC8 (49)
465
#define ID_TC9 (50)
466
#define ID_TC10 (51)
467
#define ID_TC11 (52)
468
#define ID_AES (56)
469
#define ID_TRNG (57)
470
#define ID_XDMAC (58)
471
#define ID_ISI (59)
472
#define ID_PWM1 (60)
473
#define ID_SDRAMC (62)
474
#define ID_RSWDT (63)
475
476
#define ID_PERIPH_COUNT (64)
478
479
/* ************************************************************************** */
480
/* BASE ADDRESS DEFINITIONS FOR SAMS70Q20 */
481
/* ************************************************************************** */
484
485
#if (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__))
486
#define HSMCI (0x40000000U)
487
#define SSC (0x40004000U)
488
#define SPI0 (0x40008000U)
489
#define TC0 (0x4000C000U)
490
#define TC1 (0x40010000U)
491
#define TC2 (0x40014000U)
492
#define TWIHS0 (0x40018000U)
493
#define TWIHS1 (0x4001C000U)
494
#define PWM0 (0x40020000U)
495
#define USART0 (0x40024000U)
496
#define USART1 (0x40028000U)
497
#define USART2 (0x4002C000U)
498
#define USBHS (0x40038000U)
499
#define AFEC0 (0x4003C000U)
500
#define DACC (0x40040000U)
501
#define ACC (0x40044000U)
502
#define ICM (0x40048000U)
503
#define ISI (0x4004C000U)
504
#define TC3 (0x40054000U)
505
#define SPI1 (0x40058000U)
506
#define PWM1 (0x4005C000U)
507
#define TWIHS2 (0x40060000U)
508
#define AFEC1 (0x40064000U)
509
#define AES (0x4006C000U)
510
#define TRNG (0x40070000U)
511
#define XDMAC (0x40078000U)
512
#define QSPI (0x4007C000U)
513
#define SMC (0x40080000U)
514
#define SDRAMC (0x40084000U)
515
#define MATRIX (0x40088000U)
516
#define UTMI (0x400E0400U)
517
#define PMC (0x400E0600U)
518
#define UART0 (0x400E0800U)
519
#define CHIPID (0x400E0940U)
520
#define UART1 (0x400E0A00U)
521
#define EFC (0x400E0C00U)
522
#define PIOA (0x400E0E00U)
523
#define PIOB (0x400E1000U)
524
#define PIOC (0x400E1200U)
525
#define PIOD (0x400E1400U)
526
#define PIOE (0x400E1600U)
527
#define RSTC (0x400E1800U)
528
#define SUPC (0x400E1810U)
529
#define RTT (0x400E1830U)
530
#define WDT (0x400E1850U)
531
#define RTC (0x400E1860U)
532
#define GPBR (0x400E1890U)
533
#define RSWDT (0x400E1900U)
534
#define UART2 (0x400E1A00U)
535
#define UART3 (0x400E1C00U)
536
#define UART4 (0x400E1E00U)
537
#else
538
#define HSMCI ((Hsmci *)0x40000000U)
539
#define SSC ((Ssc *)0x40004000U)
540
#define SPI0 ((Spi *)0x40008000U)
541
#define TC0 ((Tc *)0x4000C000U)
542
#define TC1 ((Tc *)0x40010000U)
543
#define TC2 ((Tc *)0x40014000U)
544
#define TWIHS0 ((Twihs *)0x40018000U)
545
#define TWIHS1 ((Twihs *)0x4001C000U)
546
#define PWM0 ((Pwm *)0x40020000U)
547
#define USART0 ((Usart *)0x40024000U)
548
#define USART1 ((Usart *)0x40028000U)
549
#define USART2 ((Usart *)0x4002C000U)
550
#define USBHS ((Usbhs *)0x40038000U)
551
#define AFEC0 ((Afec *)0x4003C000U)
552
#define DACC ((Dacc *)0x40040000U)
553
#define ACC ((Acc *)0x40044000U)
554
#define ICM ((Icm *)0x40048000U)
555
#define ISI ((Isi *)0x4004C000U)
556
#define TC3 ((Tc *)0x40054000U)
557
#define SPI1 ((Spi *)0x40058000U)
558
#define PWM1 ((Pwm *)0x4005C000U)
559
#define TWIHS2 ((Twihs *)0x40060000U)
560
#define AFEC1 ((Afec *)0x40064000U)
561
#define AES ((Aes *)0x4006C000U)
562
#define TRNG ((Trng *)0x40070000U)
563
#define XDMAC ((Xdmac *)0x40078000U)
564
#define QSPI ((Qspi *)0x4007C000U)
565
#define SMC ((Smc *)0x40080000U)
566
#define SDRAMC ((Sdramc *)0x40084000U)
567
#define MATRIX ((Matrix *)0x40088000U)
568
#define UTMI ((Utmi *)0x400E0400U)
569
#define PMC ((Pmc *)0x400E0600U)
570
#define UART0 ((Uart *)0x400E0800U)
571
#define CHIPID ((Chipid *)0x400E0940U)
572
#define UART1 ((Uart *)0x400E0A00U)
573
#define EFC ((Efc *)0x400E0C00U)
574
#define PIOA ((Pio *)0x400E0E00U)
575
#define PIOB ((Pio *)0x400E1000U)
576
#define PIOC ((Pio *)0x400E1200U)
577
#define PIOD ((Pio *)0x400E1400U)
578
#define PIOE ((Pio *)0x400E1600U)
579
#define RSTC ((Rstc *)0x400E1800U)
580
#define SUPC ((Supc *)0x400E1810U)
581
#define RTT ((Rtt *)0x400E1830U)
582
#define WDT ((Wdt *)0x400E1850U)
583
#define RTC ((Rtc *)0x400E1860U)
584
#define GPBR ((Gpbr *)0x400E1890U)
585
#define RSWDT ((Rswdt *)0x400E1900U)
586
#define UART2 ((Uart *)0x400E1A00U)
587
#define UART3 ((Uart *)0x400E1C00U)
588
#define UART4 ((Uart *)0x400E1E00U)
589
#endif
/* (defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */
591
592
/* ************************************************************************** */
593
/* PIO DEFINITIONS FOR SAMS70Q20 */
594
/* ************************************************************************** */
597
598
#include "pio/pio_sams70q20.h"
600
601
/* ************************************************************************** */
602
/* MEMORY MAPPING DEFINITIONS FOR SAMS70Q20 */
603
/* ************************************************************************** */
604
605
#define IFLASH_SIZE (0x100000u)
606
#define IFLASH_PAGE_SIZE (512u)
607
#define IFLASH_LOCK_REGION_SIZE (8192u)
608
#define IFLASH_NB_OF_PAGES (2048u)
609
#define IFLASH_NB_OF_LOCK_BITS (64u)
610
#define IRAM_SIZE (0x60000u)
611
612
#define QSPIMEM_ADDR (0x80000000u)
613
#define AXIMX_ADDR (0xA0000000u)
614
#define ITCM_ADDR (0x00000000u)
615
#define IFLASH_ADDR (0x00400000u)
616
#define IROM_ADDR (0x00800000u)
617
#define DTCM_ADDR (0x20000000u)
618
#define IRAM_ADDR (0x20400000u)
619
#define EBI_CS0_ADDR (0x60000000u)
620
#define EBI_CS1_ADDR (0x61000000u)
621
#define EBI_CS2_ADDR (0x62000000u)
622
#define EBI_CS3_ADDR (0x63000000u)
623
#define SDRAM_CS_ADDR (0x70000000u)
624
625
/* ************************************************************************** */
626
/* MISCELLANEOUS DEFINITIONS FOR SAMS70Q20 */
627
/* ************************************************************************** */
628
629
#define CHIP_JTAGID (0x05B3D03FUL)
630
#define CHIP_CIDR (0xA1120C00UL)
631
#define CHIP_EXID (0x00000002UL)
632
633
/* ************************************************************************** */
634
/* ELECTRICAL DEFINITIONS FOR SAMS70Q20 */
635
/* ************************************************************************** */
636
637
/* %ATMEL_ELECTRICAL% */
638
639
/* Device characteristics */
640
#define CHIP_FREQ_SLCK_RC_MIN (20000UL)
641
#define CHIP_FREQ_SLCK_RC (32000UL)
642
#define CHIP_FREQ_SLCK_RC_MAX (44000UL)
643
#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL)
644
#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL)
645
#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL)
646
#define CHIP_FREQ_CPU_MAX (120000000UL)
647
#define CHIP_FREQ_XTAL_32K (32768UL)
648
#define CHIP_FREQ_XTAL_12M (12000000UL)
649
650
/* Embedded Flash Read Wait State (VDDCORE set at 1.20V) */
651
#define CHIP_FREQ_FWS_0 (20000000UL)
652
#define CHIP_FREQ_FWS_1 (40000000UL)
653
#define CHIP_FREQ_FWS_2 (60000000UL)
654
#define CHIP_FREQ_FWS_3 (80000000UL)
655
#define CHIP_FREQ_FWS_4 (100000000UL)
656
#define CHIP_FREQ_FWS_5 (123000000UL)
657
658
#ifdef __cplusplus
659
}
660
#endif
661
663
664
#endif
/* _SAMS70Q20_ */
core_cm7.h
CMSIS Cortex-M7 Core Peripheral Access Layer Header File.
UsageFault_Handler
void UsageFault_Handler(void)
Default UsageFault interrupt handler.
Definition
exceptions.c:207
HardFault_Handler
void HardFault_Handler(void)
Default HardFault interrupt handler.
Definition
exceptions.c:168
MemManage_Handler
void MemManage_Handler(void)
Default MemManage interrupt handler.
Definition
exceptions.c:180
NMI_Handler
void NMI_Handler(void)
Default NMI interrupt handler.
Definition
exceptions.c:53
BusFault_Handler
void BusFault_Handler(void)
Default BusFault interrupt handler.
Definition
exceptions.c:193
IRQn_Type
IRQn_Type
STM32H7XX Interrupt Number Definition, according to the selected device in Library_configuration_sect...
Definition
stm32h723xx.h:49
_DeviceVectors
Definition
same70j19.h:122
Generated by
1.18.0