[U-Boot] [PATCH][v1] mpc8260: move FDT memory node fixup into common CPU code.

Peter Tyser ptyser at xes-inc.com
Fri Sep 4 16:50:56 CEST 2009


Thanks for cleaning this up Marcel.  I had a few comments though.  Your
patch appears to be line wrapped.  Please use git to send the patch or
configure your email client not to line-wrap.

On Fri, 2009-09-04 at 14:37 +0000, Marcel ziswiler wrote:
> Move the memory node fixup of the MPC8260ADS, ids8247 and muas3001 boards into
> common mpc8260 CPU code.

Shouldn't the mgcoge board also have the same change?

> Remove Ethernet node fixup from muas3001 board and modify its config for the
> common mpc8260 code to use generic Ethernet fixup.

The board-specific ethernet modifications should be in a separate patch
as that change is unrelated to the general FDT memory cleanup cleanup.
Otherwise the change looks good to me.

Best,
Peter

> Signed-off-by: Marcel Ziswiler <marcel.ziswiler at noser.com>
> ---
>  board/freescale/mpc8260ads/mpc8260ads.c |   13 --------
>  board/ids8247/ids8247.c                 |   16 ----------
>  board/muas3001/muas3001.c               |   51 +-----------------------------
>  cpu/mpc8260/cpu.c                       |    1 +
>  include/configs/muas3001.h              |    1 +
>  5 files changed, 4 insertions(+), 78 deletions(-)
> 
> diff --git a/board/freescale/mpc8260ads/mpc8260ads.c b/board/freescale/mpc8260ad
> s/mpc8260ads.c
> index 49a88bb..be55626 100644
> --- a/board/freescale/mpc8260ads/mpc8260ads.c
> +++ b/board/freescale/mpc8260ads/mpc8260ads.c
> @@ -550,24 +550,11 @@ void pci_init_board(void)
>  #endif
> 
>  #if defined(CONFIG_OF_LIBFDT) && defined(CONFIG_OF_BOARD_SETUP)
> -void ft_blob_update(void *blob, bd_t *bd)
> -{
> -       int ret;
> -
> -       ret = fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize);
> -
> -       if (ret < 0) {
> -               printf("ft_blob_update(): cannot set /memory/reg "
> -                       "property err:%s\n", fdt_strerror(ret));
> -       }
> -}
> -
>  void ft_board_setup(void *blob, bd_t *bd)
>  {
>         ft_cpu_setup(blob, bd);
>  #ifdef CONFIG_PCI
>         ft_pci_setup(blob, bd);
>  #endif
> -       ft_blob_update(blob, bd);
>  }
>  #endif
> diff --git a/board/ids8247/ids8247.c b/board/ids8247/ids8247.c
> index 79fe9da..d621833 100644
> --- a/board/ids8247/ids8247.c
> +++ b/board/ids8247/ids8247.c
> @@ -400,24 +400,8 @@ int board_nand_init(struct nand_chip *nand)
>  #endif /* CONFIG_CMD_NAND */
> 
>  #if defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT)
> -/*
> - * update "memory" property in the blob
> - */
> -void ft_blob_update(void *blob, bd_t *bd)
> -{
> -       int ret;
> -
> -       ret = fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize);
> -
> -       if (ret < 0) {
> -               printf("ft_blob_update(): cannot set /memory/reg "
> -                       "property err:%s\n", fdt_strerror(ret));
> -       }
> -}
> -
>  void ft_board_setup(void *blob, bd_t *bd)
>  {
>         ft_cpu_setup( blob, bd);
> -       ft_blob_update(blob, bd);
>  }
>  #endif /* defined(CONFIG_OF_BOARD_SETUP) && defined(CONFIG_OF_LIBFDT) */
> diff --git a/board/muas3001/muas3001.c b/board/muas3001/muas3001.c
> index 8f83dd9..79c7a4c 100644
> --- a/board/muas3001/muas3001.c
> +++ b/board/muas3001/muas3001.c
> @@ -308,26 +308,9 @@ int board_early_init_r (void)
>  void ft_blob_update (void *blob, bd_t *bd)
>  {
>         int ret, nodeoffset = 0;
> -       ulong memory_data[2] = {0};
>         ulong flash_data[4] = {0};
> -       ulong freq = 0;
> -       ulong   speed = 0;
> +       ulong speed = 0;
> 
> -       memory_data[0] = cpu_to_be32 (bd->bi_memstart);
> -       memory_data[1] = cpu_to_be32 (bd->bi_memsize);
> -
> -       nodeoffset = fdt_path_offset (blob, "/memory");
> -       if (nodeoffset >= 0) {
> -               ret = fdt_setprop (blob, nodeoffset, "reg", memory_data,
> -                                       sizeof(memory_data));
> -       if (ret < 0)
> -               printf ("ft_blob_update): cannot set /memory/reg "
> -                       "property err:%s\n", fdt_strerror (ret));
> -       } else {
> -               /* memory node is required in dts */
> -               printf ("ft_blob_update(): cannot find /memory node "
> -                       "err:%s\n", fdt_strerror(nodeoffset));
> -       }
>         /* update Flash addr, size */
>         flash_data[2] = cpu_to_be32 (CONFIG_SYS_FLASH_BASE);
>         flash_data[3] = cpu_to_be32 (CONFIG_SYS_FLASH_SIZE);
> @@ -339,40 +322,10 @@ void ft_blob_update (void *blob, bd_t *bd)
>                 printf ("ft_blob_update): cannot set /localbus/ranges "
>                         "property err:%s\n", fdt_strerror(ret));
>         } else {
> -               /* memory node is required in dts */
> +               /* localbus node is required in dts */
>                 printf ("ft_blob_update(): cannot find /localbus node "
>                         "err:%s\n", fdt_strerror (nodeoffset));
>         }
> -       /* MAC Adresse */
> -       nodeoffset = fdt_path_offset (blob, "/soc/cpm/ethernet");
> -       if (nodeoffset >= 0) {
> -               uchar ethaddr[6];
> -               eth_getenv_enetaddr("ethaddr", ethaddr);
> -               ret = fdt_setprop (blob, nodeoffset, "mac-address", ethaddr,
> -                                       sizeof (uchar) * 6);
> -       if (ret < 0)
> -               printf ("ft_blob_update): cannot set /soc/cpm/ethernet/mac-addre
> ss "
> -                       "property err:%s\n", fdt_strerror (ret));
> -       } else {
> -               /* memory node is required in dts */
> -               printf ("ft_blob_update(): cannot find /soc/cpm/ethernet node "
> -                       "err:%s\n", fdt_strerror (nodeoffset));
> -       }
> -
> -       /* brg clock */
> -       nodeoffset = fdt_path_offset (blob, "/soc/cpm/brg");
> -       if (nodeoffset >= 0) {
> -               freq = cpu_to_be32 (bd->bi_brgfreq);
> -               ret = fdt_setprop (blob, nodeoffset, "clock-frequency", &freq,
> -                                       sizeof (unsigned long));
> -       if (ret < 0)
> -               printf ("ft_blob_update): cannot set /soc/cpm/brg/clock-frequenc
> y "
> -                       "property err:%s\n", fdt_strerror (ret));
> -       } else {
> -               /* memory node is required in dts */
> -               printf ("ft_blob_update(): cannot find /soc/cpm/brg/clock-freque
> ncy node "
> -                       "err:%s\n", fdt_strerror (nodeoffset));
> -       }
> 
>         /* baudrate */
>         nodeoffset = fdt_path_offset (blob, "/soc/cpm/serial");
> diff --git a/cpu/mpc8260/cpu.c b/cpu/mpc8260/cpu.c
> index 17e6248..aedbf29 100644
> --- a/cpu/mpc8260/cpu.c
> +++ b/cpu/mpc8260/cpu.c
> @@ -318,6 +318,7 @@ void ft_cpu_setup (void *blob, bd_t *bd)
>                 "timebase-frequency", OF_TBCLK, 1);
>         do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,
>                 "clock-frequency", bd->bi_intfreq, 1);
> +       fdt_fixup_memory(blob, (u64)bd->bi_memstart, (u64)bd->bi_memsize);
>  }
>  #endif /* CONFIG_OF_LIBFDT */
> 
> diff --git a/include/configs/muas3001.h b/include/configs/muas3001.h
> index f031a17..22b22bd 100644
> --- a/include/configs/muas3001.h
> +++ b/include/configs/muas3001.h
> @@ -74,6 +74,7 @@
> 
>  #define CONFIG_ETHER_INDEX     1
>  #define CONFIG_ETHER_ON_FCC1
> +#define CONFIG_HAS_ETH1
>  #define FCC_ENET
> 
>  /*
> --
> 1.4.4.4
> 
> 
> _______________________________________________
> U-Boot mailing list
> U-Boot at lists.denx.de
> http://lists.denx.de/mailman/listinfo/u-boot



More information about the U-Boot mailing list