* [PATCH 1/2] ARM: zynq: add Zynq specific lowlevel CPU init function
@ 2020-01-06 20:29 Lucas Stach
2020-01-06 20:29 ` [PATCH 2/2] ARM: zynq: zed: use zynq_cpu_lowlevel_init() Lucas Stach
2020-01-08 11:25 ` [PATCH 1/2] ARM: zynq: add Zynq specific lowlevel CPU init function Sascha Hauer
0 siblings, 2 replies; 3+ messages in thread
From: Lucas Stach @ 2020-01-06 20:29 UTC (permalink / raw)
To: barebox
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 <dev@lynxeye.de>
---
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
diff --git a/arch/arm/mach-zynq/Makefile b/arch/arm/mach-zynq/Makefile
index c88ab4666f0f..06c2ce996cfa 100644
--- a/arch/arm/mach-zynq/Makefile
+++ b/arch/arm/mach-zynq/Makefile
@@ -1 +1,2 @@
obj-y += zynq.o bootm-zynqimg.o
+lwl-y += cpu_init.o
diff --git a/arch/arm/mach-zynq/cpu_init.c b/arch/arm/mach-zynq/cpu_init.c
new file mode 100644
index 000000000000..ec5ee59e169d
--- /dev/null
+++ b/arch/arm/mach-zynq/cpu_init.c
@@ -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();
+}
diff --git a/arch/arm/mach-zynq/include/mach/init.h b/arch/arm/mach-zynq/include/mach/init.h
new file mode 100644
index 000000000000..c458f602e4d7
--- /dev/null
+++ b/arch/arm/mach-zynq/include/mach/init.h
@@ -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
--
2.24.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 3+ messages in thread
* [PATCH 2/2] ARM: zynq: zed: use zynq_cpu_lowlevel_init()
2020-01-06 20:29 [PATCH 1/2] ARM: zynq: add Zynq specific lowlevel CPU init function Lucas Stach
@ 2020-01-06 20:29 ` Lucas Stach
2020-01-08 11:25 ` [PATCH 1/2] ARM: zynq: add Zynq specific lowlevel CPU init function Sascha Hauer
1 sibling, 0 replies; 3+ messages in thread
From: Lucas Stach @ 2020-01-06 20:29 UTC (permalink / raw)
To: barebox
Make sure the required workarounds for CPU errata are applied.
Signed-off-by: Lucas Stach <dev@lynxeye.de>
---
arch/arm/boards/avnet-zedboard/lowlevel.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/arch/arm/boards/avnet-zedboard/lowlevel.c b/arch/arm/boards/avnet-zedboard/lowlevel.c
index 58f9e40d11c9..c987db75b068 100644
--- a/arch/arm/boards/avnet-zedboard/lowlevel.c
+++ b/arch/arm/boards/avnet-zedboard/lowlevel.c
@@ -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();
--
2.24.1
_______________________________________________
barebox mailing list
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH 1/2] ARM: zynq: add Zynq specific lowlevel CPU init function
2020-01-06 20:29 [PATCH 1/2] ARM: zynq: add Zynq specific lowlevel CPU init function Lucas Stach
2020-01-06 20:29 ` [PATCH 2/2] ARM: zynq: zed: use zynq_cpu_lowlevel_init() Lucas Stach
@ 2020-01-08 11:25 ` Sascha Hauer
1 sibling, 0 replies; 3+ messages in thread
From: Sascha Hauer @ 2020-01-08 11:25 UTC (permalink / raw)
To: Lucas Stach; +Cc: barebox
On Mon, Jan 06, 2020 at 09:29:44PM +0100, Lucas Stach wrote:
> 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 <dev@lynxeye.de>
> ---
> 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
--
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
barebox@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/barebox
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2020-01-08 11:25 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-01-06 20:29 [PATCH 1/2] ARM: zynq: add Zynq specific lowlevel CPU init function Lucas Stach
2020-01-06 20:29 ` [PATCH 2/2] ARM: zynq: zed: use zynq_cpu_lowlevel_init() Lucas Stach
2020-01-08 11:25 ` [PATCH 1/2] ARM: zynq: add Zynq specific lowlevel CPU init function Sascha Hauer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox