fdt: Move fdt_fixup_ethernet to a common place

With 3f66149d9f we no longer have a common call fdt_fixup_ethernet.
This was fine to do on PowerPC as they largely had calls already in
ft_cpu_fixup.  On ARM however we largely relied on this call.  Rather
than introduce a large number of changes to ft_cpu_fixup /
ft_board_fixup we recognize that this is a common enough call that we
should be doing it in a central location.  Do it early enough that we
can do any further updates in ft_cpu_fixup / ft_board_fixup.

Cc: Gerd Hoffmann <kraxel@redhat.com>
Cc: Chen-Yu Tsai <wens@csie.org>
Cc: Maxime Ripard <maxime.ripard@free-electrons.com>
Cc: Thomas Chou <thomas@wytron.com.tw> (maintainer:NIOS)
Cc: York Sun <york.sun@nxp.com> (maintainer:POWERPC MPC85XX)
Cc: Stefan Roese <sr@denx.de> (maintainer:POWERPC PPC4XX)
Cc: Simon Glass <sjg@chromium.org>
Cc: Joakim Tjernlund <Joakim.Tjernlund@infinera.com>
Fixes: 3f66149d9f ("Remove extra fdt_fixup_ethernet() call")
Signed-off-by: Tom Rini <trini@konsulko.com>
Acked-by: Stefan Roese <sr@denx.de>
Acked-by: York Sun <york.sun@nxp.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Tom Rini 2017-04-28 08:51:44 -04:00
parent c9032ce168
commit 26d61195f8
14 changed files with 2 additions and 70 deletions

View file

@ -94,8 +94,6 @@ void ft_cpu_setup(void *blob, bd_t *bd)
} }
#endif #endif
fdt_fixup_ethernet(blob);
off = fdt_node_offset_by_prop_value(blob, -1, "device_type", "cpu", 4); off = fdt_node_offset_by_prop_value(blob, -1, "device_type", "cpu", 4);
while (off != -FDT_ERR_NOTFOUND) { while (off != -FDT_ERR_NOTFOUND) {
val = gd->cpu_clk; val = gd->cpu_clk;

View file

@ -8,4 +8,3 @@
extra-y = start.o extra-y = start.o
obj-y = exceptions.o obj-y = exceptions.o
obj-y += cpu.o interrupts.o traps.o obj-y += cpu.o interrupts.o traps.o
obj-y += fdt.o

View file

@ -1,38 +0,0 @@
/*
* (C) Copyright 2011, Missing Link Electronics
* Joachim Foerster <joachim@missinglinkelectronics.com>
*
* Taken from arch/powerpc/cpu/ppc4xx/fdt.c:
*
* (C) Copyright 2007-2008
* Stefan Roese, DENX Software Engineering, sr@denx.de.
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#ifdef CONFIG_OF_BOARD_SETUP
#include <libfdt.h>
#include <fdt_support.h>
DECLARE_GLOBAL_DATA_PTR;
int __ft_board_setup(void *blob, bd_t *bd)
{
ft_cpu_setup(blob, bd);
return 0;
}
int ft_board_setup(void *blob, bd_t *bd)
__attribute__((weak, alias("__ft_board_setup")));
void ft_cpu_setup(void *blob, bd_t *bd)
{
/*
* Fixup all ethernet nodes
* Note: aliases in the dts are required for this
*/
fdt_fixup_ethernet(blob);
}
#endif /* CONFIG_OF_BOARD_SETUP */

View file

@ -176,9 +176,6 @@ void ft_cpu_setup(void *blob, bd_t *bd)
old_ft_cpu_setup(blob, bd); old_ft_cpu_setup(blob, bd);
#endif #endif
ft_clock_setup(blob, bd); ft_clock_setup(blob, bd);
#ifdef CONFIG_HAS_ETH0
fdt_fixup_ethernet(blob);
#endif
fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize); fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize);
} }
#endif #endif

View file

