diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2019-05-10 18:15:50 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-05-10 18:15:50 +0200 |
commit | 892f2cde39d538f678f2781502fd4417634378f5 (patch) | |
tree | 1f858c3530583c56ca9ff7b64b05e7df25eb9b73 /arch/arm/boards/marvell-armada-xp-db/lowlevel.c | |
parent | 066794f82b3355bd8302bdbb898569ee6fafcb0a (diff) | |
parent | 2a9a2ea03c6bf70ccec01cfa53337da379e7057f (diff) | |
download | barebox-892f2cde39d538f678f2781502fd4417634378f5.tar.gz barebox-892f2cde39d538f678f2781502fd4417634378f5.tar.xz |
Merge branch 'for-next/mvebu'
Diffstat (limited to 'arch/arm/boards/marvell-armada-xp-db/lowlevel.c')
-rw-r--r-- | arch/arm/boards/marvell-armada-xp-db/lowlevel.c | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/arch/arm/boards/marvell-armada-xp-db/lowlevel.c b/arch/arm/boards/marvell-armada-xp-db/lowlevel.c new file mode 100644 index 0000000000..4752bbf1b4 --- /dev/null +++ b/arch/arm/boards/marvell-armada-xp-db/lowlevel.c @@ -0,0 +1,33 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright + * (C) 2019 Sascha Hauer <s.hauer@pengutronix.de> + */ + +#include <common.h> +#include <linux/sizes.h> +#include <asm/barebox-arm.h> +#include <asm/barebox-arm-head.h> +#include <mach/lowlevel.h> +#include <io.h> + +extern char __dtb_armada_xp_db_bb_start[]; + +ENTRY_FUNCTION(start_marvell_armada_xp_db, r0, r1, r2) +{ + void *fdt; + uint32_t reg; + void __iomem *base = mvebu_get_initial_int_reg_base(); + + arm_cpu_lowlevel_init(); + + /* enable L2 parity and ECC */ +#define L2_AUX_CONTRL_ADDRESS (base + 0x8104) + reg = readl(L2_AUX_CONTRL_ADDRESS); + reg |= 3 << 20; + writel(0x1a09ef00, L2_AUX_CONTRL_ADDRESS); + + fdt = __dtb_armada_xp_db_bb_start + get_runtime_offset(); + + armada_370_xp_barebox_entry(fdt); +} |