xref: /freebsd/sys/contrib/device-tree/Bindings/soc/fsl/cpm_qe/fsl,qe-firmware.yaml (revision 0e8011faf58b743cc652e3b2ad0f7671227610df)
1*0e8011faSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*0e8011faSEmmanuel Vadot%YAML 1.2
3*0e8011faSEmmanuel Vadot---
4*0e8011faSEmmanuel Vadot$id: http://devicetree.org/schemas/soc/fsl/cpm_qe/fsl,qe-firmware.yaml#
5*0e8011faSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*0e8011faSEmmanuel Vadot
7*0e8011faSEmmanuel Vadottitle: Freescale QUICC Engine module Firmware Node
8*0e8011faSEmmanuel Vadot
9*0e8011faSEmmanuel Vadotmaintainers:
10*0e8011faSEmmanuel Vadot  - Frank Li <Frank.Li@nxp.com>
11*0e8011faSEmmanuel Vadot
12*0e8011faSEmmanuel Vadotdescription: |
13*0e8011faSEmmanuel Vadot  This node defines a firmware binary that is embedded in the device tree, for
14*0e8011faSEmmanuel Vadot  the purpose of passing the firmware from bootloader to the kernel, or from
15*0e8011faSEmmanuel Vadot  the hypervisor to the guest.
16*0e8011faSEmmanuel Vadot
17*0e8011faSEmmanuel Vadot  The firmware node itself contains the firmware binary contents, a compatible
18*0e8011faSEmmanuel Vadot  property, and any firmware-specific properties.  The node should be placed
19*0e8011faSEmmanuel Vadot  inside a QE node that needs it.  Doing so eliminates the need for a
20*0e8011faSEmmanuel Vadot  fsl,firmware-phandle property.  Other QE nodes that need the same firmware
21*0e8011faSEmmanuel Vadot  should define an fsl,firmware-phandle property that points to the firmware node
22*0e8011faSEmmanuel Vadot  in the first QE node.
23*0e8011faSEmmanuel Vadot
24*0e8011faSEmmanuel Vadot  The fsl,firmware property can be specified in the DTS (possibly using incbin)
25*0e8011faSEmmanuel Vadot  or can be inserted by the boot loader at boot time.
26*0e8011faSEmmanuel Vadot
27*0e8011faSEmmanuel Vadotproperties:
28*0e8011faSEmmanuel Vadot  compatible:
29*0e8011faSEmmanuel Vadot    enum:
30*0e8011faSEmmanuel Vadot      - fsl,qe-firmware
31*0e8011faSEmmanuel Vadot
32*0e8011faSEmmanuel Vadot  fsl,firmware:
33*0e8011faSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint8-array
34*0e8011faSEmmanuel Vadot    description:
35*0e8011faSEmmanuel Vadot      A standard property.  This property contains the firmware binary "blob".
36*0e8011faSEmmanuel Vadot
37*0e8011faSEmmanuel Vadotrequired:
38*0e8011faSEmmanuel Vadot  - compatible
39*0e8011faSEmmanuel Vadot  - fsl,firmware
40*0e8011faSEmmanuel Vadot
41*0e8011faSEmmanuel VadotadditionalProperties: false
42*0e8011faSEmmanuel Vadot
43*0e8011faSEmmanuel Vadotexamples:
44*0e8011faSEmmanuel Vadot  - |
45*0e8011faSEmmanuel Vadot    qe-firmware {
46*0e8011faSEmmanuel Vadot        compatible = "fsl,qe-firmware";
47*0e8011faSEmmanuel Vadot        fsl,firmware = <0x70 0xcd 0x00 0x00 0x01 0x46 0x45>;
48*0e8011faSEmmanuel Vadot    };
49