123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- /**
- * \file
- *
- * \brief Instance description for NVMCTRL
- *
- * Copyright (c) 2018 Microchip Technology Inc.
- *
- * \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 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
- *
- */
- /* file generated from device description version 2018-05-30T11:07:17Z */
- #ifndef _SAML11_NVMCTRL_INSTANCE_H_
- #define _SAML11_NVMCTRL_INSTANCE_H_
- /* ========== Register definition for NVMCTRL peripheral ========== */
- #if (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__))
- #define REG_NVMCTRL_CTRLA (0x41004000) /**< (NVMCTRL) Control A */
- #define REG_NVMCTRL_CTRLB (0x41004004) /**< (NVMCTRL) Control B */
- #define REG_NVMCTRL_CTRLC (0x41004008) /**< (NVMCTRL) Control C */
- #define REG_NVMCTRL_EVCTRL (0x4100400A) /**< (NVMCTRL) Event Control */
- #define REG_NVMCTRL_INTENCLR (0x4100400C) /**< (NVMCTRL) Interrupt Enable Clear */
- #define REG_NVMCTRL_INTENSET (0x41004010) /**< (NVMCTRL) Interrupt Enable Set */
- #define REG_NVMCTRL_INTFLAG (0x41004014) /**< (NVMCTRL) Interrupt Flag Status and Clear */
- #define REG_NVMCTRL_STATUS (0x41004018) /**< (NVMCTRL) Status */
- #define REG_NVMCTRL_ADDR (0x4100401C) /**< (NVMCTRL) Address */
- #define REG_NVMCTRL_SULCK (0x41004020) /**< (NVMCTRL) Secure Unlock Register */
- #define REG_NVMCTRL_NSULCK (0x41004022) /**< (NVMCTRL) Non-Secure Unlock Register */
- #define REG_NVMCTRL_PARAM (0x41004024) /**< (NVMCTRL) NVM Parameter */
- #define REG_NVMCTRL_DSCC (0x41004030) /**< (NVMCTRL) Data Scramble Configuration */
- #define REG_NVMCTRL_SECCTRL (0x41004034) /**< (NVMCTRL) Security Control */
- #define REG_NVMCTRL_SCFGB (0x41004038) /**< (NVMCTRL) Secure Boot Configuration */
- #define REG_NVMCTRL_SCFGAD (0x4100403C) /**< (NVMCTRL) Secure Application and Data Configuration */
- #define REG_NVMCTRL_NONSEC (0x41004040) /**< (NVMCTRL) Non-secure Write Enable */
- #define REG_NVMCTRL_NSCHK (0x41004044) /**< (NVMCTRL) Non-secure Write Reference Value */
- #else
- #define REG_NVMCTRL_CTRLA (*(__O uint16_t*)0x41004000U) /**< (NVMCTRL) Control A */
- #define REG_NVMCTRL_CTRLB (*(__IO uint32_t*)0x41004004U) /**< (NVMCTRL) Control B */
- #define REG_NVMCTRL_CTRLC (*(__IO uint8_t*)0x41004008U) /**< (NVMCTRL) Control C */
- #define REG_NVMCTRL_EVCTRL (*(__IO uint8_t*)0x4100400AU) /**< (NVMCTRL) Event Control */
- #define REG_NVMCTRL_INTENCLR (*(__IO uint8_t*)0x4100400CU) /**< (NVMCTRL) Interrupt Enable Clear */
- #define REG_NVMCTRL_INTENSET (*(__IO uint8_t*)0x41004010U) /**< (NVMCTRL) Interrupt Enable Set */
- #define REG_NVMCTRL_INTFLAG (*(__IO uint8_t*)0x41004014U) /**< (NVMCTRL) Interrupt Flag Status and Clear */
- #define REG_NVMCTRL_STATUS (*(__I uint16_t*)0x41004018U) /**< (NVMCTRL) Status */
- #define REG_NVMCTRL_ADDR (*(__IO uint32_t*)0x4100401CU) /**< (NVMCTRL) Address */
- #define REG_NVMCTRL_SULCK (*(__IO uint16_t*)0x41004020U) /**< (NVMCTRL) Secure Unlock Register */
- #define REG_NVMCTRL_NSULCK (*(__IO uint16_t*)0x41004022U) /**< (NVMCTRL) Non-Secure Unlock Register */
- #define REG_NVMCTRL_PARAM (*(__IO uint32_t*)0x41004024U) /**< (NVMCTRL) NVM Parameter */
- #define REG_NVMCTRL_DSCC (*(__O uint32_t*)0x41004030U) /**< (NVMCTRL) Data Scramble Configuration */
- #define REG_NVMCTRL_SECCTRL (*(__IO uint32_t*)0x41004034U) /**< (NVMCTRL) Security Control */
- #define REG_NVMCTRL_SCFGB (*(__IO uint32_t*)0x41004038U) /**< (NVMCTRL) Secure Boot Configuration */
- #define REG_NVMCTRL_SCFGAD (*(__IO uint32_t*)0x4100403CU) /**< (NVMCTRL) Secure Application and Data Configuration */
- #define REG_NVMCTRL_NONSEC (*(__IO uint32_t*)0x41004040U) /**< (NVMCTRL) Non-secure Write Enable */
- #define REG_NVMCTRL_NSCHK (*(__IO uint32_t*)0x41004044U) /**< (NVMCTRL) Non-secure Write Reference Value */
- #endif /* (defined(__ASSEMBLER__) || defined(__IAR_SYSTEMS_ASM__)) */
- /* ========== Instance Parameter definitions for NVMCTRL peripheral ========== */
- #define NVMCTRL_DATAFLASH_PAGES 32
- #define NVMCTRL_PMSB 3
- #define NVMCTRL_PSZ_BITS 6
- #define NVMCTRL_ROW_PAGES 4
- #define NVMCTRL_SECURE_IMPLEMENTED 1 /* Security Configuration implemented? */
- #define NVMCTRL_FLASH_SIZE 65536
- #define NVMCTRL_PAGE_SIZE 64
- #define NVMCTRL_PAGES 1024
- #define NVMCTRL_PAGES_PR_REGION 64
- #define NVMCTRL_PSM_0_FRMFW_FWS_1_MAX_FREQ 12000000
- #define NVMCTRL_PSM_0_FRMLP_FWS_0_MAX_FREQ 18000000
- #define NVMCTRL_PSM_0_FRMLP_FWS_1_MAX_FREQ 36000000
- #define NVMCTRL_PSM_0_FRMHS_FWS_0_MAX_FREQ 25000000
- #define NVMCTRL_PSM_0_FRMHS_FWS_1_MAX_FREQ 50000000
- #define NVMCTRL_PSM_1_FRMFW_FWS_1_MAX_FREQ 12000000
- #define NVMCTRL_PSM_1_FRMLP_FWS_0_MAX_FREQ 8000000
- #define NVMCTRL_PSM_1_FRMLP_FWS_1_MAX_FREQ 12000000
- #define NVMCTRL_INSTANCE_ID 34
- #endif /* _SAML11_NVMCTRL_INSTANCE_ */
|