Grant Likely wrote:
> Thanks. This is important information when talking about his.
>
> You can also put it into an initrd and use the Linux firmware loader.
We may also need to support non-Linux operating systems that don't use an
initrd. For now, an initrd might work. I don't know how I'll convince our BSP
team to start using one, though.
> That would also neatly solve your GPL distribution issues.
True.
> Also, depending on U-Boot (or any other boot firmware) to correctly
> squirt the QE blob into
> the dtb at boot is risky. Even when U-Boot is buggy, there is
> resistance to upgrading U-Boot
> on working boards because it could result in a bricked board.
Ok, that makes more sense, but we're not talking about upgrading U-Boot. Once
U-Boot has the capability to inject the QE blob into the DTB, then upgrading
the QE blob won't require an upgrade to U-Boot. The QE blob is still a QE blob.
> You're right, that wouldn't be very nice. Try this syntax instead:
>
> fsl,firmware = /incbin/("firmware-file-name.bin");
It's not a bad idea, but it would require firmware-file-name.bin to be
distributed with the kernel itself, otherwise building the DTB will be
complicated. The path to firmware-file-name.bin would need to be hard-coded in
the DTS.
> You've got the distribution problem that needs to be solved regardless
> because it cannot be part of U-Boot either. How do you plan to handle
> QE firmware distribution and loading?
Today, we just put the QE blob somewhere in flash, and then U-Boot is told
about like this:
#define CONFIG_SYS_QE_FW_ADDR 0xfff00000
Then we have GPL code in U-Boot that uploads it.
But you do have a point -- once we embed the QE blob in the DTB, whether it's a
DTB created by DTC or updated by U-Boot, we might already have a GPL issue.
I'll have to get back to you on that one.
--
Timur Tabi
Linux kernel developer at Freescale
_______________________________________________
devicetree-discuss mailing list
[email protected]
https://lists.ozlabs.org/listinfo/devicetree-discuss