Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 | /**
* \file
*
* \brief Header file for ATSAME70J21
*
* Copyright (c) 2016 Atmel Corporation, a wholly owned subsidiary of Microchip Technology Inc.
*
* \license_start
*
* \page License
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
* \license_stop
*
*/
#ifndef _SAME70J21_H_
#define _SAME70J21_H_
/** \addtogroup SAME70J21_definitions SAME70J21 definitions
This file defines all structures and symbols for SAME70J21:
- registers and bitfields
- peripheral base address
- peripheral ID
- PIO definitions
* @{
*/
#ifdef __cplusplus
extern "C" {
#endif
#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
#include <stdint.h>
/* IO definitions (access restrictions to peripheral registers) */
/** \defgroup Atmel_glob_defs Atmel Global Defines
<strong>IO Type Qualifiers</strong> are used
\li to specify the access to peripheral variables.
\li for automatic generation of peripheral register debug information.
\remark
CMSIS core has a syntax that differs from this using i.e. __I, __O, or __IO followed by 'uint<size>_t' respective types.
Default the header files will follow the CMSIS core syntax.
* @{
*/
#ifndef __cplusplus
typedef volatile const uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */
typedef volatile const uint16_t RoReg16; /**< Read only 16-bit register (volatile const unsigned int) */
typedef volatile const uint8_t RoReg8; /**< Read only 8-bit register (volatile const unsigned int) */
#else
typedef volatile uint32_t RoReg; /**< Read only 32-bit register (volatile const unsigned int) */
typedef volatile uint16_t RoReg16; /**< Read only 16-bit register (volatile const unsigned int) */
typedef volatile uint8_t RoReg8; /**< Read only 8-bit register (volatile const unsigned int) */
#endif
typedef volatile uint32_t WoReg; /**< Write only 32-bit register (volatile unsigned int) */
typedef volatile uint16_t WoReg16; /**< Write only 16-bit register (volatile unsigned int) */
typedef volatile uint32_t WoReg8; /**< Write only 8-bit register (volatile unsigned int) */
typedef volatile uint32_t RwReg; /**< Read-Write 32-bit register (volatile unsigned int) */
typedef volatile uint16_t RwReg16; /**< Read-Write 16-bit register (volatile unsigned int) */
typedef volatile uint8_t RwReg8; /**< Read-Write 8-bit register (volatile unsigned int) */
#define CAST(type, value) ((type *)(value)) /**< Pointer Type Conversion Macro for C/C++ */
#define REG_ACCESS(type, address) (*(type*)(address)) /**< C code: Register value */
#if !defined(_UL)
/* Macros that deal with adding suffixes to integer literal constants for C/C++ */
#define _U(x) x ## U /**< C code: Unsigned integer literal constant value */
#define _L(x) x ## L /**< C code: Long integer literal constant value */
#define _UL(x) x ## UL /**< C code: Unsigned Long integer literal constant value */
#endif /* !defined(UL) */
#else /* Assembler */
#define CAST(type, value) (value) /**< Pointer Type Conversion Macro for Assembler */
#define REG_ACCESS(type, address) (address) /**< Assembly code: Register address */
#if !defined(_UL)
#define _U(x) x /**< Assembler: Unsigned integer literal constant value */
#define _L(x) x /**< Assembler: Long integer literal constant value */
#define _UL(x) x /**< Assembler: Unsigned Long integer literal constant value */
#endif /* !defined(UL) */
#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
/** @} end of Atmel Global Defines */
/** \addtogroup SAME70J21_cmsis CMSIS Definitions
* @{
*/
/* ************************************************************************** */
/* CMSIS DEFINITIONS FOR SAME70J21 */
/* ************************************************************************** */
#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
/** Interrupt Number Definition */
typedef enum IRQn
{
/****** CORTEX-M7 Processor Exceptions Numbers ******************************/
NonMaskableInt_IRQn = -14, /**< 2 Non Maskable Interrupt */
HardFault_IRQn = -13, /**< 3 HardFault Interrupt */
MemoryManagement_IRQn = -12, /**< 4 Cortex-M7 Memory Management Interrupt */
BusFault_IRQn = -11, /**< 5 Cortex-M7 Bus Fault Interrupt */
UsageFault_IRQn = -10, /**< 6 Cortex-M7 Usage Fault Interrupt */
SVCall_IRQn = -5 , /**< 11 Cortex-M7 SV Call Interrupt */
DebugMonitor_IRQn = -4 , /**< 12 Cortex-M7 Debug Monitor Interrupt */
PendSV_IRQn = -2 , /**< 14 Cortex-M7 Pend SV Interrupt */
SysTick_IRQn = -1 , /**< 15 Cortex-M7 System Tick Interrupt */
/****** SAME70J21 specific Interrupt Numbers ***********************************/
SUPC_IRQn = 0 , /**< 0 SAME70J21 Supply Controller (SUPC) */
RSTC_IRQn = 1 , /**< 1 SAME70J21 Reset Controller (RSTC) */
RTC_IRQn = 2 , /**< 2 SAME70J21 Real-time Clock (RTC) */
RTT_IRQn = 3 , /**< 3 SAME70J21 Real-time Timer (RTT) */
WDT_IRQn = 4 , /**< 4 SAME70J21 Watchdog Timer (WDT) */
PMC_IRQn = 5 , /**< 5 SAME70J21 Power Management Controller (PMC) */
EFC_IRQn = 6 , /**< 6 SAME70J21 Embedded Flash Controller (EFC) */
UART0_IRQn = 7 , /**< 7 SAME70J21 Universal Asynchronous Receiver Transmitter (UART0) */
UART1_IRQn = 8 , /**< 8 SAME70J21 Universal Asynchronous Receiver Transmitter (UART1) */
PIOA_IRQn = 10 , /**< 10 SAME70J21 Parallel Input/Output Controller (PIOA) */
PIOB_IRQn = 11 , /**< 11 SAME70J21 Parallel Input/Output Controller (PIOB) */
USART0_IRQn = 13 , /**< 13 SAME70J21 Universal Synchronous Asynchronous Receiver Transmitter (USART0) */
USART1_IRQn = 14 , /**< 14 SAME70J21 Universal Synchronous Asynchronous Receiver Transmitter (USART1) */
USART2_IRQn = 15 , /**< 15 SAME70J21 Universal Synchronous Asynchronous Receiver Transmitter (USART2) */
PIOD_IRQn = 16 , /**< 16 SAME70J21 Parallel Input/Output Controller (PIOD) */
TWIHS0_IRQn = 19 , /**< 19 SAME70J21 Two-wire Interface High Speed (TWIHS0) */
TWIHS1_IRQn = 20 , /**< 20 SAME70J21 Two-wire Interface High Speed (TWIHS1) */
SPI0_IRQn = 21 , /**< 21 SAME70J21 Serial Peripheral Interface (SPI0) */
SSC_IRQn = 22 , /**< 22 SAME70J21 Synchronous Serial Controller (SSC) */
TC0_IRQn = 23 , /**< 23 SAME70J21 Timer Counter (TC0) */
TC1_IRQn = 24 , /**< 24 SAME70J21 Timer Counter (TC0) */
TC2_IRQn = 25 , /**< 25 SAME70J21 Timer Counter (TC0) */
AFEC0_IRQn = 29 , /**< 29 SAME70J21 Analog Front-End Controller (AFEC0) */
PWM0_IRQn = 31 , /**< 31 SAME70J21 Pulse Width Modulation Controller (PWM0) */
ICM_IRQn = 32 , /**< 32 SAME70J21 Integrity Check Monitor (ICM) */
ACC_IRQn = 33 , /**< 33 SAME70J21 Analog Comparator Controller (ACC) */
USBHS_IRQn = 34 , /**< 34 SAME70J21 USB High-Speed Interface (USBHS) */
MCAN0_IRQn = 35 , /**< 35 SAME70J21 Controller Area Network (MCAN0) */
MCAN1_IRQn = 37 , /**< 37 SAME70J21 Controller Area Network (MCAN1) */
GMAC_IRQn = 39 , /**< 39 SAME70J21 Gigabit Ethernet MAC (GMAC) */
AFEC1_IRQn = 40 , /**< 40 SAME70J21 Analog Front-End Controller (AFEC1) */
SPI1_IRQn = 42 , /**< 42 SAME70J21 Serial Peripheral Interface (SPI1) */
QSPI_IRQn = 43 , /**< 43 SAME70J21 Quad Serial Peripheral Interface (QSPI) */
UART2_IRQn = 44 , /**< 44 SAME70J21 Universal Asynchronous Receiver Transmitter (UART2) */
UART3_IRQn = 45 , /**< 45 SAME70J21 Universal Asynchronous Receiver Transmitter (UART3) */
UART4_IRQn = 46 , /**< 46 SAME70J21 Universal Asynchronous Receiver Transmitter (UART4) */
TC9_IRQn = 50 , /**< 50 SAME70J21 Timer Counter (TC3) */
TC10_IRQn = 51 , /**< 51 SAME70J21 Timer Counter (TC3) */
TC11_IRQn = 52 , /**< 52 SAME70J21 Timer Counter (TC3) */
AES_IRQn = 56 , /**< 56 SAME70J21 Advanced Encryption Standard (AES) */
TRNG_IRQn = 57 , /**< 57 SAME70J21 True Random Number Generator (TRNG) */
XDMAC_IRQn = 58 , /**< 58 SAME70J21 Extensible DMA Controller (XDMAC) */
ISI_IRQn = 59 , /**< 59 SAME70J21 Image Sensor Interface (ISI) */
PWM1_IRQn = 60 , /**< 60 SAME70J21 Pulse Width Modulation Controller (PWM1) */
RSWDT_IRQn = 63 , /**< 63 SAME70J21 Reinforced Safety Watchdog Timer (RSWDT) */
DACC_IRQn = 30 , /**< 30 SAME70J21 Digital-to-Analog Converter Controller (DACC) */
PERIPH_COUNT_IRQn = 64 /**< Number of peripheral IDs */
} IRQn_Type;
#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
typedef struct _DeviceVectors
{
/* Stack pointer */
void* pvStack;
/* Cortex-M handlers */
void* pfnReset_Handler; /* 0 Reset handler */
void* pfnNMI_Handler; /* 2 Non Maskable Interrupt */
void* pfnHardFault_Handler; /* 3 HardFault Interrupt */
void* pfnMemManage_Handler; /* 4 Cortex-M7 Memory Management Interrupt */
void* pfnBusFault_Handler; /* 5 Cortex-M7 Bus Fault Interrupt */
void* pfnUsageFault_Handler; /* 6 Cortex-M7 Usage Fault Interrupt */
void* pfnReserved1_Handler;
void* pfnReserved2_Handler;
void* pfnReserved3_Handler;
void* pfnReserved4_Handler;
void* pfnSVC_Handler; /* 11 Cortex-M7 SV Call Interrupt */
void* pfnDebugMon_Handler; /* 12 Cortex-M7 Debug Monitor Interrupt */
void* pfnReserved5_Handler;
void* pfnPendSV_Handler; /* 14 Cortex-M7 Pend SV Interrupt */
void* pfnSysTick_Handler; /* 15 Cortex-M7 System Tick Interrupt */
/* Peripheral handlers */
void* pfnSUPC_Handler; /* 0 SAME70J21 Supply Controller (SUPC) */
void* pfnRSTC_Handler; /* 1 SAME70J21 Reset Controller (RSTC) */
void* pfnRTC_Handler; /* 2 SAME70J21 Real-time Clock (RTC) */
void* pfnRTT_Handler; /* 3 SAME70J21 Real-time Timer (RTT) */
void* pfnWDT_Handler; /* 4 SAME70J21 Watchdog Timer (WDT) */
void* pfnPMC_Handler; /* 5 SAME70J21 Power Management Controller (PMC) */
void* pfnEFC_Handler; /* 6 SAME70J21 Embedded Flash Controller (EFC) */
void* pfnUART0_Handler; /* 7 SAME70J21 Universal Asynchronous Receiver Transmitter (UART0) */
void* pfnUART1_Handler; /* 8 SAME70J21 Universal Asynchronous Receiver Transmitter (UART1) */
void* pvReserved9;
void* pfnPIOA_Handler; /* 10 SAME70J21 Parallel Input/Output Controller (PIOA) */
void* pfnPIOB_Handler; /* 11 SAME70J21 Parallel Input/Output Controller (PIOB) */
void* pvReserved12;
void* pfnUSART0_Handler; /* 13 SAME70J21 Universal Synchronous Asynchronous Receiver Transmitter (USART0) */
void* pfnUSART1_Handler; /* 14 SAME70J21 Universal Synchronous Asynchronous Receiver Transmitter (USART1) */
void* pfnUSART2_Handler; /* 15 SAME70J21 Universal Synchronous Asynchronous Receiver Transmitter (USART2) */
void* pfnPIOD_Handler; /* 16 SAME70J21 Parallel Input/Output Controller (PIOD) */
void* pvReserved17;
void* pvReserved18;
void* pfnTWIHS0_Handler; /* 19 SAME70J21 Two-wire Interface High Speed (TWIHS0) */
void* pfnTWIHS1_Handler; /* 20 SAME70J21 Two-wire Interface High Speed (TWIHS1) */
void* pfnSPI0_Handler; /* 21 SAME70J21 Serial Peripheral Interface (SPI0) */
void* pfnSSC_Handler; /* 22 SAME70J21 Synchronous Serial Controller (SSC) */
void* pfnTC0_Handler; /* 23 SAME70J21 Timer Counter (TC0) */
void* pfnTC1_Handler; /* 24 SAME70J21 Timer Counter (TC0) */
void* pfnTC2_Handler; /* 25 SAME70J21 Timer Counter (TC0) */
void* pvReserved26;
void* pvReserved27;
void* pvReserved28;
void* pfnAFEC0_Handler; /* 29 SAME70J21 Analog Front-End Controller (AFEC0) */
void* pfnDACC_Handler; /* 30 SAME70J21 Digital-to-Analog Converter Controller (DACC) */
void* pfnPWM0_Handler; /* 31 SAME70J21 Pulse Width Modulation Controller (PWM0) */
void* pfnICM_Handler; /* 32 SAME70J21 Integrity Check Monitor (ICM) */
void* pfnACC_Handler; /* 33 SAME70J21 Analog Comparator Controller (ACC) */
void* pfnUSBHS_Handler; /* 34 SAME70J21 USB High-Speed Interface (USBHS) */
void* pfnMCAN0_Handler; /* 35 SAME70J21 Controller Area Network (MCAN0) */
void* pvReserved36;
void* pfnMCAN1_Handler; /* 37 SAME70J21 Controller Area Network (MCAN1) */
void* pvReserved38;
void* pfnGMAC_Handler; /* 39 SAME70J21 Gigabit Ethernet MAC (GMAC) */
void* pfnAFEC1_Handler; /* 40 SAME70J21 Analog Front-End Controller (AFEC1) */
void* pvReserved41;
void* pfnSPI1_Handler; /* 42 SAME70J21 Serial Peripheral Interface (SPI1) */
void* pfnQSPI_Handler; /* 43 SAME70J21 Quad Serial Peripheral Interface (QSPI) */
void* pfnUART2_Handler; /* 44 SAME70J21 Universal Asynchronous Receiver Transmitter (UART2) */
void* pfnUART3_Handler; /* 45 SAME70J21 Universal Asynchronous Receiver Transmitter (UART3) */
void* pfnUART4_Handler; /* 46 SAME70J21 Universal Asynchronous Receiver Transmitter (UART4) */
void* pvReserved47;
void* pvReserved48;
void* pvReserved49;
void* pfnTC9_Handler; /* 50 SAME70J21 Timer Counter (TC3) */
void* pfnTC10_Handler; /* 51 SAME70J21 Timer Counter (TC3) */
void* pfnTC11_Handler; /* 52 SAME70J21 Timer Counter (TC3) */
void* pvReserved53;
void* pvReserved54;
void* pvReserved55;
void* pfnAES_Handler; /* 56 SAME70J21 Advanced Encryption Standard (AES) */
void* pfnTRNG_Handler; /* 57 SAME70J21 True Random Number Generator (TRNG) */
void* pfnXDMAC_Handler; /* 58 SAME70J21 Extensible DMA Controller (XDMAC) */
void* pfnISI_Handler; /* 59 SAME70J21 Image Sensor Interface (ISI) */
void* pfnPWM1_Handler; /* 60 SAME70J21 Pulse Width Modulation Controller (PWM1) */
void* pvReserved61;
void* pvReserved62;
void* pfnRSWDT_Handler; /* 63 SAME70J21 Reinforced Safety Watchdog Timer (RSWDT) */
} DeviceVectors;
#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
#if !defined DONT_USE_PREDEFINED_CORE_HANDLERS
/* CORTEX-M7 core handlers */
void Reset_Handler ( void );
void NMI_Handler ( void );
void HardFault_Handler ( void );
void MemManage_Handler ( void );
void BusFault_Handler ( void );
void UsageFault_Handler ( void );
void SVC_Handler ( void );
void DebugMon_Handler ( void );
void PendSV_Handler ( void );
void SysTick_Handler ( void );
#endif /* DONT_USE_PREDEFINED_CORE_HANDLERS */
#if !defined DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS
/* Peripherals handlers */
void ACC_Handler ( void );
void AES_Handler ( void );
void AFEC0_Handler ( void );
void AFEC1_Handler ( void );
void DACC_Handler ( void );
void EFC_Handler ( void );
void GMAC_Handler ( void );
void ICM_Handler ( void );
void ISI_Handler ( void );
void MCAN0_Handler ( void );
void MCAN1_Handler ( void );
void PIOA_Handler ( void );
void PIOB_Handler ( void );
void PIOD_Handler ( void );
void PMC_Handler ( void );
void PWM0_Handler ( void );
void PWM1_Handler ( void );
void QSPI_Handler ( void );
void RSTC_Handler ( void );
void RSWDT_Handler ( void );
void RTC_Handler ( void );
void RTT_Handler ( void );
void SPI0_Handler ( void );
void SPI1_Handler ( void );
void SSC_Handler ( void );
void SUPC_Handler ( void );
void TC0_Handler ( void );
void TC10_Handler ( void );
void TC11_Handler ( void );
void TC1_Handler ( void );
void TC2_Handler ( void );
void TC9_Handler ( void );
void TRNG_Handler ( void );
void TWIHS0_Handler ( void );
void TWIHS1_Handler ( void );
void UART0_Handler ( void );
void UART1_Handler ( void );
void UART2_Handler ( void );
void UART3_Handler ( void );
void UART4_Handler ( void );
void USART0_Handler ( void );
void USART1_Handler ( void );
void USART2_Handler ( void );
void USBHS_Handler ( void );
void WDT_Handler ( void );
void XDMAC_Handler ( void );
#endif /* DONT_USE_PREDEFINED_PERIPHERALS_HANDLERS */
#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
/*
* \brief Configuration of the CORTEX-M7 Processor and Core Peripherals
*/
#define __DTCM_PRESENT 1
#define __FPU_DP 1
#define __Vendor_SysTickConfig 0
#define __CM7_REV 0
#define __MPU_PRESENT 1
#define NUM_IRQ 68
#define LITTLE_ENDIAN 1
#define __DCACHE_PRESENT 1
#define __ICACHE_PRESENT 1
#define __ITCM_PRESENT 1
#define __FPU_PRESENT 1
#define __NVIC_PRIO_BITS 3
/*
* \brief CMSIS includes
*/
#include <core_cm7.h>
#if !defined DONT_USE_CMSIS_INIT
#include "system_same70.h"
#endif /* DONT_USE_CMSIS_INIT */
/** @} end of SAME70J21_cmsis CMSIS Definitions */
/** \defgroup SAME70J21_api Peripheral Software API
* @{
*/
/* ************************************************************************** */
/** SOFTWARE PERIPHERAL API DEFINITION FOR SAME70J21 */
/* ************************************************************************** */
#include "component/acc.h"
#include "component/aes.h"
#include "component/afec.h"
#include "component/chipid.h"
#include "component/efc.h"
#include "component/gmac.h"
#include "component/gpbr.h"
#include "component/hsmci.h"
#include "component/icm.h"
#include "component/isi.h"
#include "component/matrix.h"
#include "component/mcan.h"
#include "component/pio.h"
#include "component/pmc.h"
#include "component/pwm.h"
#include "component/qspi.h"
#include "component/rstc.h"
#include "component/rswdt.h"
#include "component/rtc.h"
#include "component/rtt.h"
#include "component/spi.h"
#include "component/ssc.h"
#include "component/supc.h"
#include "component/tc.h"
#include "component/trng.h"
#include "component/twihs.h"
#include "component/uart.h"
#include "component/usart.h"
#include "component/usbhs.h"
#include "component/utmi.h"
#include "component/wdt.h"
#include "component/xdmac.h"
#include "component/dacc.h"
/** @} end of Peripheral Software API */
/** \defgroup SAME70J21_reg Registers Access Definitions
* @{
*/
/* ************************************************************************** */
/* REGISTER ACCESS DEFINITIONS FOR SAME70J21 */
/* ************************************************************************** */
#include "instance/acc.h"
#include "instance/aes.h"
#include "instance/afec0.h"
#include "instance/afec1.h"
#include "instance/chipid.h"
#include "instance/efc.h"
#include "instance/gmac.h"
#include "instance/gpbr.h"
#include "instance/icm.h"
#include "instance/isi.h"
#include "instance/matrix.h"
#include "instance/mcan0.h"
#include "instance/mcan1.h"
#include "instance/pioa.h"
#include "instance/piob.h"
#include "instance/piod.h"
#include "instance/pmc.h"
#include "instance/pwm0.h"
#include "instance/pwm1.h"
#include "instance/qspi.h"
#include "instance/rstc.h"
#include "instance/rswdt.h"
#include "instance/rtc.h"
#include "instance/rtt.h"
#include "instance/spi0.h"
#include "instance/spi1.h"
#include "instance/ssc.h"
#include "instance/supc.h"
#include "instance/tc0.h"
#include "instance/tc3.h"
#include "instance/trng.h"
#include "instance/twihs0.h"
#include "instance/twihs1.h"
#include "instance/uart0.h"
#include "instance/uart1.h"
#include "instance/uart2.h"
#include "instance/uart3.h"
#include "instance/uart4.h"
#include "instance/usart0.h"
#include "instance/usart1.h"
#include "instance/usart2.h"
#include "instance/usbhs.h"
#include "instance/utmi.h"
#include "instance/wdt.h"
#include "instance/xdmac.h"
#include "instance/dacc.h"
/** @} end of Registers Access Definitions */
/** \addtogroup SAME70J21_id Peripheral Ids Definitions
* @{
*/
/* ************************************************************************** */
/* PERIPHERAL ID DEFINITIONS FOR SAME70J21 */
/* ************************************************************************** */
#define ID_SUPC ( 0) /**< \brief Supply Controller (SUPC) */
#define ID_RSTC ( 1) /**< \brief Reset Controller (RSTC) */
#define ID_RTC ( 2) /**< \brief Real-time Clock (RTC) */
#define ID_RTT ( 3) /**< \brief Real-time Timer (RTT) */
#define ID_WDT ( 4) /**< \brief Watchdog Timer (WDT) */
#define ID_PMC ( 5) /**< \brief Power Management Controller (PMC) */
#define ID_EFC ( 6) /**< \brief Embedded Flash Controller (EFC) */
#define ID_UART0 ( 7) /**< \brief Universal Asynchronous Receiver Transmitter (UART0) */
#define ID_UART1 ( 8) /**< \brief Universal Asynchronous Receiver Transmitter (UART1) */
#define ID_PIOA ( 10) /**< \brief Parallel Input/Output Controller (PIOA) */
#define ID_PIOB ( 11) /**< \brief Parallel Input/Output Controller (PIOB) */
#define ID_USART0 ( 13) /**< \brief Universal Synchronous Asynchronous Receiver Transmitter (USART0) */
#define ID_USART1 ( 14) /**< \brief Universal Synchronous Asynchronous Receiver Transmitter (USART1) */
#define ID_USART2 ( 15) /**< \brief Universal Synchronous Asynchronous Receiver Transmitter (USART2) */
#define ID_PIOD ( 16) /**< \brief Parallel Input/Output Controller (PIOD) */
#define ID_TWIHS0 ( 19) /**< \brief Two-wire Interface High Speed (TWIHS0) */
#define ID_TWIHS1 ( 20) /**< \brief Two-wire Interface High Speed (TWIHS1) */
#define ID_SPI0 ( 21) /**< \brief Serial Peripheral Interface (SPI0) */
#define ID_SSC ( 22) /**< \brief Synchronous Serial Controller (SSC) */
#define ID_TC0_CHANNEL0 ( 23) /**< \brief Timer Counter (TC0_CHANNEL0) */
#define ID_TC0_CHANNEL1 ( 24) /**< \brief Timer Counter (TC0_CHANNEL1) */
#define ID_TC0_CHANNEL2 ( 25) /**< \brief Timer Counter (TC0_CHANNEL2) */
#define ID_AFEC0 ( 29) /**< \brief Analog Front-End Controller (AFEC0) */
#define ID_DACC ( 30) /**< \brief Digital-to-Analog Converter Controller (DACC) */
#define ID_PWM0 ( 31) /**< \brief Pulse Width Modulation Controller (PWM0) */
#define ID_ICM ( 32) /**< \brief Integrity Check Monitor (ICM) */
#define ID_ACC ( 33) /**< \brief Analog Comparator Controller (ACC) */
#define ID_USBHS ( 34) /**< \brief USB High-Speed Interface (USBHS) */
#define ID_MCAN0 ( 35) /**< \brief Controller Area Network (MCAN0) */
#define ID_MCAN1 ( 37) /**< \brief Controller Area Network (MCAN1) */
#define ID_GMAC ( 39) /**< \brief Gigabit Ethernet MAC (GMAC) */
#define ID_AFEC1 ( 40) /**< \brief Analog Front-End Controller (AFEC1) */
#define ID_SPI1 ( 42) /**< \brief Serial Peripheral Interface (SPI1) */
#define ID_QSPI ( 43) /**< \brief Quad Serial Peripheral Interface (QSPI) */
#define ID_UART2 ( 44) /**< \brief Universal Asynchronous Receiver Transmitter (UART2) */
#define ID_UART3 ( 45) /**< \brief Universal Asynchronous Receiver Transmitter (UART3) */
#define ID_UART4 ( 46) /**< \brief Universal Asynchronous Receiver Transmitter (UART4) */
#define ID_TC3_CHANNEL0 ( 50) /**< \brief Timer Counter (TC3_CHANNEL0) */
#define ID_TC3_CHANNEL1 ( 51) /**< \brief Timer Counter (TC3_CHANNEL1) */
#define ID_TC3_CHANNEL2 ( 52) /**< \brief Timer Counter (TC3_CHANNEL2) */
#define ID_AES ( 56) /**< \brief Advanced Encryption Standard (AES) */
#define ID_TRNG ( 57) /**< \brief True Random Number Generator (TRNG) */
#define ID_XDMAC ( 58) /**< \brief Extensible DMA Controller (XDMAC) */
#define ID_ISI ( 59) /**< \brief Image Sensor Interface (ISI) */
#define ID_PWM1 ( 60) /**< \brief Pulse Width Modulation Controller (PWM1) */
#define ID_RSWDT ( 63) /**< \brief Reinforced Safety Watchdog Timer (RSWDT) */
#define ID_PERIPH_COUNT ( 64) /**< \brief Number of peripheral IDs */
/** @} end of Peripheral Ids Definitions */
/** \addtogroup legacy_SAME70J21_id Legacy Peripheral Ids Definitions
* @{
*/
/* ************************************************************************** */
/* LEGACY PERIPHERAL ID DEFINITIONS FOR SAME70J21 */
/* ************************************************************************** */
#define ID_TC0 TC0_INSTANCE_ID_CHANNEL0
#define ID_TC1 TC0_INSTANCE_ID_CHANNEL1
#define ID_TC2 TC0_INSTANCE_ID_CHANNEL2
#define ID_TC3 TC1_INSTANCE_ID_CHANNEL0
#define ID_TC4 TC1_INSTANCE_ID_CHANNEL1
#define ID_TC5 TC1_INSTANCE_ID_CHANNEL2
#define ID_TC6 TC2_INSTANCE_ID_CHANNEL0
#define ID_TC7 TC2_INSTANCE_ID_CHANNEL1
#define ID_TC8 TC2_INSTANCE_ID_CHANNEL2
#define ID_TC9 TC3_INSTANCE_ID_CHANNEL0
#define ID_TC10 TC3_INSTANCE_ID_CHANNEL1
#define ID_TC11 TC3_INSTANCE_ID_CHANNEL2
/** @} end of Legacy Peripheral Ids Definitions */
/** \addtogroup SAME70J21_base Peripheral Base Address Definitions
* @{
*/
/* ************************************************************************** */
/* BASE ADDRESS DEFINITIONS FOR SAME70J21 */
/* ************************************************************************** */
#if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
#define ACC (0x40044000) /**< \brief (ACC ) Base Address */
#define AES (0x4006C000) /**< \brief (AES ) Base Address */
#define AFEC0 (0x4003C000) /**< \brief (AFEC0 ) Base Address */
#define AFEC1 (0x40064000) /**< \brief (AFEC1 ) Base Address */
#define CHIPID (0x400E0940) /**< \brief (CHIPID ) Base Address */
#define EFC (0x400E0C00) /**< \brief (EFC ) Base Address */
#define GMAC (0x40050000) /**< \brief (GMAC ) Base Address */
#define GPBR (0x400E1890) /**< \brief (GPBR ) Base Address */
#define ICM (0x40048000) /**< \brief (ICM ) Base Address */
#define ISI (0x4004C000) /**< \brief (ISI ) Base Address */
#define MATRIX (0x40088000) /**< \brief (MATRIX ) Base Address */
#define MCAN0 (0x40030000) /**< \brief (MCAN0 ) Base Address */
#define MCAN1 (0x40034000) /**< \brief (MCAN1 ) Base Address */
#define PIOA (0x400E0E00) /**< \brief (PIOA ) Base Address */
#define PIOB (0x400E1000) /**< \brief (PIOB ) Base Address */
#define PIOD (0x400E1400) /**< \brief (PIOD ) Base Address */
#define PMC (0x400E0600) /**< \brief (PMC ) Base Address */
#define PWM0 (0x40020000) /**< \brief (PWM0 ) Base Address */
#define PWM1 (0x4005C000) /**< \brief (PWM1 ) Base Address */
#define QSPI (0x4007C000) /**< \brief (QSPI ) Base Address */
#define RSTC (0x400E1800) /**< \brief (RSTC ) Base Address */
#define RSWDT (0x400E1900) /**< \brief (RSWDT ) Base Address */
#define RTC (0x400E1860) /**< \brief (RTC ) Base Address */
#define RTT (0x400E1830) /**< \brief (RTT ) Base Address */
#define SPI0 (0x40008000) /**< \brief (SPI0 ) Base Address */
#define SPI1 (0x40058000) /**< \brief (SPI1 ) Base Address */
#define SSC (0x40004000) /**< \brief (SSC ) Base Address */
#define SUPC (0x400E1810) /**< \brief (SUPC ) Base Address */
#define TC0 (0x4000C000) /**< \brief (TC0 ) Base Address */
#define TC3 (0x40054000) /**< \brief (TC3 ) Base Address */
#define TRNG (0x40070000) /**< \brief (TRNG ) Base Address */
#define TWIHS0 (0x40018000) /**< \brief (TWIHS0 ) Base Address */
#define TWIHS1 (0x4001C000) /**< \brief (TWIHS1 ) Base Address */
#define UART0 (0x400E0800) /**< \brief (UART0 ) Base Address */
#define UART1 (0x400E0A00) /**< \brief (UART1 ) Base Address */
#define UART2 (0x400E1A00) /**< \brief (UART2 ) Base Address */
#define UART3 (0x400E1C00) /**< \brief (UART3 ) Base Address */
#define UART4 (0x400E1E00) /**< \brief (UART4 ) Base Address */
#define USART0 (0x40024000) /**< \brief (USART0 ) Base Address */
#define USART1 (0x40028000) /**< \brief (USART1 ) Base Address */
#define USART2 (0x4002C000) /**< \brief (USART2 ) Base Address */
#define USBHS (0x40038000) /**< \brief (USBHS ) Base Address */
#define UTMI (0x400E0400) /**< \brief (UTMI ) Base Address */
#define WDT (0x400E1850) /**< \brief (WDT ) Base Address */
#define XDMAC (0x40078000) /**< \brief (XDMAC ) Base Address */
#define DACC (0x40040000) /**< \brief (DACC ) Base Address */
#else /* For C/C++ compiler */
#define ACC ((Acc *)0x40044000U) /**< \brief (ACC ) Base Address */
#define ACC_INST_NUM 1 /**< \brief (ACC ) Number of instances */
#define ACC_INSTS { ACC } /**< \brief (ACC ) Instances List */
#define AES ((Aes *)0x4006C000U) /**< \brief (AES ) Base Address */
#define AES_INST_NUM 1 /**< \brief (AES ) Number of instances */
#define AES_INSTS { AES } /**< \brief (AES ) Instances List */
#define AFEC0 ((Afec *)0x4003C000U) /**< \brief (AFEC0 ) Base Address */
#define AFEC1 ((Afec *)0x40064000U) /**< \brief (AFEC1 ) Base Address */
#define AFEC_INST_NUM 2 /**< \brief (AFEC ) Number of instances */
#define AFEC_INSTS { AFEC0, AFEC1 } /**< \brief (AFEC ) Instances List */
#define CHIPID ((Chipid *)0x400E0940U) /**< \brief (CHIPID ) Base Address */
#define CHIPID_INST_NUM 1 /**< \brief (CHIPID ) Number of instances */
#define CHIPID_INSTS { CHIPID } /**< \brief (CHIPID ) Instances List */
#define EFC ((Efc *)0x400E0C00U) /**< \brief (EFC ) Base Address */
#define EFC_INST_NUM 1 /**< \brief (EFC ) Number of instances */
#define EFC_INSTS { EFC } /**< \brief (EFC ) Instances List */
#define GMAC ((Gmac *)0x40050000U) /**< \brief (GMAC ) Base Address */
#define GMAC_INST_NUM 1 /**< \brief (GMAC ) Number of instances */
#define GMAC_INSTS { GMAC } /**< \brief (GMAC ) Instances List */
#define GPBR ((Gpbr *)0x400E1890U) /**< \brief (GPBR ) Base Address */
#define GPBR_INST_NUM 1 /**< \brief (GPBR ) Number of instances */
#define GPBR_INSTS { GPBR } /**< \brief (GPBR ) Instances List */
#define ICM ((Icm *)0x40048000U) /**< \brief (ICM ) Base Address */
#define ICM_INST_NUM 1 /**< \brief (ICM ) Number of instances */
#define ICM_INSTS { ICM } /**< \brief (ICM ) Instances List */
#define ISI ((Isi *)0x4004C000U) /**< \brief (ISI ) Base Address */
#define ISI_INST_NUM 1 /**< \brief (ISI ) Number of instances */
#define ISI_INSTS { ISI } /**< \brief (ISI ) Instances List */
#define MATRIX ((Matrix *)0x40088000U) /**< \brief (MATRIX ) Base Address */
#define MATRIX_INST_NUM 1 /**< \brief (MATRIX ) Number of instances */
#define MATRIX_INSTS { MATRIX } /**< \brief (MATRIX ) Instances List */
#define MCAN0 ((Mcan *)0x40030000U) /**< \brief (MCAN0 ) Base Address */
#define MCAN1 ((Mcan *)0x40034000U) /**< \brief (MCAN1 ) Base Address */
#define MCAN_INST_NUM 2 /**< \brief (MCAN ) Number of instances */
#define MCAN_INSTS { MCAN0, MCAN1 } /**< \brief (MCAN ) Instances List */
#define PIOA ((Pio *)0x400E0E00U) /**< \brief (PIOA ) Base Address */
#define PIOB ((Pio *)0x400E1000U) /**< \brief (PIOB ) Base Address */
#define PIOD ((Pio *)0x400E1400U) /**< \brief (PIOD ) Base Address */
#define PIO_INST_NUM 3 /**< \brief (PIO ) Number of instances */
#define PIO_INSTS { PIOA, PIOB, PIOD } /**< \brief (PIO ) Instances List */
#define PMC ((Pmc *)0x400E0600U) /**< \brief (PMC ) Base Address */
#define PMC_INST_NUM 1 /**< \brief (PMC ) Number of instances */
#define PMC_INSTS { PMC } /**< \brief (PMC ) Instances List */
#define PWM0 ((Pwm *)0x40020000U) /**< \brief (PWM0 ) Base Address */
#define PWM1 ((Pwm *)0x4005C000U) /**< \brief (PWM1 ) Base Address */
#define PWM_INST_NUM 2 /**< \brief (PWM ) Number of instances */
#define PWM_INSTS { PWM0, PWM1 } /**< \brief (PWM ) Instances List */
#define QSPI ((Qspi *)0x4007C000U) /**< \brief (QSPI ) Base Address */
#define QSPI_INST_NUM 1 /**< \brief (QSPI ) Number of instances */
#define QSPI_INSTS { QSPI } /**< \brief (QSPI ) Instances List */
#define RSTC ((Rstc *)0x400E1800U) /**< \brief (RSTC ) Base Address */
#define RSTC_INST_NUM 1 /**< \brief (RSTC ) Number of instances */
#define RSTC_INSTS { RSTC } /**< \brief (RSTC ) Instances List */
#define RSWDT ((Rswdt *)0x400E1900U) /**< \brief (RSWDT ) Base Address */
#define RSWDT_INST_NUM 1 /**< \brief (RSWDT ) Number of instances */
#define RSWDT_INSTS { RSWDT } /**< \brief (RSWDT ) Instances List */
#define RTC ((Rtc *)0x400E1860U) /**< \brief (RTC ) Base Address */
#define RTC_INST_NUM 1 /**< \brief (RTC ) Number of instances */
#define RTC_INSTS { RTC } /**< \brief (RTC ) Instances List */
#define RTT ((Rtt *)0x400E1830U) /**< \brief (RTT ) Base Address */
#define RTT_INST_NUM 1 /**< \brief (RTT ) Number of instances */
#define RTT_INSTS { RTT } /**< \brief (RTT ) Instances List */
#define SPI0 ((Spi *)0x40008000U) /**< \brief (SPI0 ) Base Address */
#define SPI1 ((Spi *)0x40058000U) /**< \brief (SPI1 ) Base Address */
#define SPI_INST_NUM 2 /**< \brief (SPI ) Number of instances */
#define SPI_INSTS { SPI0, SPI1 } /**< \brief (SPI ) Instances List */
#define SSC ((Ssc *)0x40004000U) /**< \brief (SSC ) Base Address */
#define SSC_INST_NUM 1 /**< \brief (SSC ) Number of instances */
#define SSC_INSTS { SSC } /**< \brief (SSC ) Instances List */
#define SUPC ((Supc *)0x400E1810U) /**< \brief (SUPC ) Base Address */
#define SUPC_INST_NUM 1 /**< \brief (SUPC ) Number of instances */
#define SUPC_INSTS { SUPC } /**< \brief (SUPC ) Instances List */
#define TC0 ((Tc *)0x4000C000U) /**< \brief (TC0 ) Base Address */
#define TC3 ((Tc *)0x40054000U) /**< \brief (TC3 ) Base Address */
#define TC_INST_NUM 2 /**< \brief (TC ) Number of instances */
#define TC_INSTS { TC0, TC3 } /**< \brief (TC ) Instances List */
#define TRNG ((Trng *)0x40070000U) /**< \brief (TRNG ) Base Address */
#define TRNG_INST_NUM 1 /**< \brief (TRNG ) Number of instances */
#define TRNG_INSTS { TRNG } /**< \brief (TRNG ) Instances List */
#define TWIHS0 ((Twihs *)0x40018000U) /**< \brief (TWIHS0 ) Base Address */
#define TWIHS1 ((Twihs *)0x4001C000U) /**< \brief (TWIHS1 ) Base Address */
#define TWIHS_INST_NUM 2 /**< \brief (TWIHS ) Number of instances */
#define TWIHS_INSTS { TWIHS0, TWIHS1 } /**< \brief (TWIHS ) Instances List */
#define UART0 ((Uart *)0x400E0800U) /**< \brief (UART0 ) Base Address */
#define UART1 ((Uart *)0x400E0A00U) /**< \brief (UART1 ) Base Address */
#define UART2 ((Uart *)0x400E1A00U) /**< \brief (UART2 ) Base Address */
#define UART3 ((Uart *)0x400E1C00U) /**< \brief (UART3 ) Base Address */
#define UART4 ((Uart *)0x400E1E00U) /**< \brief (UART4 ) Base Address */
#define UART_INST_NUM 5 /**< \brief (UART ) Number of instances */
#define UART_INSTS { UART0, UART1, UART2, UART3, UART4 } /**< \brief (UART ) Instances List */
#define USART0 ((Usart *)0x40024000U) /**< \brief (USART0 ) Base Address */
#define USART1 ((Usart *)0x40028000U) /**< \brief (USART1 ) Base Address */
#define USART2 ((Usart *)0x4002C000U) /**< \brief (USART2 ) Base Address */
#define USART_INST_NUM 3 /**< \brief (USART ) Number of instances */
#define USART_INSTS { USART0, USART1, USART2 } /**< \brief (USART ) Instances List */
#define USBHS ((Usbhs *)0x40038000U) /**< \brief (USBHS ) Base Address */
#define USBHS_INST_NUM 1 /**< \brief (USBHS ) Number of instances */
#define USBHS_INSTS { USBHS } /**< \brief (USBHS ) Instances List */
#define UTMI ((Utmi *)0x400E0400U) /**< \brief (UTMI ) Base Address */
#define UTMI_INST_NUM 1 /**< \brief (UTMI ) Number of instances */
#define UTMI_INSTS { UTMI } /**< \brief (UTMI ) Instances List */
#define WDT ((Wdt *)0x400E1850U) /**< \brief (WDT ) Base Address */
#define WDT_INST_NUM 1 /**< \brief (WDT ) Number of instances */
#define WDT_INSTS { WDT } /**< \brief (WDT ) Instances List */
#define XDMAC ((Xdmac *)0x40078000U) /**< \brief (XDMAC ) Base Address */
#define XDMAC_INST_NUM 1 /**< \brief (XDMAC ) Number of instances */
#define XDMAC_INSTS { XDMAC } /**< \brief (XDMAC ) Instances List */
#define DACC ((Dacc *)0x40040000U) /**< \brief (DACC ) Base Address */
#define DACC_INST_NUM 1 /**< \brief (DACC ) Number of instances */
#define DACC_INSTS { DACC } /**< \brief (DACC ) Instances List */
#endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
/** @} end of Peripheral Base Address Definitions */
/** \addtogroup SAME70J21_pio Peripheral Pio Definitions
* @{
*/
/* ************************************************************************** */
/* PIO DEFINITIONS FOR SAME70J21*/
/* ************************************************************************** */
#include "pio/same70j21.h"
/** @} end of Peripheral Pio Definitions */
#if !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
/* ************************************************************************** */
/* MEMORY MAPPING DEFINITIONS FOR SAME70J21*/
/* ************************************************************************** */
#define PERIPHERALS_SIZE (0x20000000U) /* 524288kB Memory segment type: io */
#define SYSTEM_SIZE (0x10000000U) /* 262144kB Memory segment type: io */
#define QSPIMEM_SIZE (0x20000000U) /* 524288kB Memory segment type: other */
#define AXIMX_SIZE (0x00100000U) /* 1024kB Memory segment type: other */
#define ITCM_SIZE (0x00200000U) /* 2048kB Memory segment type: other */
#define IFLASH_SIZE (0x00200000U) /* 2048kB Memory segment type: flash */
#define IFLASH_PAGE_SIZE ( 512U)
#define IFLASH_NB_OF_PAGES ( 4096U)
#define IROM_SIZE (0x00004000U) /* 16kB Memory segment type: rom */
#define DTCM_SIZE (0x00020000U) /* 128kB Memory segment type: other */
#define IRAM_SIZE (0x00060000U) /* 384kB Memory segment type: ram */
#define EBI_CS0_SIZE (0x01000000U) /* 16384kB Memory segment type: other */
#define EBI_CS1_SIZE (0x01000000U) /* 16384kB Memory segment type: other */
#define EBI_CS2_SIZE (0x01000000U) /* 16384kB Memory segment type: other */
#define EBI_CS3_SIZE (0x01000000U) /* 16384kB Memory segment type: other */
#define SDRAM_CS_SIZE (0x10000000U) /* 262144kB Memory segment type: other */
#define PERIPHERALS_ADDR (0x40000000U) /**< PERIPHERALS base address (type: io)*/
#define SYSTEM_ADDR (0xe0000000U) /**< SYSTEM base address (type: io)*/
#define QSPIMEM_ADDR (0x80000000U) /**< QSPIMEM base address (type: other)*/
#define AXIMX_ADDR (0xa0000000U) /**< AXIMX base address (type: other)*/
#define ITCM_ADDR (0x00000000U) /**< ITCM base address (type: other)*/
#define IFLASH_ADDR (0x00400000U) /**< IFLASH base address (type: flash)*/
#define IROM_ADDR (0x00800000U) /**< IROM base address (type: rom)*/
#define DTCM_ADDR (0x20000000U) /**< DTCM base address (type: other)*/
#define IRAM_ADDR (0x20400000U) /**< IRAM base address (type: ram)*/
#define EBI_CS0_ADDR (0x60000000U) /**< EBI_CS0 base address (type: other)*/
#define EBI_CS1_ADDR (0x61000000U) /**< EBI_CS1 base address (type: other)*/
#define EBI_CS2_ADDR (0x62000000U) /**< EBI_CS2 base address (type: other)*/
#define EBI_CS3_ADDR (0x63000000U) /**< EBI_CS3 base address (type: other)*/
#define SDRAM_CS_ADDR (0x70000000U) /**< SDRAM_CS base address (type: other)*/
/* ************************************************************************** */
/** DEVICE SIGNATURES FOR SAME70J21 */
/* ************************************************************************** */
#define JTAGID (0X05B3D03FUL)
#define CHIP_JTAGID (0X05B3D03FUL)
#define CHIP_CIDR (0XA1020E00UL)
#define CHIP_EXID (0X00000000UL)
/* ************************************************************************** */
/** ELECTRICAL DEFINITIONS FOR SAME70J21 */
/* ************************************************************************** */
#define CHIP_FREQ_SLCK_RC_MIN (20000UL)
#define CHIP_FREQ_SLCK_RC (32000UL)
#define CHIP_FREQ_SLCK_RC_MAX (44000UL)
#define CHIP_FREQ_MAINCK_RC_4MHZ (4000000UL)
#define CHIP_FREQ_MAINCK_RC_8MHZ (8000000UL)
#define CHIP_FREQ_MAINCK_RC_12MHZ (12000000UL)
#define CHIP_FREQ_CPU_MAX (120000000UL)
#define CHIP_FREQ_XTAL_32K (32768UL)
#define CHIP_FREQ_XTAL_12M (12000000UL)
#define CHIP_FREQ_FWS_0 (20000000UL) /**< \brief Maximum operating frequency when FWS is 0*/
#define CHIP_FREQ_FWS_1 (40000000UL) /**< \brief Maximum operating frequency when FWS is 1*/
#define CHIP_FREQ_FWS_2 (60000000UL) /**< \brief Maximum operating frequency when FWS is 2*/
#define CHIP_FREQ_FWS_3 (80000000UL) /**< \brief Maximum operating frequency when FWS is 3*/
#define CHIP_FREQ_FWS_4 (100000000UL) /**< \brief Maximum operating frequency when FWS is 4*/
#define CHIP_FREQ_FWS_5 (123000000UL) /**< \brief Maximum operating frequency when FWS is 5*/
#endif /* !(defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
#ifdef __cplusplus
}
#endif
/** @} end of SAME70J21 definitions */
#endif /* _SAME70J21_H_ */
|