summaryrefslogtreecommitdiff
path: root/board/freescale/ls2080aqds
diff options
context:
space:
mode:
authorAlexander Graf <agraf@suse.de>2016-11-17 00:02:57 (GMT)
committerAlexander Graf <agraf@suse.de>2016-11-17 13:18:55 (GMT)
commitb7b8410a8fee9eda7b062a86a07dda0b97c49f8a (patch)
treec59342bc60cd4b1cad906375dea08dbe5d4bb3ea /board/freescale/ls2080aqds
parent97d014446cec3ba98c7f3efe16c423dbcf769379 (diff)
downloadu-boot-fsl-qoriq-b7b8410a8fee9eda7b062a86a07dda0b97c49f8a.tar.xz
ls2080: Exit dpaa only right before exiting U-Boot
On ls2080 we have a separate network fabric component which we need to shut down before we enter Linux (or any other OS). Along with that also comes configuration of the fabric using a description file. Today we always stop and configure the fabric in the boot script and (again) exit it on device tree generation. This works ok for the normal booti case, but with bootefi the payload we're running may still want to access the network. So let's add a new fsl_mc command that defers configuration and stopping the hardware to when we actually exit U-Boot, so that we can still use the fabric from an EFI payload. For existing boot scripts, nothing should change with this patch. Signed-off-by: Alexander Graf <agraf@suse.de> Reviewed-by: York Sun <york.sun@nxp.com> [agraf: Fix x86 build]
Diffstat (limited to 'board/freescale/ls2080aqds')
-rw-r--r--board/freescale/ls2080aqds/ls2080aqds.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/board/freescale/ls2080aqds/ls2080aqds.c b/board/freescale/ls2080aqds/ls2080aqds.c
index d07ca18..73a61fd 100644
--- a/board/freescale/ls2080aqds/ls2080aqds.c
+++ b/board/freescale/ls2080aqds/ls2080aqds.c
@@ -292,14 +292,16 @@ void fdt_fixup_board_enet(void *fdt)
else
fdt_status_fail(fdt, offset);
}
+
+void board_quiesce_devices(void)
+{
+ fsl_mc_ldpaa_exit(gd->bd);
+}
#endif
#ifdef CONFIG_OF_BOARD_SETUP
int ft_board_setup(void *blob, bd_t *bd)
{
-#ifdef CONFIG_FSL_MC_ENET
- int err;
-#endif
u64 base[CONFIG_NR_DRAM_BANKS];
u64 size[CONFIG_NR_DRAM_BANKS];
@@ -317,9 +319,6 @@ int ft_board_setup(void *blob, bd_t *bd)
#ifdef CONFIG_FSL_MC_ENET
fdt_fixup_board_enet(blob);
- err = fsl_mc_ldpaa_exit(bd);
- if (err)
- return err;
#endif
return 0;