Subject: Re: [PATCH v2] qe: add ability to upload QE firmware

From: Arnd Bergmann <[email-masked]>
Date: Thu, 6 Dec 2007 00:56:38 +0100

On Thursday 06 December 2007, Timur Tabi wrote:
> Arnd Bergmann wrote:
> 
> > Of course, that approach does not help you if the blob is not GPL compatible
> > and you are relying on the dts file to be linked into the kernel, 
> 
> Well, the blobs will never be GPL compatible, which is why I created the 
> firmware binary format.

Well, you never know if someone might be willing to reverse-engineer
them and provide free replacements ;-). But that wasn't my point.

> To address the issue of loading the firmware before the kernel boots, I have 
> ported qe_upload_firmware() to U-Boot, and provided a command-line command for 
> uploading a firmware at an address in flash.  The blob can be placed in flash, 
> and then a boot script will load it.  The U-Boot version of qe_upload_firmware() 
> will also create the 'firmware' node in the device tree.

What does the firmware node contain then? The way I read it, you only put
metadata about the uploaded firmware in there, but not the blob itself, right?

Is there a case where you don't need the firmware in order to start the
kernel, but still want to provide it in flash? In that case, I think it
would really be better to just put the blob into the tree and only
have the fw loading code in the kernel instead of duplicating it in the boot
loader.

Regarding the question whether the firmware should be a device node or
a property of another node, I'd prefer a simple property, because the
firmware itself is not really a device you can access, but I don't care
much about that.

	Arnd <><