ARM: zynq: add Zynq specific lowlevel CPU init function
Subsystems (4)
PATCH 1/2 ARM: zynq: add Zynq specific lowlevel CPU init function
This adds a Zynq specific CPU lowlevel init function, which applies the required workarounds for the Cortex A9 r3p0 core.
Signed-off-by Lucas Stach <[email protected]>
--- arch/arm/mach-zynq/Makefile | 1 + arch/arm/mach-zynq/cpu_init.c | 15 +++++++++++++++ arch/arm/mach-zynq/include/mach/init.h | 8 ++++++++ 3 files changed, 24 insertions(+) create mode 100644 arch/arm/mach-zynq/cpu_init.c create mode 100644 arch/arm/mach-zynq/include/mach/init.h
arch/arm/mach-zynq/Makefile +1 -0
@@ -1 +1,2 @@ obj-y += zynq.o bootm-zynqimg.o +lwl-y += cpu_init.o
arch/arm/mach-zynq/cpu_init.c new file +15 -0
@@ -0,0 +1,15 @@ +// SPDX-License-Identifier: GPL-2.0 + +#include <common.h> +#include <asm/barebox-arm-head.h> +#include <asm/errata.h> +#include <mach/init.h> + +void zynq_cpu_lowlevel_init (void ) +{ +arm_cpu_lowlevel_init (); + +enable_arm_errata_761320_war (); +enable_arm_errata_794072_war (); +enable_arm_errata_845369_war (); +}
arch/arm/mach-zynq/include/mach/init.h new file +8 -0
@@ -0,0 +1,8 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#ifndef __MACH_INIT_H +#define __MACH_INIT_H + +void zynq_cpu_lowlevel_init (void ); + +#endif
Signature · 7 lines
2.24.1 _______________________________________________ barebox mailing list [email protected] http://lists.infradead.org/mailman/listinfo/barebox
PATCH 2/2 ARM: zynq: zed: use zynq_cpu_lowlevel_init()
Make sure the required workarounds for CPU errata are applied.
Signed-off-by Lucas Stach <[email protected]>
--- arch/arm/boards/avnet-zedboard/lowlevel.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
arch/arm/boards/avnet-zedboard/lowlevel.c +2 -1
@@ -20,6 +20,7 @@#include <io.h> #include <asm/barebox-arm.h> #include <asm/barebox-arm-head.h> +#include <mach/init.h> #include <mach/zynq7000-regs.h> #define DCI_DONE (1 << 13)
@@ -283,7 +284,7 @@ ENTRY_FUNCTION(start_avnet_zedboard, r0, r1, r2)void *fdt = __dtb_zynq_zed_start +get_runtime_offset (); -arm_cpu_lowlevel_init (); +zynq_cpu_lowlevel_init ();avnet_zedboard_ps7_init ();
Signature · 7 lines
2.24.1 _______________________________________________ barebox mailing list [email protected] http://lists.infradead.org/mailman/listinfo/barebox
Sascha Hauer
AppliedQuoted 11 lines · Lucas Stach
This adds a Zynq specific CPU lowlevel init function, which applies the required workarounds for the Cortex A9 r3p0 core.
Signed-off-by Lucas Stach <[email protected]>--- arch/arm/mach-zynq/Makefile | 1 + arch/arm/mach-zynq/cpu_init.c | 15 +++++++++++++++ arch/arm/mach-zynq/include/mach/init.h | 8 ++++++++ 3 files changed, 24 insertions(+) create mode 100644 arch/arm/mach-zynq/cpu_init.c create mode 100644 arch/arm/mach-zynq/include/mach/init.h
Applied, thanks
Sascha
Signature · 9 lines
Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ barebox mailing list [email protected] http://lists.infradead.org/mailman/listinfo/barebox