[PATCH] [v3] powerpc/fsl: add device tree binding for QE firmware
Grant Likely
grant.likely at secretlab.ca
Sat Mar 27 09:46:37 EST 2010
On Fri, Mar 26, 2010 at 4:42 PM, Timur Tabi <timur at freescale.com> wrote:
> Define a binding for embedding a QE firmware blob into the device tree. Also
> define a new property for the QE node that links to a firmware node.
>
> Signed-off-by: Timur Tabi <timur at freescale.com>
> ---
> .../powerpc/dts-bindings/fsl/cpm_qe/qe.txt | 54 ++++++++++++++++++++
> 1 files changed, 54 insertions(+), 0 deletions(-)
>
> diff --git a/Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe.txt b/Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe.txt
> index 6e37be1..8b7246b 100644
> --- a/Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe.txt
> +++ b/Documentation/powerpc/dts-bindings/fsl/cpm_qe/qe.txt
> @@ -21,6 +21,15 @@ Required properties:
> - fsl,qe-num-snums: define how many serial number(SNUM) the QE can use for the
> threads.
>
> +Optional properties:
> +- fsl,firmware-phandle:
> + Usage: required only if there is no fsl,qe-firmware child node
> + Value type: <phandle>
> + Definition: Points to a firmware node (see "QE Firmware Node" below)
> + that contains the firmware that should be uploaded for this QE.
> + The compatible property for the firmware node should say,
> + "fsl,qe-firmware".
> +
> Recommended properties
> - brg-frequency : the internal clock source frequency for baud-rate
> generators in Hz.
> @@ -59,3 +68,48 @@ Example:
> reg = <0 c000>;
> };
> };
> +
> +* QE Firmware Node
> +
> +This node defines a firmware binary that is embedded in the device tree, for
> +the purpose of passing the firmware from bootloader to the kernel, or from
> +the hypervisor to the guest.
> +
> +The firmware node itself contains the firmware binary contents, a compatible
> +property, and any firmware-specific properties. The node should be placed
> +inside a QE node that needs it. Doing so eliminates the need for a
> +fsl,firmware-phandle property. Other QE nodes that need the same firmware
> +should define an fsl,firmware-phandle property that points to the firmware node
> +in the first QE node.
> +
> +The fsl,firmware property can be specified in the DTS (possibly using incbin)
> +or can be inserted by the boot loader at boot time.
> +
> +Required properties:
> + - compatible
> + Usage: required
> + Value type: <string>
> + Definition: A standard property. Specify a string that indicates what
> + kind of firmware it is. For QE, this should be "fsl,qe-firmware".
> +
> + - fsl,firmware
> + Usage: required
> + Value type: <prop-encoded-array>, encoded as an array of bytes
> + Definition: A standard property. This property contains the firmware
> + binary "blob".
> +
> +Example:
> + qe1 at e0080000 {
> + compatible = "fsl,qe";
> + qe_firmware:qe-firmware {
> + compatible = "fsl,qe-firmware";
> + fsl,firmware = <0x70 0xcd 0x00 0x00 0x01 0x46 0x45 ...>
This should actually be square brackets for 8-bit data (as opposed to
cells). I'll fix it up when I merge the patch.
> + }
> + ...
> + }
> +
> + qe2 at e0090000 {
> + compatible = "fsl,qe";
> + fsl,firmware-phandle = <&qe_firmware>;
> + ...
> + }
> --
> 1.6.5
>
>
--
Grant Likely, B.Sc., P.Eng.
Secret Lab Technologies Ltd.
More information about the Linuxppc-dev
mailing list