1c9d75b3cSYann Gautier /* 2c9d75b3cSYann Gautier * Copyright (c) 2015-2019, ARM Limited and Contributors. All rights reserved. 3c9d75b3cSYann Gautier * 4c9d75b3cSYann Gautier * SPDX-License-Identifier: BSD-3-Clause 5c9d75b3cSYann Gautier */ 6c9d75b3cSYann Gautier 7c9d75b3cSYann Gautier #include <platform_def.h> 8c9d75b3cSYann Gautier 9c9d75b3cSYann Gautier #include <lib/xlat_tables/xlat_tables_v2.h> 10c9d75b3cSYann Gautier 11*3f9c9784SYann Gautier #define MAP_SRAM MAP_REGION_FLAT(STM32MP_SYSRAM_BASE, \ 12*3f9c9784SYann Gautier STM32MP_SYSRAM_SIZE, \ 13c9d75b3cSYann Gautier MT_MEMORY | \ 14c9d75b3cSYann Gautier MT_RW | \ 15c9d75b3cSYann Gautier MT_SECURE | \ 16c9d75b3cSYann Gautier MT_EXECUTE_NEVER) 17c9d75b3cSYann Gautier 18c9d75b3cSYann Gautier #define MAP_DEVICE1 MAP_REGION_FLAT(STM32MP1_DEVICE1_BASE, \ 19c9d75b3cSYann Gautier STM32MP1_DEVICE1_SIZE, \ 20c9d75b3cSYann Gautier MT_DEVICE | \ 21c9d75b3cSYann Gautier MT_RW | \ 22c9d75b3cSYann Gautier MT_SECURE | \ 23c9d75b3cSYann Gautier MT_EXECUTE_NEVER) 24c9d75b3cSYann Gautier 25c9d75b3cSYann Gautier #define MAP_DEVICE2 MAP_REGION_FLAT(STM32MP1_DEVICE2_BASE, \ 26c9d75b3cSYann Gautier STM32MP1_DEVICE2_SIZE, \ 27c9d75b3cSYann Gautier MT_DEVICE | \ 28c9d75b3cSYann Gautier MT_RW | \ 29c9d75b3cSYann Gautier MT_SECURE | \ 30c9d75b3cSYann Gautier MT_EXECUTE_NEVER) 31c9d75b3cSYann Gautier 32c9d75b3cSYann Gautier #if defined(IMAGE_BL2) 33c9d75b3cSYann Gautier static const mmap_region_t stm32mp1_mmap[] = { 34c9d75b3cSYann Gautier MAP_SRAM, 35c9d75b3cSYann Gautier MAP_DEVICE1, 36c9d75b3cSYann Gautier MAP_DEVICE2, 37c9d75b3cSYann Gautier {0} 38c9d75b3cSYann Gautier }; 39c9d75b3cSYann Gautier #endif 40c9d75b3cSYann Gautier #if defined(IMAGE_BL32) 41c9d75b3cSYann Gautier static const mmap_region_t stm32mp1_mmap[] = { 42c9d75b3cSYann Gautier MAP_SRAM, 43c9d75b3cSYann Gautier MAP_DEVICE1, 44c9d75b3cSYann Gautier MAP_DEVICE2, 45c9d75b3cSYann Gautier {0} 46c9d75b3cSYann Gautier }; 47c9d75b3cSYann Gautier #endif 48c9d75b3cSYann Gautier 49c9d75b3cSYann Gautier void configure_mmu(void) 50c9d75b3cSYann Gautier { 51c9d75b3cSYann Gautier mmap_add(stm32mp1_mmap); 52c9d75b3cSYann Gautier init_xlat_tables(); 53c9d75b3cSYann Gautier 54c9d75b3cSYann Gautier enable_mmu_svc_mon(0); 55c9d75b3cSYann Gautier } 56