[PATCH] net: fsl-mc: fixup DPC: add /board/ports node if missing
Ioana Ciornei
ioana.ciornei at nxp.com
Thu Apr 30 14:46:48 CEST 2020
> Subject: [PATCH] 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 at nxp.com>
Reviewed-by: Ioana Ciornei <Ioana.ciornei at nxp.com>
> ---
> drivers/net/fsl-mc/mc.c | 17 ++++++++++++++---
> 1 file changed, 14 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/net/fsl-mc/mc.c b/drivers/net/fsl-mc/mc.c index
> 07bbcc9b2311..a9bccdd1b04e 100644
> --- a/drivers/net/fsl-mc/mc.c
> +++ b/drivers/net/fsl-mc/mc.c
> @@ -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>
> @@ -439,8 +439,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);
>
> --
> 1.9.1
More information about the U-Boot
mailing list