forked from adafruit/ArduinoModule-CMSIS-Atmel
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
add same51 support from SAME51_DFP.1.1.139
- Loading branch information
Showing
131 changed files
with
59,918 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
64 changes: 64 additions & 0 deletions
64
CMSIS-Atmel/CMSIS/Device/ATMEL/same51/include/component-version.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
/** | ||
* \file | ||
* | ||
* \brief Component version header file | ||
* | ||
* Copyright (c) 2019 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 _COMPONENT_VERSION_H_INCLUDED | ||
#define _COMPONENT_VERSION_H_INCLUDED | ||
|
||
#define COMPONENT_VERSION_MAJOR 1 | ||
#define COMPONENT_VERSION_MINOR 1 | ||
|
||
// | ||
// The COMPONENT_VERSION define is composed of the major and the minor version number. | ||
// | ||
// The last four digits of the COMPONENT_VERSION is the minor version with leading zeros. | ||
// The rest of the COMPONENT_VERSION is the major version. | ||
// | ||
#define COMPONENT_VERSION 10001 | ||
|
||
// | ||
// The build number does not refer to the component, but to the build number | ||
// of the device pack that provides the component. | ||
// | ||
#define BUILD_NUMBER 139 | ||
|
||
// | ||
// The COMPONENT_VERSION_STRING is a string (enclosed in ") that can be used for logging or embedding. | ||
// | ||
#define COMPONENT_VERSION_STRING "1.1" | ||
|
||
// | ||
// The COMPONENT_DATE_STRING contains a timestamp of when the pack was generated. | ||
// | ||
// The COMPONENT_DATE_STRING is written out using the following strftime pattern. | ||
// | ||
// "%Y-%m-%d %H:%M:%S" | ||
// | ||
// | ||
#define COMPONENT_DATE_STRING "2019-11-05 13:35:15" | ||
|
||
#endif/* #ifndef _COMPONENT_VERSION_H_INCLUDED */ | ||
|
598 changes: 598 additions & 0 deletions
598
CMSIS-Atmel/CMSIS/Device/ATMEL/same51/include/component/ac.h
Large diffs are not rendered by default.
Oops, something went wrong.
871 changes: 871 additions & 0 deletions
871
CMSIS-Atmel/CMSIS/Device/ATMEL/same51/include/component/adc.h
Large diffs are not rendered by default.
Oops, something went wrong.
375 changes: 375 additions & 0 deletions
375
CMSIS-Atmel/CMSIS/Device/ATMEL/same51/include/component/aes.h
Large diffs are not rendered by default.
Oops, something went wrong.
3,187 changes: 3,187 additions & 0 deletions
3,187
CMSIS-Atmel/CMSIS/Device/ATMEL/same51/include/component/can.h
Large diffs are not rendered by default.
Oops, something went wrong.
228 changes: 228 additions & 0 deletions
228
CMSIS-Atmel/CMSIS/Device/ATMEL/same51/include/component/ccl.h
Large diffs are not rendered by default.
Oops, something went wrong.
357 changes: 357 additions & 0 deletions
357
CMSIS-Atmel/CMSIS/Device/ATMEL/same51/include/component/cmcc.h
Large diffs are not rendered by default.
Oops, something went wrong.
544 changes: 544 additions & 0 deletions
544
CMSIS-Atmel/CMSIS/Device/ATMEL/same51/include/component/dac.h
Large diffs are not rendered by default.
Oops, something went wrong.
1,416 changes: 1,416 additions & 0 deletions
1,416
CMSIS-Atmel/CMSIS/Device/ATMEL/same51/include/component/dmac.h
Large diffs are not rendered by default.
Oops, something went wrong.
647 changes: 647 additions & 0 deletions
647
CMSIS-Atmel/CMSIS/Device/ATMEL/same51/include/component/dsu.h
Large diffs are not rendered by default.
Oops, something went wrong.
497 changes: 497 additions & 0 deletions
497
CMSIS-Atmel/CMSIS/Device/ATMEL/same51/include/component/eic.h
Large diffs are not rendered by default.
Oops, something went wrong.
587 changes: 587 additions & 0 deletions
587
CMSIS-Atmel/CMSIS/Device/ATMEL/same51/include/component/evsys.h
Large diffs are not rendered by default.
Oops, something went wrong.
233 changes: 233 additions & 0 deletions
233
CMSIS-Atmel/CMSIS/Device/ATMEL/same51/include/component/freqm.h
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,233 @@ | ||
/** | ||
* \file | ||
* | ||
* \brief Component description for FREQM | ||
* | ||
* Copyright (c) 2019 Microchip Technology Inc. | ||
* | ||
* \asf_license_start | ||
* | ||
* \page License | ||
* | ||
* SPDX-License-Identifier: Apache-2.0 | ||
* | ||
* 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 Licence 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. | ||
* | ||
* \asf_license_stop | ||
* | ||
*/ | ||
|
||
#ifndef _SAME51_FREQM_COMPONENT_ | ||
#define _SAME51_FREQM_COMPONENT_ | ||
|
||
/* ========================================================================== */ | ||
/** SOFTWARE API DEFINITION FOR FREQM */ | ||
/* ========================================================================== */ | ||
/** \addtogroup SAME51_FREQM Frequency Meter */ | ||
/*@{*/ | ||
|
||
#define FREQM_U2257 | ||
#define REV_FREQM 0x110 | ||
|
||
/* -------- FREQM_CTRLA : (FREQM Offset: 0x00) (R/W 8) Control A Register -------- */ | ||
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) | ||
typedef union { | ||
struct { | ||
uint8_t SWRST:1; /*!< bit: 0 Software Reset */ | ||
uint8_t ENABLE:1; /*!< bit: 1 Enable */ | ||
uint8_t :6; /*!< bit: 2.. 7 Reserved */ | ||
} bit; /*!< Structure used for bit access */ | ||
uint8_t reg; /*!< Type used for register access */ | ||
} FREQM_CTRLA_Type; | ||
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ | ||
|
||
#define FREQM_CTRLA_OFFSET 0x00 /**< \brief (FREQM_CTRLA offset) Control A Register */ | ||
#define FREQM_CTRLA_RESETVALUE _U_(0x00) /**< \brief (FREQM_CTRLA reset_value) Control A Register */ | ||
|
||
#define FREQM_CTRLA_SWRST_Pos 0 /**< \brief (FREQM_CTRLA) Software Reset */ | ||
#define FREQM_CTRLA_SWRST (_U_(0x1) << FREQM_CTRLA_SWRST_Pos) | ||
#define FREQM_CTRLA_ENABLE_Pos 1 /**< \brief (FREQM_CTRLA) Enable */ | ||
#define FREQM_CTRLA_ENABLE (_U_(0x1) << FREQM_CTRLA_ENABLE_Pos) | ||
#define FREQM_CTRLA_MASK _U_(0x03) /**< \brief (FREQM_CTRLA) MASK Register */ | ||
|
||
/* -------- FREQM_CTRLB : (FREQM Offset: 0x01) ( /W 8) Control B Register -------- */ | ||
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) | ||
typedef union { | ||
struct { | ||
uint8_t START:1; /*!< bit: 0 Start Measurement */ | ||
uint8_t :7; /*!< bit: 1.. 7 Reserved */ | ||
} bit; /*!< Structure used for bit access */ | ||
uint8_t reg; /*!< Type used for register access */ | ||
} FREQM_CTRLB_Type; | ||
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ | ||
|
||
#define FREQM_CTRLB_OFFSET 0x01 /**< \brief (FREQM_CTRLB offset) Control B Register */ | ||
#define FREQM_CTRLB_RESETVALUE _U_(0x00) /**< \brief (FREQM_CTRLB reset_value) Control B Register */ | ||
|
||
#define FREQM_CTRLB_START_Pos 0 /**< \brief (FREQM_CTRLB) Start Measurement */ | ||
#define FREQM_CTRLB_START (_U_(0x1) << FREQM_CTRLB_START_Pos) | ||
#define FREQM_CTRLB_MASK _U_(0x01) /**< \brief (FREQM_CTRLB) MASK Register */ | ||
|
||
/* -------- FREQM_CFGA : (FREQM Offset: 0x02) (R/W 16) Config A register -------- */ | ||
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) | ||
typedef union { | ||
struct { | ||
uint16_t REFNUM:8; /*!< bit: 0.. 7 Number of Reference Clock Cycles */ | ||
uint16_t :8; /*!< bit: 8..15 Reserved */ | ||
} bit; /*!< Structure used for bit access */ | ||
uint16_t reg; /*!< Type used for register access */ | ||
} FREQM_CFGA_Type; | ||
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ | ||
|
||
#define FREQM_CFGA_OFFSET 0x02 /**< \brief (FREQM_CFGA offset) Config A register */ | ||
#define FREQM_CFGA_RESETVALUE _U_(0x0000) /**< \brief (FREQM_CFGA reset_value) Config A register */ | ||
|
||
#define FREQM_CFGA_REFNUM_Pos 0 /**< \brief (FREQM_CFGA) Number of Reference Clock Cycles */ | ||
#define FREQM_CFGA_REFNUM_Msk (_U_(0xFF) << FREQM_CFGA_REFNUM_Pos) | ||
#define FREQM_CFGA_REFNUM(value) (FREQM_CFGA_REFNUM_Msk & ((value) << FREQM_CFGA_REFNUM_Pos)) | ||
#define FREQM_CFGA_MASK _U_(0x00FF) /**< \brief (FREQM_CFGA) MASK Register */ | ||
|
||
/* -------- FREQM_INTENCLR : (FREQM Offset: 0x08) (R/W 8) Interrupt Enable Clear Register -------- */ | ||
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) | ||
typedef union { | ||
struct { | ||
uint8_t DONE:1; /*!< bit: 0 Measurement Done Interrupt Enable */ | ||
uint8_t :7; /*!< bit: 1.. 7 Reserved */ | ||
} bit; /*!< Structure used for bit access */ | ||
uint8_t reg; /*!< Type used for register access */ | ||
} FREQM_INTENCLR_Type; | ||
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ | ||
|
||
#define FREQM_INTENCLR_OFFSET 0x08 /**< \brief (FREQM_INTENCLR offset) Interrupt Enable Clear Register */ | ||
#define FREQM_INTENCLR_RESETVALUE _U_(0x00) /**< \brief (FREQM_INTENCLR reset_value) Interrupt Enable Clear Register */ | ||
|
||
#define FREQM_INTENCLR_DONE_Pos 0 /**< \brief (FREQM_INTENCLR) Measurement Done Interrupt Enable */ | ||
#define FREQM_INTENCLR_DONE (_U_(0x1) << FREQM_INTENCLR_DONE_Pos) | ||
#define FREQM_INTENCLR_MASK _U_(0x01) /**< \brief (FREQM_INTENCLR) MASK Register */ | ||
|
||
/* -------- FREQM_INTENSET : (FREQM Offset: 0x09) (R/W 8) Interrupt Enable Set Register -------- */ | ||
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) | ||
typedef union { | ||
struct { | ||
uint8_t DONE:1; /*!< bit: 0 Measurement Done Interrupt Enable */ | ||
uint8_t :7; /*!< bit: 1.. 7 Reserved */ | ||
} bit; /*!< Structure used for bit access */ | ||
uint8_t reg; /*!< Type used for register access */ | ||
} FREQM_INTENSET_Type; | ||
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ | ||
|
||
#define FREQM_INTENSET_OFFSET 0x09 /**< \brief (FREQM_INTENSET offset) Interrupt Enable Set Register */ | ||
#define FREQM_INTENSET_RESETVALUE _U_(0x00) /**< \brief (FREQM_INTENSET reset_value) Interrupt Enable Set Register */ | ||
|
||
#define FREQM_INTENSET_DONE_Pos 0 /**< \brief (FREQM_INTENSET) Measurement Done Interrupt Enable */ | ||
#define FREQM_INTENSET_DONE (_U_(0x1) << FREQM_INTENSET_DONE_Pos) | ||
#define FREQM_INTENSET_MASK _U_(0x01) /**< \brief (FREQM_INTENSET) MASK Register */ | ||
|
||
/* -------- FREQM_INTFLAG : (FREQM Offset: 0x0A) (R/W 8) Interrupt Flag Register -------- */ | ||
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) | ||
typedef union { // __I to avoid read-modify-write on write-to-clear register | ||
struct { | ||
__I uint8_t DONE:1; /*!< bit: 0 Measurement Done */ | ||
__I uint8_t :7; /*!< bit: 1.. 7 Reserved */ | ||
} bit; /*!< Structure used for bit access */ | ||
uint8_t reg; /*!< Type used for register access */ | ||
} FREQM_INTFLAG_Type; | ||
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ | ||
|
||
#define FREQM_INTFLAG_OFFSET 0x0A /**< \brief (FREQM_INTFLAG offset) Interrupt Flag Register */ | ||
#define FREQM_INTFLAG_RESETVALUE _U_(0x00) /**< \brief (FREQM_INTFLAG reset_value) Interrupt Flag Register */ | ||
|
||
#define FREQM_INTFLAG_DONE_Pos 0 /**< \brief (FREQM_INTFLAG) Measurement Done */ | ||
#define FREQM_INTFLAG_DONE (_U_(0x1) << FREQM_INTFLAG_DONE_Pos) | ||
#define FREQM_INTFLAG_MASK _U_(0x01) /**< \brief (FREQM_INTFLAG) MASK Register */ | ||
|
||
/* -------- FREQM_STATUS : (FREQM Offset: 0x0B) (R/W 8) Status Register -------- */ | ||
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) | ||
typedef union { | ||
struct { | ||
uint8_t BUSY:1; /*!< bit: 0 FREQM Status */ | ||
uint8_t OVF:1; /*!< bit: 1 Sticky Count Value Overflow */ | ||
uint8_t :6; /*!< bit: 2.. 7 Reserved */ | ||
} bit; /*!< Structure used for bit access */ | ||
uint8_t reg; /*!< Type used for register access */ | ||
} FREQM_STATUS_Type; | ||
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ | ||
|
||
#define FREQM_STATUS_OFFSET 0x0B /**< \brief (FREQM_STATUS offset) Status Register */ | ||
#define FREQM_STATUS_RESETVALUE _U_(0x00) /**< \brief (FREQM_STATUS reset_value) Status Register */ | ||
|
||
#define FREQM_STATUS_BUSY_Pos 0 /**< \brief (FREQM_STATUS) FREQM Status */ | ||
#define FREQM_STATUS_BUSY (_U_(0x1) << FREQM_STATUS_BUSY_Pos) | ||
#define FREQM_STATUS_OVF_Pos 1 /**< \brief (FREQM_STATUS) Sticky Count Value Overflow */ | ||
#define FREQM_STATUS_OVF (_U_(0x1) << FREQM_STATUS_OVF_Pos) | ||
#define FREQM_STATUS_MASK _U_(0x03) /**< \brief (FREQM_STATUS) MASK Register */ | ||
|
||
/* -------- FREQM_SYNCBUSY : (FREQM Offset: 0x0C) (R/ 32) Synchronization Busy Register -------- */ | ||
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) | ||
typedef union { | ||
struct { | ||
uint32_t SWRST:1; /*!< bit: 0 Software Reset */ | ||
uint32_t ENABLE:1; /*!< bit: 1 Enable */ | ||
uint32_t :30; /*!< bit: 2..31 Reserved */ | ||
} bit; /*!< Structure used for bit access */ | ||
uint32_t reg; /*!< Type used for register access */ | ||
} FREQM_SYNCBUSY_Type; | ||
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ | ||
|
||
#define FREQM_SYNCBUSY_OFFSET 0x0C /**< \brief (FREQM_SYNCBUSY offset) Synchronization Busy Register */ | ||
#define FREQM_SYNCBUSY_RESETVALUE _U_(0x00000000) /**< \brief (FREQM_SYNCBUSY reset_value) Synchronization Busy Register */ | ||
|
||
#define FREQM_SYNCBUSY_SWRST_Pos 0 /**< \brief (FREQM_SYNCBUSY) Software Reset */ | ||
#define FREQM_SYNCBUSY_SWRST (_U_(0x1) << FREQM_SYNCBUSY_SWRST_Pos) | ||
#define FREQM_SYNCBUSY_ENABLE_Pos 1 /**< \brief (FREQM_SYNCBUSY) Enable */ | ||
#define FREQM_SYNCBUSY_ENABLE (_U_(0x1) << FREQM_SYNCBUSY_ENABLE_Pos) | ||
#define FREQM_SYNCBUSY_MASK _U_(0x00000003) /**< \brief (FREQM_SYNCBUSY) MASK Register */ | ||
|
||
/* -------- FREQM_VALUE : (FREQM Offset: 0x10) (R/ 32) Count Value Register -------- */ | ||
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) | ||
typedef union { | ||
struct { | ||
uint32_t VALUE:24; /*!< bit: 0..23 Measurement Value */ | ||
uint32_t :8; /*!< bit: 24..31 Reserved */ | ||
} bit; /*!< Structure used for bit access */ | ||
uint32_t reg; /*!< Type used for register access */ | ||
} FREQM_VALUE_Type; | ||
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ | ||
|
||
#define FREQM_VALUE_OFFSET 0x10 /**< \brief (FREQM_VALUE offset) Count Value Register */ | ||
#define FREQM_VALUE_RESETVALUE _U_(0x00000000) /**< \brief (FREQM_VALUE reset_value) Count Value Register */ | ||
|
||
#define FREQM_VALUE_VALUE_Pos 0 /**< \brief (FREQM_VALUE) Measurement Value */ | ||
#define FREQM_VALUE_VALUE_Msk (_U_(0xFFFFFF) << FREQM_VALUE_VALUE_Pos) | ||
#define FREQM_VALUE_VALUE(value) (FREQM_VALUE_VALUE_Msk & ((value) << FREQM_VALUE_VALUE_Pos)) | ||
#define FREQM_VALUE_MASK _U_(0x00FFFFFF) /**< \brief (FREQM_VALUE) MASK Register */ | ||
|
||
/** \brief FREQM hardware registers */ | ||
#if !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) | ||
typedef struct { | ||
__IO FREQM_CTRLA_Type CTRLA; /**< \brief Offset: 0x00 (R/W 8) Control A Register */ | ||
__O FREQM_CTRLB_Type CTRLB; /**< \brief Offset: 0x01 ( /W 8) Control B Register */ | ||
__IO FREQM_CFGA_Type CFGA; /**< \brief Offset: 0x02 (R/W 16) Config A register */ | ||
RoReg8 Reserved1[0x4]; | ||
__IO FREQM_INTENCLR_Type INTENCLR; /**< \brief Offset: 0x08 (R/W 8) Interrupt Enable Clear Register */ | ||
__IO FREQM_INTENSET_Type INTENSET; /**< \brief Offset: 0x09 (R/W 8) Interrupt Enable Set Register */ | ||
__IO FREQM_INTFLAG_Type INTFLAG; /**< \brief Offset: 0x0A (R/W 8) Interrupt Flag Register */ | ||
__IO FREQM_STATUS_Type STATUS; /**< \brief Offset: 0x0B (R/W 8) Status Register */ | ||
__I FREQM_SYNCBUSY_Type SYNCBUSY; /**< \brief Offset: 0x0C (R/ 32) Synchronization Busy Register */ | ||
__I FREQM_VALUE_Type VALUE; /**< \brief Offset: 0x10 (R/ 32) Count Value Register */ | ||
} Freqm; | ||
#endif /* !(defined(__ASSEMBLY__) || defined(__IAR_SYSTEMS_ASM__)) */ | ||
|
||
/*@}*/ | ||
|
||
#endif /* _SAME51_FREQM_COMPONENT_ */ |
Oops, something went wrong.