summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndy Fleming <afleming@freescale.com>2008-10-07 08:09:50 -0500
committerWolfgang Denk <wd@denx.de>2008-10-18 21:54:05 +0200
commit0e17f02a8a78d85225a4d805f6a1ea95a0a460b5 (patch)
tree45fa905e1e95751d04c6ca748501c32d2ede1898
parentc21617fd265b7c126c6e2f2d8a23cdb00d4fade7 (diff)
downloadu-boot-imx-0e17f02a8a78d85225a4d805f6a1ea95a0a460b5.zip
u-boot-imx-0e17f02a8a78d85225a4d805f6a1ea95a0a460b5.tar.gz
u-boot-imx-0e17f02a8a78d85225a4d805f6a1ea95a0a460b5.tar.bz2
Have u-boot pass stashing parameters into device tree
Some cores don't support ethernet stashing at all, and some instances have errata. Adds 3 properties to gianfar nodes which support stashing. For now, just add this support to 85xx SoCs. Signed-off-by: Andy Fleming <afleming@freescale.com>
-rw-r--r--cpu/mpc85xx/fdt.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/cpu/mpc85xx/fdt.c b/cpu/mpc85xx/fdt.c
index 3c8fbd8..59aafb1 100644
--- a/cpu/mpc85xx/fdt.c
+++ b/cpu/mpc85xx/fdt.c
@@ -201,6 +201,15 @@ static inline void ft_fixup_cache(void *blob)
}
+void fdt_add_enet_stashing(void *fdt)
+{
+ do_fixup_by_compat(fdt, "gianfar", "bd-stash", NULL, 0, 1);
+
+ do_fixup_by_compat_u32(fdt, "gianfar", "rx-stash-len", 96, 1);
+
+ do_fixup_by_compat_u32(fdt, "gianfar", "rx-stash-idx", 0, 1);
+}
+
void ft_cpu_setup(void *blob, bd_t *bd)
{
/* delete crypto node if not on an E-processor */
@@ -210,6 +219,8 @@ 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);
+
+ fdt_add_enet_stashing(blob);
#endif
do_fixup_by_prop_u32(blob, "device_type", "cpu", 4,