summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/atsam/libraries/libchip/include/mpu.h
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/arm/atsam/libraries/libchip/include/mpu.h')
-rw-r--r--c/src/lib/libbsp/arm/atsam/libraries/libchip/include/mpu.h222
1 files changed, 0 insertions, 222 deletions
diff --git a/c/src/lib/libbsp/arm/atsam/libraries/libchip/include/mpu.h b/c/src/lib/libbsp/arm/atsam/libraries/libchip/include/mpu.h
deleted file mode 100644
index 06f70d5d62..0000000000
--- a/c/src/lib/libbsp/arm/atsam/libraries/libchip/include/mpu.h
+++ /dev/null
@@ -1,222 +0,0 @@
-/* ---------------------------------------------------------------------------- */
-/* Atmel Microcontroller Software Support */
-/* SAM Software Package License */
-/* ---------------------------------------------------------------------------- */
-/* Copyright (c) 2015, Atmel Corporation */
-/* */
-/* All rights reserved. */
-/* */
-/* Redistribution and use in source and binary forms, with or without */
-/* modification, are permitted provided that the following condition is met: */
-/* */
-/* - Redistributions of source code must retain the above copyright notice, */
-/* this list of conditions and the disclaimer below. */
-/* */
-/* Atmel's name may not be used to endorse or promote products derived from */
-/* this software without specific prior written permission. */
-/* */
-/* DISCLAIMER: THIS SOFTWARE IS PROVIDED BY ATMEL "AS IS" AND ANY EXPRESS OR */
-/* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF */
-/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE */
-/* DISCLAIMED. IN NO EVENT SHALL ATMEL BE LIABLE FOR ANY DIRECT, INDIRECT, */
-/* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT */
-/* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, */
-/* OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF */
-/* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING */
-/* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, */
-/* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */
-/* ---------------------------------------------------------------------------- */
-
-#ifndef _MPU_H_
-#define _MPU_H_
-#ifdef __rtems__
-#include <bsp.h>
-#endif /* __rtems__ */
-
-/*----------------------------------------------------------------------------
- * Definitions
- *----------------------------------------------------------------------------*/
-#define ARM_MODE_USR 0x10
-
-#define PRIVILEGE_MODE 0
-#define USER_MODE 1
-
-#define MPU_DEFAULT_ITCM_REGION (1)
-#define MPU_DEFAULT_IFLASH_REGION (2)
-#define MPU_DEFAULT_DTCM_REGION (3)
-#define MPU_DEFAULT_SRAM_REGION_1 (4)
-#define MPU_DEFAULT_SRAM_REGION_2 (5)
-#define MPU_PERIPHERALS_REGION (6)
-#define MPU_EXT_EBI_REGION (7)
-#define MPU_DEFAULT_SDRAM_REGION (8)
-#define MPU_QSPIMEM_REGION (9)
-#define MPU_USBHSRAM_REGION (10)
-#if defined MPU_HAS_NOCACHE_REGION
- #define MPU_NOCACHE_SRAM_REGION (11)
-#endif
-#define MPU_SYSTEM_REGION (12)
-
-#define MPU_REGION_VALID (0x10)
-#define MPU_REGION_ENABLE (0x01)
-#define MPU_REGION_DISABLE (0x0)
-
-#define MPU_ENABLE (0x1 << MPU_CTRL_ENABLE_Pos)
-#define MPU_HFNMIENA (0x1 << MPU_CTRL_HFNMIENA_Pos)
-#define MPU_PRIVDEFENA (0x1 << MPU_CTRL_PRIVDEFENA_Pos)
-
-
-#define MPU_REGION_BUFFERABLE (0x01 << MPU_RASR_B_Pos)
-#define MPU_REGION_CACHEABLE (0x01 << MPU_RASR_C_Pos)
-#define MPU_REGION_SHAREABLE (0x01 << MPU_RASR_S_Pos)
-
-#define MPU_REGION_EXECUTE_NEVER (0x01 << MPU_RASR_XN_Pos)
-
-#define MPU_AP_NO_ACCESS (0x00 << MPU_RASR_AP_Pos)
-#define MPU_AP_PRIVILEGED_READ_WRITE (0x01 << MPU_RASR_AP_Pos)
-#define MPU_AP_UNPRIVILEGED_READONLY (0x02 << MPU_RASR_AP_Pos)
-#define MPU_AP_FULL_ACCESS (0x03 << MPU_RASR_AP_Pos)
-#define MPU_AP_RES (0x04 << MPU_RASR_AP_Pos)
-#define MPU_AP_PRIVILEGED_READONLY (0x05 << MPU_RASR_AP_Pos)
-#define MPU_AP_READONLY (0x06 << MPU_RASR_AP_Pos)
-#define MPU_AP_READONLY2 (0x07 << MPU_RASR_AP_Pos)
-
-#define MPU_TEX_B000 (0x01 << MPU_RASR_TEX_Pos)
-#define MPU_TEX_B001 (0x01 << MPU_RASR_TEX_Pos)
-#define MPU_TEX_B010 (0x01 << MPU_RASR_TEX_Pos)
-#define MPU_TEX_B011 (0x01 << MPU_RASR_TEX_Pos)
-#define MPU_TEX_B100 (0x01 << MPU_RASR_TEX_Pos)
-#define MPU_TEX_B101 (0x01 << MPU_RASR_TEX_Pos)
-#define MPU_TEX_B110 (0x01 << MPU_RASR_TEX_Pos)
-#define MPU_TEX_B111 (0x01 << MPU_RASR_TEX_Pos)
-
-/* Default memory map
- Address range Memory region Memory type Shareability Cache policy
- 0x00000000- 0x1FFFFFFF Code Normal Non-shareable WT
- 0x20000000- 0x3FFFFFFF SRAM Normal Non-shareable WBWA
- 0x40000000- 0x5FFFFFFF Peripheral Device Non-shareable -
- 0x60000000- 0x7FFFFFFF RAM Normal Non-shareable WBWA
- 0x80000000- 0x9FFFFFFF RAM Normal Non-shareable WT
- 0xA0000000- 0xBFFFFFFF Device Device Shareable
- 0xC0000000- 0xDFFFFFFF Device Device Non Shareable
- 0xE0000000- 0xFFFFFFFF System - -
- */
-
-/********* IFLASH memory macros *********************/
-#ifdef __rtems__
-#define ITCM_START_ADDRESS ((uintptr_t) atsam_memory_itcm_begin)
-#define ITCM_END_ADDRESS ((uintptr_t) atsam_memory_itcm_end - 1)
-#define IFLASH_START_ADDRESS ((uintptr_t) atsam_memory_intflash_begin)
-#define IFLASH_END_ADDRESS ((uintptr_t) atsam_memory_intflash_end - 1)
-#else /* !__rtems__ */
-#define ITCM_START_ADDRESS 0x00000000UL
-#define ITCM_END_ADDRESS 0x003FFFFFUL
-#define IFLASH_START_ADDRESS 0x00400000UL
-#define IFLASH_END_ADDRESS 0x005FFFFFUL
-#endif /* __rtems__ */
-
-
-#define IFLASH_PRIVILEGE_START_ADDRESS (IFLASH_START_ADDRESS)
-#define IFLASH_PRIVILEGE_END_ADDRESS (IFLASH_START_ADDRESS + 0xFFF)
-
-#define IFLASH_UNPRIVILEGE_START_ADDRESS (IFLASH_PRIVILEGE_END_ADDRESS + 1)
-#define IFLASH_UNPRIVILEGE_END_ADDRESS (IFLASH_END_ADDRESS)
-
-/**************** DTCM *******************************/
-#ifdef __rtems__
-#define DTCM_START_ADDRESS ((uintptr_t) atsam_memory_dtcm_begin)
-#define DTCM_END_ADDRESS ((uintptr_t) atsam_memory_dtcm_end - 1)
-#else /* !__rtems__ */
-#define DTCM_START_ADDRESS 0x20000000UL
-#define DTCM_END_ADDRESS 0x203FFFFFUL
-#endif /* __rtems__ */
-
-
-/******* SRAM memory macros ***************************/
-
-#ifdef __rtems__
-#define SRAM_START_ADDRESS ((uintptr_t) atsam_memory_intsram_begin)
-#define SRAM_END_ADDRESS ((uintptr_t) atsam_memory_intsram_end - 1)
-#else /* !__rtems__ */
-#define SRAM_START_ADDRESS 0x20400000UL
-#define SRAM_END_ADDRESS 0x2045FFFFUL
-#endif /* __rtems__ */
-
-#ifndef __rtems__
-#if defined MPU_HAS_NOCACHE_REGION
- #define NOCACHE_SRAM_REGION_SIZE 0x1000
-#endif
-#endif /* __rtems__ */
-
-/* Regions should be a 2^(N+1) where 4 < N < 31 */
-#ifdef __rtems__
-#define SRAM_FIRST_START_ADDRESS ((uintptr_t) atsam_memory_intsram_begin)
-#define SRAM_FIRST_END_ADDRESS ((uintptr_t) atsam_memory_intsram_end - 1)
-#else /* !__rtems__ */
-#define SRAM_FIRST_START_ADDRESS (SRAM_START_ADDRESS)
-#define SRAM_FIRST_END_ADDRESS (SRAM_FIRST_START_ADDRESS + 0x3FFFF) // (2^18) 256 KB
-#endif /* __rtems__ */
-
-#if defined MPU_HAS_NOCACHE_REGION
-#ifdef __rtems__
- #define SRAM_NOCACHE_START_ADDRESS ((uintptr_t) atsam_memory_nocache_begin)
- #define SRAM_NOCACHE_END_ADDRESS ((uintptr_t) atsam_memory_nocache_end - 1)
- #define NOCACHE_SRAM_REGION_SIZE (SRAM_NOCACHE_END_ADDRESS - SRAM_NOCACHE_START_ADDRESS)
-#else /* !__rtems__ */
- #define SRAM_SECOND_START_ADDRESS (SRAM_FIRST_END_ADDRESS+1)
- #define SRAM_SECOND_END_ADDRESS (SRAM_END_ADDRESS - NOCACHE_SRAM_REGION_SIZE) // (2^17) 128 - 0x1000 KB
- #define SRAM_NOCACHE_START_ADDRESS (SRAM_SECOND_END_ADDRESS + 1)
- #define SRAM_NOCACHE_END_ADDRESS (SRAM_END_ADDRESS)
-#endif /* __rtems__ */
-#else
-#ifndef __rtems__
- #define SRAM_SECOND_START_ADDRESS (SRAM_FIRST_END_ADDRESS + 1)
- #define SRAM_SECOND_END_ADDRESS (SRAM_END_ADDRESS) // (2^17) 128 KB
-#endif /* __rtems__ */
-#endif
-/************** Peripherals memory region macros ********/
-#define PERIPHERALS_START_ADDRESS 0x40000000UL
-#define PERIPHERALS_END_ADDRESS 0x5FFFFFFFUL
-#ifdef __rtems__
-#define SYSTEM_START_ADDRESS 0xE0000000UL
-#define SYSTEM_END_ADDRESS 0xFFFFFFFFUL
-#endif /* __rtems__ */
-
-/******* Ext EBI memory macros ***************************/
-#define EXT_EBI_START_ADDRESS 0x60000000UL
-#define EXT_EBI_END_ADDRESS 0x6FFFFFFFUL
-
-/******* Ext-SRAM memory macros ***************************/
-#ifdef __rtems__
-#define SDRAM_START_ADDRESS ((uintptr_t) atsam_memory_sdram_begin)
-#define SDRAM_END_ADDRESS ((uintptr_t) atsam_memory_sdram_end - 1)
-#else /* !__rtems__ */
-#define SDRAM_START_ADDRESS 0x70000000UL
-#define SDRAM_END_ADDRESS 0x7FFFFFFFUL
-#endif /* __rtems__ */
-
-/******* QSPI macros ***************************/
-#ifdef __rtems__
-#define QSPI_START_ADDRESS ((uintptr_t) atsam_memory_qspiflash_begin)
-#define QSPI_END_ADDRESS ((uintptr_t) atsam_memory_qspiflash_end - 1)
-#else /* !__rtems__ */
-#define QSPI_START_ADDRESS 0x80000000UL
-#define QSPI_END_ADDRESS 0x9FFFFFFFUL
-#endif /* __rtems__ */
-
-/************** USBHS_RAM region macros ******************/
-#define USBHSRAM_START_ADDRESS 0xA0100000UL
-#define USBHSRAM_END_ADDRESS 0xA01FFFFFUL
-
-/*----------------------------------------------------------------------------
- * Export functions
- *----------------------------------------------------------------------------*/
-void MPU_Enable(uint32_t dwMPUEnable);
-void MPU_SetRegion(uint32_t dwRegionBaseAddr, uint32_t dwRegionAttr);
-void MPU_SetRegionNum(uint32_t dwRegionNum);
-void MPU_DisableRegion(void);
-uint32_t MPU_CalMPURegionSize(uint32_t dwActualSizeInBytes);
-void MPU_UpdateRegions(uint32_t dwRegionNum, uint32_t dwRegionBaseAddr,
- uint32_t dwRegionAttr);
-
-#endif /* #ifndef _MMU_ */
-