@ -294,11 +294,6 @@ void watchdog_reset (void)
#ifdef CONFIG_OF_BOARD_SETUP #ifdef CONFIG_OF_BOARD_SETUP
void ft_cpu_setup (void *blob, bd_t *bd) void ft_cpu_setup (void *blob, bd_t *bd)
{ {
#if defined(CONFIG_HAS_ETH0) || defined(CONFIG_HAS_ETH1) ||\
defined(CONFIG_HAS_ETH2) || defined(CONFIG_HAS_ETH3)
fdt_fixup_ethernet(blob);
#endif
do_fixup_by_compat_u32(blob, "fsl,cpm2-brg", do_fixup_by_compat_u32(blob, "fsl,cpm2-brg",
"clock-frequency", bd->bi_brgfreq, 1); "clock-frequency", bd->bi_brgfreq, 1);

View file

@ -53,7 +53,6 @@ void ft_cpu_setup(void *blob, bd_t *bd)
#if defined(CONFIG_HAS_ETH0) || defined(CONFIG_HAS_ETH1) ||\ #if defined(CONFIG_HAS_ETH0) || defined(CONFIG_HAS_ETH1) ||\
defined(CONFIG_HAS_ETH2) || defined(CONFIG_HAS_ETH3) ||\ defined(CONFIG_HAS_ETH2) || defined(CONFIG_HAS_ETH3) ||\
defined(CONFIG_HAS_ETH4) || defined(CONFIG_HAS_ETH5) defined(CONFIG_HAS_ETH4) || defined(CONFIG_HAS_ETH5)
fdt_fixup_ethernet(blob);
#ifdef CONFIG_MPC8313 #ifdef CONFIG_MPC8313
/* /*
* mpc8313e erratum IPIC1 swapped TSEC interrupt ID numbers on rev. 1 * mpc8313e erratum IPIC1 swapped TSEC interrupt ID numbers on rev. 1

View file

@ -612,8 +612,6 @@ void ft_cpu_setup(void *blob, bd_t *bd)
} }
#endif #endif
fdt_fixup_ethernet(blob);
fdt_add_enet_stashing(blob); fdt_add_enet_stashing(blob);
#ifndef CONFIG_FSL_TBCLK_EXTRA_DIV #ifndef CONFIG_FSL_TBCLK_EXTRA_DIV

View file

@ -32,11 +32,6 @@ void ft_cpu_setup(void *blob, bd_t *bd)
fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize); fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize);
#if defined(CONFIG_HAS_ETH0) || defined(CONFIG_HAS_ETH1) \
|| defined(CONFIG_HAS_ETH2) || defined(CONFIG_HAS_ETH3)
fdt_fixup_ethernet(blob);
#endif
#ifdef CONFIG_SYS_NS16550 #ifdef CONFIG_SYS_NS16550
do_fixup_by_compat_u32(blob, "ns16550", do_fixup_by_compat_u32(blob, "ns16550",
"clock-frequency", CONFIG_SYS_NS16550_CLK, 1); "clock-frequency", CONFIG_SYS_NS16550_CLK, 1);

View file

@ -23,8 +23,5 @@ void ft_cpu_setup(void *blob, bd_t *bd)
do_fixup_by_compat_u32(blob, "fsl,cpm-brg", "clock-frequency", do_fixup_by_compat_u32(blob, "fsl,cpm-brg", "clock-frequency",
gd->arch.brg_clk, 1); gd->arch.brg_clk, 1);
/* Fixup ethernet MAC addresses */
fdt_fixup_ethernet(blob);
fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize); fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize);
} }

View file

@ -149,12 +149,6 @@ void ft_cpu_setup(void *blob, bd_t *bd)
(void *)&gd->arch.uart_clk, 4); (void *)&gd->arch.uart_clk, 4);
} }
/*
* Fixup all ethernet nodes
* Note: aliases in the dts are required for this
*/
fdt_fixup_ethernet(blob);
/* /*
* Fixup all available PCIe nodes by setting the device_type property * Fixup all available PCIe nodes by setting the device_type property
*/ */

View file

@ -288,8 +288,6 @@ void do_bootvx_fdt(bootm_headers_t *images)
if (ret) if (ret)
return; return;
fdt_fixup_ethernet(*of_flat_tree);
ret = fdt_add_subnode(*of_flat_tree, 0, "chosen"); ret = fdt_add_subnode(*of_flat_tree, 0, "chosen");
if ((ret >= 0 || ret == -FDT_ERR_EXISTS)) { if ((ret >= 0 || ret == -FDT_ERR_EXISTS)) {
bootline = getenv("bootargs"); bootline = getenv("bootargs");

View file

@ -478,6 +478,8 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
printf("ERROR: arch-specific fdt fixup failed\n"); printf("ERROR: arch-specific fdt fixup failed\n");
goto err; goto err;
} }
/* Update ethernet nodes */
fdt_fixup_ethernet(blob);
if (IMAGE_OF_BOARD_SETUP) { if (IMAGE_OF_BOARD_SETUP) {
fdt_ret = ft_board_setup(blob, gd->bd); fdt_ret = ft_board_setup(blob, gd->bd);
if (fdt_ret) { if (fdt_ret) {

View file

@ -2,7 +2,6 @@ CONFIG_NIOS2=y
CONFIG_SYS_CONFIG_NAME="10m50_devboard" CONFIG_SYS_CONFIG_NAME="10m50_devboard"
CONFIG_DEFAULT_DEVICE_TREE="10m50_devboard" CONFIG_DEFAULT_DEVICE_TREE="10m50_devboard"
CONFIG_FIT=y CONFIG_FIT=y
CONFIG_OF_BOARD_SETUP=y
CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_SYS_CONSOLE_INFO_QUIET=y
CONFIG_VERSION_VARIABLE=y CONFIG_VERSION_VARIABLE=y
CONFIG_HUSH_PARSER=y CONFIG_HUSH_PARSER=y

View file

@ -2,7 +2,6 @@ CONFIG_NIOS2=y
CONFIG_SYS_CONFIG_NAME="3c120_devboard" CONFIG_SYS_CONFIG_NAME="3c120_devboard"
CONFIG_DEFAULT_DEVICE_TREE="3c120_devboard" CONFIG_DEFAULT_DEVICE_TREE="3c120_devboard"
CONFIG_FIT=y CONFIG_FIT=y
CONFIG_OF_BOARD_SETUP=y
CONFIG_SYS_CONSOLE_INFO_QUIET=y CONFIG_SYS_CONSOLE_INFO_QUIET=y
CONFIG_VERSION_VARIABLE=y CONFIG_VERSION_VARIABLE=y
CONFIG_HUSH_PARSER=y CONFIG_HUSH_PARSER=y