From: Timur Tabi <timur@freescale.com>
To: Grant Likely <grant.likely@secretlab.ca>
Cc: Mitch Bradley <wmb@firmworks.com>,
Scott Wood <scottwood@freescale.com>,
devicetree-discuss@lists.ozlabs.org, linuxppc-dev@ozlabs.org
Subject: Re: [PATCH] powerpc/fsl: add device tree binding for QE firmware
Date: Fri, 26 Mar 2010 10:17:37 -0500 [thread overview]
Message-ID: <4BACD011.5050609@freescale.com> (raw)
In-Reply-To: <fa686aa41003251826m16ea94dfy422fae14fec81204@mail.gmail.com>
Grant Likely wrote:
> +- fsl,firmware:
> + Usage: Optional.
> + Value type: <prop-encoded-array>, encoded array of bytes
> + Definition: Contains the QUICC engine firmware blob.
> [plus any other properties needed for firmware metadata]
This would place the firmware metadata properties inside the QE node itself, which would break the QE binding.
> +Example:
> + qe1: qe@e0080000 {
> + compatible = "fsl,qe";
> + fsl,firmware = /bininc/("firmware-blob.bin"); /* Or
> squirted in by firmware */
> + ...
> + }
> +
> + qe@e0090000 {
> + compatible = "fsl,qe";
> + fsl,firmware-phandle = <&qe1>;
> + ...
> + }
>
> Putting the blob into just one of the qe nodes keeps everything nicely
> contained with the device it actually applies to. No debates about
> the best place to put device firmware blobs or new compatible values,
> and it is applicable to any device where firmware needs to be passed
> via the tree.
Except when you actually need to add metadata properties:
qe1: qe@e0080000 {
compatible = "fsl,qe";
fsl,firmware = /bininc/("firmware-blob.bin");
fsl,qe-firmware-eccr = <0x00000000 0x00001230>;
...
}
(The ECCR is stored in the QE firmware blob, but let's pretend it isn't and I need to specify it)
Here, the fsl,qe-firmware-eccr property is associated with the QE itself. This is why I want a compatible property for the firmware node, no matter where it is. Then you can do this:
qe1: qe@e0080000 {
compatible = "fsl,qe";
fsl,qe_firmware {
compatible="fsl,qe-firmware";
fsl,firmware = /bininc/("firmware-blob.bin");
fsl,qe-firmware-eccr = <0x00000000 0x00001230>;
}
...
}
Without the compatible property, the only way I'd know that the child node contains a firmware is to look at the actual name of the child node, which (as Scott and I believe) is not better than a compatible property.
--
Timur Tabi
Linux kernel developer at Freescale
WARNING: multiple messages have this Message-ID (diff)
From: Timur Tabi <timur-KZfg59tc24xl57MIdRCFDg@public.gmane.org>
To: Grant Likely <grant.likely-s3s/WqlpOiPyB63q8FvJNQ@public.gmane.org>
Cc: Scott Wood <scottwood-KZfg59tc24xl57MIdRCFDg@public.gmane.org>,
devicetree-discuss-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org,
linuxppc-dev-mnsaURCQ41sdnm+yROfE0A@public.gmane.org
Subject: Re: [PATCH] powerpc/fsl: add device tree binding for QE firmware
Date: Fri, 26 Mar 2010 10:17:37 -0500 [thread overview]
Message-ID: <4BACD011.5050609@freescale.com> (raw)
In-Reply-To: <fa686aa41003251826m16ea94dfy422fae14fec81204-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
Grant Likely wrote:
> +- fsl,firmware:
> + Usage: Optional.
> + Value type: <prop-encoded-array>, encoded array of bytes
> + Definition: Contains the QUICC engine firmware blob.
> [plus any other properties needed for firmware metadata]
This would place the firmware metadata properties inside the QE node itself, which would break the QE binding.
> +Example:
> + qe1: qe@e0080000 {
> + compatible = "fsl,qe";
> + fsl,firmware = /bininc/("firmware-blob.bin"); /* Or
> squirted in by firmware */
> + ...
> + }
> +
> + qe@e0090000 {
> + compatible = "fsl,qe";
> + fsl,firmware-phandle = <&qe1>;
> + ...
> + }
>
> Putting the blob into just one of the qe nodes keeps everything nicely
> contained with the device it actually applies to. No debates about
> the best place to put device firmware blobs or new compatible values,
> and it is applicable to any device where firmware needs to be passed
> via the tree.
Except when you actually need to add metadata properties:
qe1: qe@e0080000 {
compatible = "fsl,qe";
fsl,firmware = /bininc/("firmware-blob.bin");
fsl,qe-firmware-eccr = <0x00000000 0x00001230>;
...
}
(The ECCR is stored in the QE firmware blob, but let's pretend it isn't and I need to specify it)
Here, the fsl,qe-firmware-eccr property is associated with the QE itself. This is why I want a compatible property for the firmware node, no matter where it is. Then you can do this:
qe1: qe@e0080000 {
compatible = "fsl,qe";
fsl,qe_firmware {
compatible="fsl,qe-firmware";
fsl,firmware = /bininc/("firmware-blob.bin");
fsl,qe-firmware-eccr = <0x00000000 0x00001230>;
}
...
}
Without the compatible property, the only way I'd know that the child node contains a firmware is to look at the actual name of the child node, which (as Scott and I believe) is not better than a compatible property.
--
Timur Tabi
Linux kernel developer at Freescale
next prev parent reply other threads:[~2010-03-26 15:17 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 [this message]
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
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=4BACD011.5050609@freescale.com \
--to=timur@freescale.com \
--cc=devicetree-discuss@lists.ozlabs.org \
--cc=grant.likely@secretlab.ca \
--cc=linuxppc-dev@ozlabs.org \
--cc=scottwood@freescale.com \
--cc=wmb@firmworks.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.