mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-29 08:01:08 +00:00
arm: mvebu: Update CBAR with SOC regs base
SMP-enabled Linux kernels read the CBAR register in CP15 to find the address of the SCU registers. After remapping internal registers, also update the CBAR so the kernel can find them. Signed-off-by: Kevin Smith <kevin.smith@elecsyscorp.com> Acked-by: Stefan Roese <sr@denx.de>
This commit is contained in:
parent
5730360efc
commit
e1b078e06c
1 changed files with 7 additions and 0 deletions
|
@ -161,10 +161,17 @@ static void update_sdram_window_sizes(void)
|
|||
}
|
||||
|
||||
#ifdef CONFIG_ARCH_CPU_INIT
|
||||
static void set_cbar(u32 addr)
|
||||
{
|
||||
asm("mcr p15, 4, %0, c15, c0" : : "r" (addr));
|
||||
}
|
||||
|
||||
|
||||
int arch_cpu_init(void)
|
||||
{
|
||||
/* Linux expects the internal registers to be at 0xf1000000 */
|
||||
writel(SOC_REGS_PHY_BASE, INTREG_BASE_ADDR_REG);
|
||||
set_cbar(SOC_REGS_PHY_BASE + 0xC000);
|
||||
|
||||
/*
|
||||
* We need to call mvebu_mbus_probe() before calling
|
||||
|
|
Loading…
Reference in a new issue