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