diff options
Diffstat (limited to 'arch/arm/boards/clep7212/lowlevel.c')
-rw-r--r-- | arch/arm/boards/clep7212/lowlevel.c | 33 |
1 files changed, 13 insertions, 20 deletions
diff --git a/arch/arm/boards/clep7212/lowlevel.c b/arch/arm/boards/clep7212/lowlevel.c index 231329025b..ba402cecea 100644 --- a/arch/arm/boards/clep7212/lowlevel.c +++ b/arch/arm/boards/clep7212/lowlevel.c @@ -1,28 +1,21 @@ -/* - * Copyright (C) 2012 Alexander Shiyan <shc_work@mail.ru> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License as - * published by the Free Software Foundation; either version 2 of - * the License, or (at your option) any later version. - */ +// SPDX-License-Identifier: GPL-2.0-or-later +// SPDX-FileCopyrightText: Alexander Shiyan <shc_work@mail.ru> #include <common.h> -#include <init.h> +#include <asm/barebox-arm.h> +#include <linux/sizes.h> +#include <mach/clps711x/clps711x.h> -#include <asm/barebox-arm-head.h> +extern char __dtb_ep7212_clep7212_start[]; -#include <mach/clps711x.h> - -#ifdef CONFIG_CLPS711X_RAISE_CPUFREQ -# define CLPS711X_CPU_PLL_MULT 50 -#else -# define CLPS711X_CPU_PLL_MULT 40 -#endif - -void __naked __bare_init barebox_arm_reset_vector(uint32_t r0, uint32_t r1, uint32_t r2) +ENTRY_FUNCTION_WITHSTACK(start_ep7212_clep7212, + CS6_BASE + 48 * SZ_1K, r0, r1, r2) { + void *fdt; + arm_cpu_lowlevel_init(); - clps711x_barebox_entry(CLPS711X_CPU_PLL_MULT, NULL); + fdt = __dtb_ep7212_clep7212_start; + + clps711x_start(fdt + get_runtime_offset()); } |