summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYogesh Gaur <yogeshnarayan.gaur@nxp.com>2017-12-27 09:11:48 (GMT)
committerPrabhakar Kushwaha <prabhakar.kushwaha@nxp.com>2018-01-13 05:52:11 (GMT)
commit872fda2d865fac72b55144748a3d54b7d34a8ea6 (patch)
treecece00b0e8ea0a2268e0c76a295e22771f7d264b
parent57be279277d5c2d61ebbe21a767efd8e3b05c364 (diff)
downloadu-boot-872fda2d865fac72b55144748a3d54b7d34a8ea6.tar.xz
driver: fsl-mc: Perform fsl-mc fdt fixup for lazyapply dpl
For for case of lazyapply method, API fdt_fixup_board_enet() gets invoked before DPL being deployed. This leads to an issue that fsl-mc fdt fixup status marked as fail and dprc driver didn't get registered in linux boot. Fixes this issue by calling fdt_fixup_board_enet() for case when DPL is deployed successfully in lazyapply method. Signed-off-by: Yogesh Gaur <yogeshnarayan.gaur@nxp.com> v1: Incorporated Prabhakar review comments.
-rw-r--r--drivers/net/fsl-mc/mc.c6
-rw-r--r--include/fdt_support.h3
2 files changed, 8 insertions, 1 deletions
diff --git a/drivers/net/fsl-mc/mc.c b/drivers/net/fsl-mc/mc.c
index 45beffe..87f4e8b 100644
--- a/drivers/net/fsl-mc/mc.c
+++ b/drivers/net/fsl-mc/mc.c
@@ -1449,7 +1449,11 @@ int fsl_mc_ldpaa_exit(bd_t *bd)
bool mc_boot_status = false;
if (bd && mc_lazy_dpl_addr && !fsl_mc_ldpaa_exit(NULL)) {
- mc_apply_dpl(mc_lazy_dpl_addr);
+ err = mc_apply_dpl(mc_lazy_dpl_addr);
+#ifdef CONFIG_FSL_MC_ENET
+ if (!err)
+ fdt_fixup_board_enet(working_fdt);
+#endif
mc_lazy_dpl_addr = 0;
}
diff --git a/include/fdt_support.h b/include/fdt_support.h
index 1e1f8f7..097d9d0 100644
--- a/include/fdt_support.h
+++ b/include/fdt_support.h
@@ -275,4 +275,7 @@ int fdtdec_get_int(const void *blob, int node, const char *prop_name,
#ifdef CONFIG_FMAN_ENET
int fdt_update_ethernet_dt(void *blob);
#endif
+#ifdef CONFIG_FSL_MC_ENET
+void fdt_fixup_board_enet(void *blob);
+#endif
#endif /* ifndef __FDT_SUPPORT_H */