coreboot
coreboot is an Open Source project aimed at replacing the proprietary BIOS found in most computers.
bootblock.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #include <arch/cache.h>
4 #include <bootblock_common.h>
5 #include <soc/addressmap.h>
6 #include <soc/clock.h>
7 #include <soc/grf.h>
8 #include <soc/timer.h>
9 #include <symbols.h>
10 
12 {
13  rkclk_init();
14 
15  mmu_init();
16  /* Start with a clean slate. */
17  mmu_config_range(0, 4096, DCACHE_OFF);
18  /* SRAM is tightly wedged between registers, need to use subtables. Map
19  * write-through as equivalent for non-cacheable without XN on A17. */
23 
25 }
void dcache_mmu_enable(void)
Definition: cache.c:53
void mmu_config_range(u32 start_mb, u32 size_mb, enum dcache_policy policy)
Definition: mmu.c:221
void mmu_config_range_kb(u32 start_kb, u32 size_kb, enum dcache_policy policy)
Definition: mmu.c:174
void mmu_init(void)
Definition: mmu.c:242
@ DCACHE_WRITETHROUGH
Definition: cache.h:365
@ DCACHE_OFF
Definition: cache.h:363
#define KiB
Definition: helpers.h:75
#define KHz
Definition: helpers.h:79
void bootblock_soc_init(void)
Definition: bootblock.c:27
#define REGION_SIZE(name)
Definition: symbols.h:10
void rkclk_init(void)
Definition: clock.c:232
void rkclk_configure_crypto(unsigned int hz)
Definition: clock.c:472
unsigned long uintptr_t
Definition: stdint.h:21