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

From: Timur Tabi <[email-masked]>
Date: Wed, 05 Dec 2007 17:37:19 -0600

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.  Previously, the firmware was shipped as header files 
with code like this:

#define MPC8323_R1_0_UC_PATCH   \
{   \
	  0xb3ff0006   \
	, 0xffffffff   \
	, 0xb3ff0009   \
	, 0xffffffff   \
	, 0xb3ff000c   \
	, 0xffffffff   \

and so on.

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.

-- 
Timur Tabi
Linux kernel developer at Freescale