• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <arch/mmu.h>
4 #include <bootblock_common.h>
5 #include <symbols.h>
6 
bootblock_mainboard_init(void)7 void bootblock_mainboard_init(void)
8 {
9 	mmu_init();
10 
11 	/* Everything below DRAM is device memory */
12 	mmu_config_range((void *)0, (uintptr_t)_dram, MA_DEV | MA_RW);
13 	mmu_config_range(_dram, (uintptr_t)CONFIG_DRAM_SIZE_MB * MiB, MA_MEM | MA_RW);
14 
15 	mmu_config_range(_ttb, REGION_SIZE(ttb), MA_MEM | MA_S | MA_RW);
16 	mmu_config_range(_bootblock, REGION_SIZE(bootblock), MA_MEM | MA_S | MA_RW);
17 	mmu_config_range(_romstage, REGION_SIZE(romstage), MA_MEM | MA_S | MA_RW);
18 	mmu_config_range(_ramstage, REGION_SIZE(ramstage), MA_MEM | MA_S | MA_RW);
19 
20 	mmu_config_range(_bl31, REGION_SIZE(bl31), MA_MEM | MA_S | MA_RW);
21 
22 	mmu_config_range((void *)CONFIG_ECAM_MMCONF_BASE_ADDRESS, CONFIG_ECAM_MMCONF_LENGTH,
23 			 MA_DEV | MA_RW);
24 
25 	mmu_enable();
26 }
27