board: lx2160a: fix fsl-mc status in fdt with bootefi
authorMian Yousaf Kaukab <ykaukab@suse.de>
Thu, 23 May 2019 08:57:33 +0000 (10:57 +0200)
committerPrabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
Wed, 19 Jun 2019 07:24:57 +0000 (12:54 +0530)
fsl-mc lazyapply command applies dpl from efi_exit_boot_services().
Status of fsl-mc node in working fdt is updated at this stage.
However, an efi application like grub may already have copied the fdt.
So the updates to fdt done at efi_exit_boot_services() may not be
visible to the OS. Fix it by updating fdt earlier if fsl-mc lazyapply
command is used.

Signed-off-by: Mian Yousaf Kaukab <ykaukab@suse.de>
Reviewed-by: Prabhakar Kushwaha <prabhakar.kushwaha@nxp.com>
board/freescale/lx2160a/lx2160a.c

index 6109b280c6815ffb767feff0efefa559c6604c85..3b4cb86692dfaf740ee21052834a9c34bc3ff611 100644 (file)
@@ -509,7 +509,8 @@ void fdt_fixup_board_enet(void *fdt)
                return;
        }
 
-       if ((get_mc_boot_status() == 0) && (get_dpl_apply_status() == 0)) {
+       if (get_mc_boot_status() == 0 &&
+           (is_lazy_dpl_addr_valid() || get_dpl_apply_status() == 0)) {
                fdt_status_okay(fdt, offset);
                fdt_fixup_board_phy(fdt);
        } else {