arm: cp15: only map periph device region as dcache off for thunder-boot SPL
Don't waste time to map all 4GB region. Signed-off-by: Joseph Chen <chenjh@rock-chips.com> Change-Id: I24ba4e4e42545dcf3ac6622c36995485956eae1b
This commit is contained in:
parent
d93c779cf8
commit
2a3fb7bb04
|
|
@ -107,7 +107,7 @@ __weak void dram_bank_mmu_setup(int bank)
|
||||||
/* to activate the MMU we need to set up virtual memory: use 1M areas */
|
/* to activate the MMU we need to set up virtual memory: use 1M areas */
|
||||||
static inline void mmu_setup(void)
|
static inline void mmu_setup(void)
|
||||||
{
|
{
|
||||||
int i;
|
int i, end;
|
||||||
u32 reg;
|
u32 reg;
|
||||||
|
|
||||||
#ifndef CONFIG_SPL_BUILD
|
#ifndef CONFIG_SPL_BUILD
|
||||||
|
|
@ -116,8 +116,21 @@ static inline void mmu_setup(void)
|
||||||
*/
|
*/
|
||||||
arm_init_before_mmu();
|
arm_init_before_mmu();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/*
|
||||||
|
* SPL thunder-boot:
|
||||||
|
* only map periph device region to save boot time.
|
||||||
|
*/
|
||||||
|
#if defined(CONFIG_SPL_BUILD) && defined(CONFIG_SPL_KERNEL_BOOT) && \
|
||||||
|
defined(PERIPH_DEVICE_START_ADDR)
|
||||||
|
i = PERIPH_DEVICE_START_ADDR >> MMU_SECTION_SHIFT;
|
||||||
|
end = PERIPH_DEVICE_END_ADDR >> MMU_SECTION_SHIFT;
|
||||||
|
#else
|
||||||
|
i = 0;
|
||||||
|
end = (4096ULL * 1024 * 1024) >> MMU_SECTION_SHIFT;
|
||||||
|
#endif
|
||||||
/* Set up an identity-mapping for all 4GB, rw for everyone */
|
/* Set up an identity-mapping for all 4GB, rw for everyone */
|
||||||
for (i = 0; i < ((4096ULL * 1024 * 1024) >> MMU_SECTION_SHIFT); i++)
|
for (; i < end; i++)
|
||||||
set_section_dcache(i, DCACHE_OFF);
|
set_section_dcache(i, DCACHE_OFF);
|
||||||
|
|
||||||
for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
|
for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue