net: fsl-mc: fixup DPC: add /board/ports node if missing

The DPC fixup for MAC address and enet_if is not made if
/board/ports node is missing in DPC file.
Add /board/ports or /ports nodes if them are missing.

Signed-off-by: Razvan Ionut Cirjan <razvanionut.cirjan@nxp.com>
Reviewed-by: Ioana Ciornei <Ioana.ciornei@nxp.com>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
This commit is contained in:
Razvan Ionut Cirjan 2020-04-28 16:09:59 +03:00 committed by Priyanka Jain
parent 62d3a58dce
commit d5b0af047a

View File

@ -1,7 +1,7 @@
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright 2014 Freescale Semiconductor, Inc.
* Copyright 2017-2018 NXP
* Copyright 2017-2018, 2020 NXP
*/
#include <common.h>
#include <command.h>
@ -478,8 +478,19 @@ static int mc_fixup_dpc(u64 dpc_addr)
/* fixup MAC addresses for dpmac ports */
nodeoffset = fdt_path_offset(blob, "/board_info/ports");
if (nodeoffset < 0)
goto out;
if (nodeoffset < 0) {
err = fdt_increase_size(blob, 512);
if (err) {
printf("fdt_increase_size: err=%s\n",
fdt_strerror(err));
goto out;
}
nodeoffset = fdt_path_offset(blob, "/board_info");
if (nodeoffset < 0)
nodeoffset = fdt_add_subnode(blob, 0, "board_info");
nodeoffset = fdt_add_subnode(blob, nodeoffset, "ports");
}
err = mc_fixup_mac_addrs(blob, MC_FIXUP_DPC);