* [U-Boot-Users] [PATCH] Add fdt_fixup_ethernet helper to set mac addresses
@ 2007-11-21 20:16 Kumar Gala
2007-11-21 20:44 ` Stefan Roese
0 siblings, 1 reply; 2+ messages in thread
From: Kumar Gala @ 2007-11-21 20:16 UTC (permalink / raw)
To: u-boot
Added a fixup helper that uses aliases to set mac addresses
in the device tree based on the bd_t
Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
---
common/fdt_support.c | 38 ++++++++++++++++++++++++++++++++++++++
include/fdt_support.h | 1 +
2 files changed, 39 insertions(+), 0 deletions(-)
diff --git a/common/fdt_support.c b/common/fdt_support.c
index d5743b4..0e61f6d 100644
--- a/common/fdt_support.c
+++ b/common/fdt_support.c
@@ -386,4 +386,42 @@ void do_fixup_by_path_u32(void *fdt, const char *path, const char *prop,
do_fixup_by_path(fdt, path, prop, &val, sizeof(val), create);
}
+void fdt_fixup_ethernet(void *fdt, bd_t *bd)
+{
+ int node;
+ const char *path;
+
+ node = fdt_path_offset(fdt, "/aliases");
+ if (node >= 0) {
+#if defined(CONFIG_HAS_ETH0)
+ path = fdt_getprop(fdt, node, "ethernet0", NULL);
+ if (path) {
+ do_fixup_by_path(fdt, path, "mac-address", bd->bi_enetaddr, 6, 0);
+ do_fixup_by_path(fdt, path, "local-mac-address", bd->bi_enetaddr, 6, 1);
+ }
+#endif
+#if defined(CONFIG_HAS_ETH1)
+ path = fdt_getprop(fdt, node, "ethernet1", NULL);
+ if (path) {
+ do_fixup_by_path(fdt, path, "mac-address", bd->bi_enet1addr, 6, 0);
+ do_fixup_by_path(fdt, path, "local-mac-address", bd->bi_enet1addr, 6, 1);
+ }
+#endif
+#if defined(CONFIG_HAS_ETH2)
+ path = fdt_getprop(fdt, node, "ethernet2", NULL);
+ if (path) {
+ do_fixup_by_path(fdt, path, "mac-address", bd->bi_enet2addr, 6, 0);
+ do_fixup_by_path(fdt, path, "local-mac-address", bd->bi_enet2addr, 6, 1);
+ }
+#endif
+#if defined(CONFIG_HAS_ETH3)
+ path = fdt_getprop(fdt, node, "ethernet3", NULL);
+ if (path) {
+ do_fixup_by_path(fdt, path, "mac-address", bd->bi_enet3addr, 6, 0);
+ do_fixup_by_path(fdt, path, "local-mac-address", bd->bi_enet3addr, 6, 1);
+ }
+#endif
+ }
+}
+
#endif /* CONFIG_OF_LIBFDT */
diff --git a/include/fdt_support.h b/include/fdt_support.h
index 0314dfd..150dd2b 100644
--- a/include/fdt_support.h
+++ b/include/fdt_support.h
@@ -33,6 +33,7 @@ void do_fixup_by_path(void *fdt, const char *path, const char *prop,
const void *val, int len, int create);
void do_fixup_by_path_u32(void *fdt, const char *path, const char *prop,
u32 val, int create);
+void fdt_fixup_ethernet(void *fdt, bd_t *bd);
#ifdef CONFIG_OF_HAS_UBOOT_ENV
int fdt_env(void *fdt);
--
1.5.3.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* [U-Boot-Users] [PATCH] Add fdt_fixup_ethernet helper to set mac addresses
2007-11-21 20:16 [U-Boot-Users] [PATCH] Add fdt_fixup_ethernet helper to set mac addresses Kumar Gala
@ 2007-11-21 20:44 ` Stefan Roese
0 siblings, 0 replies; 2+ messages in thread
From: Stefan Roese @ 2007-11-21 20:44 UTC (permalink / raw)
To: u-boot
On Wednesday 21 November 2007, Kumar Gala wrote:
> Added a fixup helper that uses aliases to set mac addresses
> in the device tree based on the bd_t
>
> Signed-off-by: Kumar Gala <galak@kernel.crashing.org>
> ---
> common/fdt_support.c | 38 ++++++++++++++++++++++++++++++++++++++
> include/fdt_support.h | 1 +
> 2 files changed, 39 insertions(+), 0 deletions(-)
>
> diff --git a/common/fdt_support.c b/common/fdt_support.c
> index d5743b4..0e61f6d 100644
> --- a/common/fdt_support.c
> +++ b/common/fdt_support.c
> @@ -386,4 +386,42 @@ void do_fixup_by_path_u32(void *fdt, const char *path,
> const char *prop, do_fixup_by_path(fdt, path, prop, &val, sizeof(val),
> create);
> }
>
> +void fdt_fixup_ethernet(void *fdt, bd_t *bd)
> +{
> + int node;
> + const char *path;
> +
> + node = fdt_path_offset(fdt, "/aliases");
> + if (node >= 0) {
> +#if defined(CONFIG_HAS_ETH0)
> + path = fdt_getprop(fdt, node, "ethernet0", NULL);
> + if (path) {
Seems you have some whitespace problems here.
Best regards,
Stefan
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80 Email: office at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2007-11-21 20:44 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-11-21 20:16 [U-Boot-Users] [PATCH] Add fdt_fixup_ethernet helper to set mac addresses Kumar Gala
2007-11-21 20:44 ` Stefan Roese
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox