coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
mmu.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <symbols.h>
4 #include <arch/mmu.h>
5 #include <arch/cache.h>
6 #include <soc/mmu.h>
7 #include <soc/mmu_common.h>
8 #include <soc/symbols_common.h>
9 
10 void sc7180_mmu_init(void)
11 {
12  mmu_init();
13 
14  mmu_config_range((void *)(4 * KiB), ((4UL * GiB) - (4 * KiB)), DEV_MEM);
15  mmu_config_range((void *)_ssram, REGION_SIZE(ssram), CACHED_RAM);
16  mmu_config_range((void *)_bsram, REGION_SIZE(bsram), CACHED_RAM);
17  mmu_config_range((void *)_dma_coherent, REGION_SIZE(dma_coherent),
18  UNCACHED_RAM);
19 
20  mmu_enable();
21 }
void mmu_enable(void)
Definition: mmu.c:293
void mmu_config_range(u32 start_mb, u32 size_mb, enum dcache_policy policy)
Definition: mmu.c:221
void mmu_init(void)
Definition: mmu.c:242
#define KiB
Definition: helpers.h:75
#define GiB
Definition: helpers.h:77
int dma_coherent(void *ptr)
#define REGION_SIZE(name)
Definition: symbols.h:10
#define DEV_MEM
Definition: mmu_common.h:11
#define CACHED_RAM
Definition: mmu_common.h:9
#define UNCACHED_RAM
Definition: mmu_common.h:10
void sc7180_mmu_init(void)
Definition: mmu.c:10