diff options
author | Lucas Stach <dev@lynxeye.de> | 2019-12-10 23:03:19 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2019-12-11 09:51:23 +0100 |
commit | 5d2d55ebd6add4ea395022772c5736e67ba68e33 (patch) | |
tree | 50d00106813e212c53350fc4a947950675ade59c | |
parent | dc7f246040d5664079ed21c20cb1444b583ec278 (diff) | |
download | barebox-5d2d55ebd6add4ea395022772c5736e67ba68e33.tar.gz barebox-5d2d55ebd6add4ea395022772c5736e67ba68e33.tar.xz |
ARM: zynq: zedboard: split out PS7 init
Move the PS7 inititalization into its own function. This helps
readability and logically splits the FPGA toolchain generated
setup from the reset of the board init.
Also execute the PS7 setup after the lowlevel CPU init, as this
is the regular order used in the Barebox codebase.
Signed-off-by: Lucas Stach <dev@lynxeye.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | arch/arm/boards/avnet-zedboard/lowlevel.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/arch/arm/boards/avnet-zedboard/lowlevel.c b/arch/arm/boards/avnet-zedboard/lowlevel.c index 93e4da96ec..b50c36b288 100644 --- a/arch/arm/boards/avnet-zedboard/lowlevel.c +++ b/arch/arm/boards/avnet-zedboard/lowlevel.c @@ -29,11 +29,8 @@ extern char __dtb_zynq_zed_start[]; -ENTRY_FUNCTION(start_avnet_zedboard, r0, r1, r2) +static void avnet_zedboard_ps7_init(void) { - - void *fdt = __dtb_zynq_zed_start + get_runtime_offset(); - /* open sesame */ writel(0x0000DF0D, ZYNQ_SLCR_UNLOCK); @@ -260,8 +257,16 @@ ENTRY_FUNCTION(start_avnet_zedboard, r0, r1, r2) /* lock up. secure, secure */ writel(0x0000767B, ZYNQ_SLCR_LOCK); +} + +ENTRY_FUNCTION(start_avnet_zedboard, r0, r1, r2) +{ + + void *fdt = __dtb_zynq_zed_start + get_runtime_offset(); arm_cpu_lowlevel_init(); + avnet_zedboard_ps7_init(); + barebox_arm_entry(0, SZ_512M, fdt); } |