Commit 8092e9d0 authored by Camelia Groza's avatar Camelia Groza Committed by Priyanka Jain

board: freescale: t208xrdb: fdt fixups under DM_ETH

Disable the FMan mEMAC 5 and 6 nodes from the fdt since they are not
available under the supported RCW. Also disable the associated
"fsl,dpa-ethernet" nodes that reference them.

This is a simplified version of the fdt_fixup_fman_ethernet call for
use under DM_ETH.
Signed-off-by: default avatarCamelia Groza <camelia.groza@nxp.com>
Reviewed-by: Priyanka Jain's avatarPriyanka Jain <priyanka.jain@nxp.com>
parent 20070909
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright 2014 Freescale Semiconductor, Inc.
* Copyright 2021 NXP
*
* Shengzhou Liu <Shengzhou.Liu@freescale.com>
*/
......@@ -104,6 +105,40 @@ int board_eth_init(struct bd_info *bis)
return pci_eth_init(bis);
}
/* Disable the MAC5 and MAC6 "fsl,fman-memac" nodes and the two
* "fsl,dpa-ethernet" nodes that reference them.
*/
void fdt_fixup_board_fman_ethernet(void *fdt)
{
int mac_off, eth_off, i;
char mac_path[2][42] = {
"/soc@ffe000000/fman@400000/ethernet@e8000",
"/soc@ffe000000/fman@400000/ethernet@ea000",
};
u32 eth_ph;
for (i = 0; i < 2; i++) {
/* Disable the MAC node */
mac_off = fdt_path_offset(fdt, mac_path[i]);
if (mac_off < 0)
continue;
fdt_status_disabled(fdt, mac_off);
/* Disable the fsl,dpa-ethernet node that points to the MAC.
* The fsl,fman-mac property refers to the MAC's phandle.
*/
eth_ph = fdt_get_phandle(fdt, mac_off);
if (eth_ph <= 0)
continue;
eth_off = fdt_node_offset_by_prop_value(fdt, -1, "fsl,fman-mac",
&eth_ph,
sizeof(eth_ph));
if (eth_off >= 0)
fdt_status_disabled(fdt, eth_off);
}
}
void fdt_fixup_board_enet(void *fdt)
{
return;
......
// SPDX-License-Identifier: GPL-2.0+
/*
* Copyright 2009-2013 Freescale Semiconductor, Inc.
* Copyright 2021 NXP
*/
#include <common.h>
......@@ -137,6 +138,8 @@ int ft_board_setup(void *blob, struct bd_info *bd)
#ifdef CONFIG_SYS_DPAA_FMAN
#ifndef CONFIG_DM_ETH
fdt_fixup_fman_ethernet(blob);
#else
fdt_fixup_board_fman_ethernet(blob);
#endif
fdt_fixup_board_enet(blob);
#endif
......
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Copyright 2014 Freescale Semiconductor, Inc.
* Copyright 2021 NXP
*/
#ifndef __CORENET_DS_H__
......@@ -8,5 +9,6 @@
void fdt_fixup_board_enet(void *blob);
void pci_of_setup(void *blob, struct bd_info *bd);
void fdt_fixup_board_fman_ethernet(void *blob);
#endif
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment