From: Scott Wood <scottwood@freescale.com>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: linuxppc-dev@ozlabs.org, devicetree-discuss@lists.ozlabs.org,
Timur Tabi <timur@freescale.com>
Subject: Re: [PATCH] powerpc/fsl: add device tree binding for QE firmware
Date: Wed, 24 Mar 2010 13:27:58 -0500 [thread overview]
Message-ID: <20100324182757.GA25270@loki.buserror.net> (raw)
In-Reply-To: <fa686aa41003241007mf6052d5s4643795f4a87cdcf@mail.gmail.com>
On Wed, Mar 24, 2010 at 11:07:42AM -0600, Grant Likely wrote:
> On Wed, Mar 24, 2010 at 11:00 AM, Segher Boessenkool
> <segher@kernel.crashing.org> wrote:
> >>> Why the phandle redirection? Why not just put the firmware blob into
> >>> a property in the QE node, or as a subnode?
> >>
> >> Because there might be multiple QE devices on a single chip, and each
> >> will need to upload the same firmware. So instead of embedding the
> >> firmware multiple times, just embed it once, and have a pointer.
> >
> > You're messing up the binding because of a (perceived) deficiency in
> > the DTB format? Or maybe just the DTS format. Or maybe you shouldn't
> > even care about size here. Or really, the device tree is the wrong
> > place to store firmware blobs at all.
>
> That is a good question. Why is it necessary to pass the blob via the
> tree?
We previously put the firmware in flash, and passed a pointer on the kernel
command line. Not only is that more complicated and error prone, it
requires that virtualized guests be granted access to the flash.
> Also, depending on firmware to correctly squirt the firmware blob into
> the dtb at boot is risky. Even when firmware is buggy, there is
> resistance to upgrading firmware
We need to use different terms for the boot firmware and the device
firmware. :-)
> on working boards because it could result in a bricked board. In fact,
> every time we depend on firmware to modify the dtb at boot is risky, so it
> should only be done when strictly necessary (I would even say that to date
> we've probably been rather too liberal about getting u-boot to modify the
> device tree).
On p4080 we've gone much farther down that road, a large chunk of the device
tree content is generated dynamically by u-boot. Being able to use the
device tree to move information from the firmware to the OS is one of the
big benefits of using the tree, IMHO. If you end up in a situation where
you just can't use the firmware's tree for whatever reason, ignore it and
use a kernel-provided tree and you'll be no worse off than what you'd have
us do all the time.
And it's not even really relevant to whether the firmware goes in the dtb --
you could just as easily stick it in there statically with a binary include
in the dts.
> I would say that either the firmware should be loaded via the existing
> (non-dt) firmware loading mechanism, or it should be built into the
> static dtb blob. Don't try to add it at runtime.
The binding should only be concerned with what's in the tree, not how it
gets there.
-Scott
WARNING: multiple messages have this Message-ID (diff)
From: Scott Wood <scottwood-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
To: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
Cc: linuxppc-dev-mnsaURCQ41sdnm+yROfE0A@public.gmane.org,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
Timur Tabi <timur-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
Subject: Re: [PATCH] powerpc/fsl: add device tree binding for QE firmware
Date: Wed, 24 Mar 2010 13:27:58 -0500 [thread overview]
Message-ID: <20100324182757.GA25270@loki.buserror.net> (raw)
In-Reply-To: <fa686aa41003241007mf6052d5s4643795f4a87cdcf-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
On Wed, Mar 24, 2010 at 11:07:42AM -0600, Grant Likely wrote:
> On Wed, Mar 24, 2010 at 11:00 AM, Segher Boessenkool
> <segher-XVmvHMARGAS8U2dJNN8I7kB+6BGkLq7r@public.gmane.org> wrote:
> >>> Why the phandle redirection? Why not just put the firmware blob into
> >>> a property in the QE node, or as a subnode?
> >>
> >> Because there might be multiple QE devices on a single chip, and each
> >> will need to upload the same firmware. So instead of embedding the
> >> firmware multiple times, just embed it once, and have a pointer.
> >
> > You're messing up the binding because of a (perceived) deficiency in
> > the DTB format? Or maybe just the DTS format. Or maybe you shouldn't
> > even care about size here. Or really, the device tree is the wrong
> > place to store firmware blobs at all.
>
> That is a good question. Why is it necessary to pass the blob via the
> tree?
We previously put the firmware in flash, and passed a pointer on the kernel
command line. Not only is that more complicated and error prone, it
requires that virtualized guests be granted access to the flash.
> Also, depending on firmware to correctly squirt the firmware blob into
> the dtb at boot is risky. Even when firmware is buggy, there is
> resistance to upgrading firmware
We need to use different terms for the boot firmware and the device
firmware. :-)
> on working boards because it could result in a bricked board. In fact,
> every time we depend on firmware to modify the dtb at boot is risky, so it
> should only be done when strictly necessary (I would even say that to date
> we've probably been rather too liberal about getting u-boot to modify the
> device tree).
On p4080 we've gone much farther down that road, a large chunk of the device
tree content is generated dynamically by u-boot. Being able to use the
device tree to move information from the firmware to the OS is one of the
big benefits of using the tree, IMHO. If you end up in a situation where
you just can't use the firmware's tree for whatever reason, ignore it and
use a kernel-provided tree and you'll be no worse off than what you'd have
us do all the time.
And it's not even really relevant to whether the firmware goes in the dtb --
you could just as easily stick it in there statically with a binary include
in the dts.
> I would say that either the firmware should be loaded via the existing
> (non-dt) firmware loading mechanism, or it should be built into the
> static dtb blob. Don't try to add it at runtime.
The binding should only be concerned with what's in the tree, not how it
gets there.
-Scott
next prev parent reply other threads:[~2010-03-24 18:28 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-03-23 21:42 [PATCH] powerpc/fsl: add device tree binding for QE firmware Timur Tabi
2010-03-23 21:42 ` Timur Tabi
2010-03-24 6:07 ` Grant Likely
2010-03-24 6:07 ` Grant Likely
2010-03-24 12:05 ` Timur Tabi
2010-03-24 12:05 ` Timur Tabi
2010-03-24 17:00 ` Segher Boessenkool
2010-03-24 17:00 ` Segher Boessenkool
2010-03-24 17:07 ` Grant Likely
2010-03-24 17:07 ` Grant Likely
2010-03-24 17:31 ` Timur Tabi
2010-03-24 17:31 ` Timur Tabi
2010-03-24 18:10 ` Grant Likely
2010-03-24 18:10 ` Grant Likely
2010-03-24 18:21 ` Mitch Bradley
2010-03-24 18:21 ` Mitch Bradley
2010-03-24 18:25 ` Timur Tabi
2010-03-24 18:24 ` M. Warner Losh
2010-03-24 18:31 ` Timur Tabi
2010-03-24 18:31 ` Timur Tabi
2010-03-25 1:49 ` Segher Boessenkool
2010-03-25 1:49 ` Segher Boessenkool
2010-03-25 14:42 ` Timur Tabi
2010-03-25 14:42 ` Timur Tabi
2010-03-25 16:10 ` Grant Likely
2010-03-25 16:10 ` Grant Likely
2010-03-25 16:34 ` Scott Wood
2010-03-25 16:34 ` Scott Wood
2010-03-25 16:46 ` Timur Tabi
2010-03-25 16:46 ` Timur Tabi
2010-03-26 18:23 ` Rafal Jaworowski
2010-03-26 18:23 ` Rafal Jaworowski
2010-03-25 23:53 ` M. Warner Losh
2010-03-25 23:53 ` M. Warner Losh
2010-03-26 0:22 ` Timur Tabi
2010-03-26 0:22 ` Timur Tabi
2010-03-25 15:16 ` Scott Wood
2010-03-25 15:16 ` Scott Wood
2010-03-25 15:29 ` Mitch Bradley
2010-03-25 15:29 ` Mitch Bradley
2010-03-25 16:16 ` Grant Likely
2010-03-25 16:16 ` Grant Likely
2010-03-25 16:36 ` Timur Tabi
2010-03-25 16:36 ` Timur Tabi
2010-03-25 16:50 ` Scott Wood
2010-03-25 16:50 ` Scott Wood
2010-03-25 16:59 ` Grant Likely
2010-03-25 16:59 ` Grant Likely
2010-03-25 17:03 ` Timur Tabi
2010-03-25 17:35 ` Grant Likely
2010-03-25 17:35 ` Grant Likely
2010-03-25 18:05 ` Timur Tabi
2010-03-25 19:53 ` Scott Wood
2010-03-25 19:53 ` Scott Wood
2010-03-25 20:04 ` Timur Tabi
2010-03-25 21:54 ` Grant Likely
2010-03-25 21:54 ` Grant Likely
2010-03-25 22:19 ` Timur Tabi
2010-03-25 22:19 ` Timur Tabi
2010-03-25 21:39 ` Grant Likely
2010-03-25 21:39 ` Grant Likely
2010-03-25 22:47 ` Scott Wood
2010-03-25 22:47 ` Scott Wood
2010-03-25 21:22 ` David Gibson
2010-03-25 21:22 ` David Gibson
2010-03-26 1:26 ` Grant Likely
2010-03-26 1:26 ` Grant Likely
2010-03-26 15:17 ` Timur Tabi
2010-03-26 15:17 ` Timur Tabi
2010-03-26 18:20 ` Grant Likely
2010-03-26 18:20 ` Grant Likely
2010-03-26 18:39 ` Timur Tabi
2010-03-26 18:44 ` Grant Likely
2010-03-26 18:44 ` Grant Likely
2010-03-26 18:48 ` Timur Tabi
2010-03-26 18:48 ` Timur Tabi
2010-03-26 18:56 ` Grant Likely
2010-03-26 18:56 ` Grant Likely
2010-03-26 18:58 ` Mitch Bradley
2010-03-26 18:58 ` Mitch Bradley
2010-03-26 19:07 ` Grant Likely
2010-03-26 19:07 ` Grant Likely
2010-03-26 18:48 ` Mitch Bradley
2010-03-26 18:48 ` Mitch Bradley
2010-03-24 18:27 ` Scott Wood [this message]
2010-03-24 18:27 ` Scott Wood
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20100324182757.GA25270@loki.buserror.net \
--to=scottwood@freescale.com \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=grant.likely@secretlab.ca \
--cc=linuxppc-dev@ozlabs.org \
--cc=timur@freescale.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.