diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2022-09-14 15:53:02 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2022-09-14 15:53:02 +0200 |
commit | 55f13b3f6a25d85a3469e74bdd3dc26fe20e7909 (patch) | |
tree | aaf5b66c3ec044aaa3432b0a6803f14e94d0396e /arch | |
parent | 18fb27c921a5b8d4894df4e2f3db808c79253b1a (diff) | |
parent | 3ae5e01aff4c21ab379cfa488711970eb46bd900 (diff) | |
download | barebox-55f13b3f6a25d85a3469e74bdd3dc26fe20e7909.tar.gz barebox-55f13b3f6a25d85a3469e74bdd3dc26fe20e7909.tar.xz |
Merge branch 'for-next/socfpga'
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/boards/enclustra-aa1/lowlevel.c | 4 | ||||
-rw-r--r-- | arch/arm/boards/reflex-achilles/lowlevel.c | 5 | ||||
-rw-r--r-- | arch/arm/mach-socfpga/Makefile | 1 | ||||
-rw-r--r-- | arch/arm/mach-socfpga/cpu_init.c | 12 | ||||
-rw-r--r-- | arch/arm/mach-socfpga/include/mach/init.h | 8 |
5 files changed, 28 insertions, 2 deletions
diff --git a/arch/arm/boards/enclustra-aa1/lowlevel.c b/arch/arm/boards/enclustra-aa1/lowlevel.c index 9f2d66a6bc..901adc4640 100644 --- a/arch/arm/boards/enclustra-aa1/lowlevel.c +++ b/arch/arm/boards/enclustra-aa1/lowlevel.c @@ -16,9 +16,11 @@ #include <mach/arria10-clock-manager.h> #include <mach/arria10-pinmux.h> #include <mach/arria10-fpga.h> +#include <mach/init.h> #include "pll-config-arria10.c" #include "pinmux-config-arria10.c" #include <mach/generic.h> +#include <mach/init.h> #define BAREBOX_PART 0 // the bitstream is located in the second partition in the partition table @@ -40,6 +42,7 @@ ENTRY_FUNCTION_WITHSTACK(start_socfpga_aa1_xload, ARRIA10_STACKTOP, r0, r1, r2) int bitstream = 0; arm_cpu_lowlevel_init(); + arria10_cpu_lowlevel_init(); relocate_to_current_adr(); @@ -101,6 +104,7 @@ ENTRY_FUNCTION_WITHSTACK(start_socfpga_aa1_bringup, ARRIA10_STACKTOP, r0, r1, r2 void *fdt; arm_cpu_lowlevel_init(); + arria10_cpu_lowlevel_init(); relocate_to_current_adr(); setup_c(); diff --git a/arch/arm/boards/reflex-achilles/lowlevel.c b/arch/arm/boards/reflex-achilles/lowlevel.c index ec8c126c2a..511b41fd01 100644 --- a/arch/arm/boards/reflex-achilles/lowlevel.c +++ b/arch/arm/boards/reflex-achilles/lowlevel.c @@ -16,6 +16,7 @@ #include <mach/arria10-clock-manager.h> #include <mach/arria10-pinmux.h> #include <mach/arria10-fpga.h> +#include <mach/init.h> #include "pll-config-arria10.c" #include "pinmux-config-arria10.c" #include <mach/generic.h> @@ -41,6 +42,7 @@ ENTRY_FUNCTION_WITHSTACK(start_socfpga_achilles_xload, ARRIA10_STACKTOP, r0, r1, int bitstream = 0; arm_cpu_lowlevel_init(); + arria10_cpu_lowlevel_init(); relocate_to_current_adr(); setup_c(); @@ -93,8 +95,7 @@ ENTRY_FUNCTION_WITHSTACK(start_socfpga_achilles_bringup, ARRIA10_STACKTOP, r0, r void *fdt; arm_cpu_lowlevel_init(); - - arm_setup_stack(ARRIA10_OCRAM_ADDR + SZ_256K); + arria10_cpu_lowlevel_init(); relocate_to_current_adr(); setup_c(); diff --git a/arch/arm/mach-socfpga/Makefile b/arch/arm/mach-socfpga/Makefile index 935270bfad..008dbc3887 100644 --- a/arch/arm/mach-socfpga/Makefile +++ b/arch/arm/mach-socfpga/Makefile @@ -3,6 +3,7 @@ pbl-$(CONFIG_ARCH_SOCFPGA_CYCLONE5) += cyclone5-init.o cyclone5-freeze-controller.o cyclone5-scan-manager.o cyclone5-system-manager.o pbl-$(CONFIG_ARCH_SOCFPGA_CYCLONE5) += cyclone5-clock-manager.o obj-$(CONFIG_ARCH_SOCFPGA_CYCLONE5) += cyclone5-generic.o nic301.o cyclone5-bootsource.o cyclone5-reset-manager.o +lwl-y += cpu_init.o pbl-$(CONFIG_ARCH_SOCFPGA_ARRIA10) += arria10-xload.o \ arria10-xload-emmc.o diff --git a/arch/arm/mach-socfpga/cpu_init.c b/arch/arm/mach-socfpga/cpu_init.c new file mode 100644 index 0000000000..1e0df1f6a5 --- /dev/null +++ b/arch/arm/mach-socfpga/cpu_init.c @@ -0,0 +1,12 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include <common.h> +#include <asm/barebox-arm-head.h> +#include <asm/errata.h> +#include <mach/init.h> + +void arria10_cpu_lowlevel_init(void) +{ + enable_arm_errata_794072_war(); + enable_arm_errata_845369_war(); +} diff --git a/arch/arm/mach-socfpga/include/mach/init.h b/arch/arm/mach-socfpga/include/mach/init.h new file mode 100644 index 0000000000..c0e073ee13 --- /dev/null +++ b/arch/arm/mach-socfpga/include/mach/init.h @@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#ifndef __MACH_INIT_H +#define __MACH_INIT_H + +void arria10_cpu_lowlevel_init(void); + +#endif |