# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qe-firmware.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Freescale QUICC Engine module Firmware Node

maintainers:
  - Frank Li <Frank.Li@nxp.com>

description: |
  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.

properties:
  compatible:
    enum:
      - fsl,qe-firmware

  fsl,firmware:
    $ref: /schemas/types.yaml#/definitions/uint8-array
    description:
      A standard property.  This property contains the firmware binary "blob".

required:
  - compatible
  - fsl,firmware

additionalProperties: false

examples:
  - |
    qe-firmware {
        compatible = "fsl,qe-firmware";
        fsl,firmware = <0x70 0xcd 0x00 0x00 0x01 0x46 0x45>;
    };
