1a2847172SGrzegorz Jaszczyk /* 2a2847172SGrzegorz Jaszczyk * Copyright (C) 2018 Marvell International Ltd. 3a2847172SGrzegorz Jaszczyk * 4a2847172SGrzegorz Jaszczyk * SPDX-License-Identifier: BSD-3-Clause 5a2847172SGrzegorz Jaszczyk * https://spdx.org/licenses 6a2847172SGrzegorz Jaszczyk */ 7a2847172SGrzegorz Jaszczyk 8a2847172SGrzegorz Jaszczyk #include <plat_marvell.h> 9a2847172SGrzegorz Jaszczyk 10a2847172SGrzegorz Jaszczyk 11a2847172SGrzegorz Jaszczyk /* MMU entry for internal (register) space access */ 12a2847172SGrzegorz Jaszczyk #define MAP_DEVICE0 MAP_REGION_FLAT(DEVICE0_BASE, \ 13a2847172SGrzegorz Jaszczyk DEVICE0_SIZE, \ 14a2847172SGrzegorz Jaszczyk MT_DEVICE | MT_RW | MT_SECURE) 15a2847172SGrzegorz Jaszczyk 16a2847172SGrzegorz Jaszczyk /* 17a2847172SGrzegorz Jaszczyk * Table of regions for various BL stages to map using the MMU. 18a2847172SGrzegorz Jaszczyk */ 19a2847172SGrzegorz Jaszczyk #if IMAGE_BL1 20a2847172SGrzegorz Jaszczyk const mmap_region_t plat_marvell_mmap[] = { 2163a0b127SKonstantin Porotchkin MARVELL_MAP_SECURE_RAM, 22a2847172SGrzegorz Jaszczyk MAP_DEVICE0, 23a2847172SGrzegorz Jaszczyk {0} 24a2847172SGrzegorz Jaszczyk }; 25a2847172SGrzegorz Jaszczyk #endif 26a2847172SGrzegorz Jaszczyk #if IMAGE_BL2 27a2847172SGrzegorz Jaszczyk const mmap_region_t plat_marvell_mmap[] = { 2863a0b127SKonstantin Porotchkin MARVELL_MAP_SECURE_RAM, 29a2847172SGrzegorz Jaszczyk MAP_DEVICE0, 30a2847172SGrzegorz Jaszczyk MARVELL_MAP_DRAM, 31*47d1773fSKonstantin Porotchkin #ifdef SPD_opteed 32*47d1773fSKonstantin Porotchkin MARVELL_MAP_OPTEE_CORE_MEM, 33*47d1773fSKonstantin Porotchkin MARVELL_OPTEE_PAGEABLE_LOAD_MEM, 34*47d1773fSKonstantin Porotchkin #endif 35a2847172SGrzegorz Jaszczyk {0} 36a2847172SGrzegorz Jaszczyk }; 37a2847172SGrzegorz Jaszczyk #endif 38a2847172SGrzegorz Jaszczyk 39a2847172SGrzegorz Jaszczyk #if IMAGE_BL2U 40a2847172SGrzegorz Jaszczyk const mmap_region_t plat_marvell_mmap[] = { 4163a0b127SKonstantin Porotchkin MARVELL_MAP_SECURE_RAM, 42a2847172SGrzegorz Jaszczyk MAP_DEVICE0, 43a2847172SGrzegorz Jaszczyk {0} 44a2847172SGrzegorz Jaszczyk }; 45a2847172SGrzegorz Jaszczyk #endif 46a2847172SGrzegorz Jaszczyk 47a2847172SGrzegorz Jaszczyk #if IMAGE_BLE 48a2847172SGrzegorz Jaszczyk const mmap_region_t plat_marvell_mmap[] = { 49a2847172SGrzegorz Jaszczyk MAP_DEVICE0, 50a2847172SGrzegorz Jaszczyk {0} 51a2847172SGrzegorz Jaszczyk }; 52a2847172SGrzegorz Jaszczyk #endif 53a2847172SGrzegorz Jaszczyk 54a2847172SGrzegorz Jaszczyk #if IMAGE_BL31 55a2847172SGrzegorz Jaszczyk const mmap_region_t plat_marvell_mmap[] = { 5663a0b127SKonstantin Porotchkin MARVELL_MAP_SECURE_RAM, 57a2847172SGrzegorz Jaszczyk MAP_DEVICE0, 58a2847172SGrzegorz Jaszczyk MARVELL_MAP_DRAM, 59a2847172SGrzegorz Jaszczyk {0} 60a2847172SGrzegorz Jaszczyk }; 61a2847172SGrzegorz Jaszczyk #endif 62a2847172SGrzegorz Jaszczyk #if IMAGE_BL32 63a2847172SGrzegorz Jaszczyk const mmap_region_t plat_marvell_mmap[] = { 6463a0b127SKonstantin Porotchkin MARVELL_MAP_SECURE_RAM, 65a2847172SGrzegorz Jaszczyk MAP_DEVICE0, 66a2847172SGrzegorz Jaszczyk {0} 67a2847172SGrzegorz Jaszczyk }; 68a2847172SGrzegorz Jaszczyk #endif 69a2847172SGrzegorz Jaszczyk 70a2847172SGrzegorz Jaszczyk MARVELL_CASSERT_MMAP; 71