[U-Boot-Users] Support for softcore ethernet chips

Wolfgang Denk
2005-11-15T21:12:17Z

Hello Robert,

in message <20051115183458.GX1099@pengutronix.de> you wrote:
>
> I have a board which uses a softcore ethernet chip, so before for
> example U-Boot is able to do networking some binary firmware has to be
> loaded into the device.
>
> What's the preferred method to do this? I didn't find other boards in
> the U-Boot code but maybe missed something.

See for example the FPGA support code which does something similar -
load some images into a FPGA.

> Seen from a technical point of view it would be the best solution to
> just link the firmware somewhere into the U-Boot image, but I would be

I'm not sure if this is really the best solution; it may be a good
thing to have the firmware image separated and be able to replace it
without needing to replace U-boot.

> interested how this is generally seen wrt. GPL issues. I don't think

My opinion is that linking is linking, and code is code. But I am not
a lawyer (Thank goodness!). There are nearly twenty boards which
include some binary firmware images (search for "fpgadata.c" files),
but in my (limited( understanding this is just a hardware
description, not code. Now "binary firmware" may be something
different. It sounds very much like code to me.

Which license is used for this firmware?

> that this creates a derivative work, taken that it is just being
> bit-banged into the hardware by some GPL code, which is not different

Unless somebody with a better understanding of the legal aspects ex-
plains to me that I'm wrong (and why), then I will not complain about
hardware definitions like FPGA images; but code (even for a different
CPU) should be GPLed.

Just providing a loader that loads the image from some external
storage is IMHO the better approach anyway.

> from what the Linux firmware interface does, but anyway. It has to be
> located somehow, and spending another flash sector just for some 40KiB
> would be uggly.

This depends on your sector size ;-) Also, you can locate the image
in one of your file system images und use U-Boot to laod it - we have
support for FAT/VFAT, ext2, JFFS2, cramfs, and reiser - you should
find something that matches your setup.

Best regards,

Wolfgang Denk

--
Software Engineering: Embedded and Realtime Systems, Embedded Linux
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
Imitation is the sincerest form of plagarism.