diff options
author | Yogesh Gaur <yogeshnarayan.gaur@nxp.com> | 2017-12-27 09:11:48 (GMT) |
---|---|---|
committer | Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com> | 2018-01-13 05:52:11 (GMT) |
commit | 872fda2d865fac72b55144748a3d54b7d34a8ea6 (patch) | |
tree | cece00b0e8ea0a2268e0c76a295e22771f7d264b | |
parent | 57be279277d5c2d61ebbe21a767efd8e3b05c364 (diff) | |
download | u-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.c | 6 | ||||
-rw-r--r-- | include/fdt_support.h | 3 |
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 */ |