90 lines
2.6 KiB
YAML
90 lines
2.6 KiB
YAML
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
||
|
%YAML 1.2
|
||
|
---
|
||
|
$id: http://devicetree.org/schemas/firmware/xilinx/xlnx,zynqmp-firmware.yaml#
|
||
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
||
|
|
||
|
title: Xilinx firmware driver
|
||
|
|
||
|
maintainers:
|
||
|
- Nava kishore Manne <nava.manne@xilinx.com>
|
||
|
|
||
|
description: The zynqmp-firmware node describes the interface to platform
|
||
|
firmware. ZynqMP has an interface to communicate with secure firmware.
|
||
|
Firmware driver provides an interface to firmware APIs. Interface APIs
|
||
|
can be used by any driver to communicate to PMUFW(Platform Management Unit).
|
||
|
These requests include clock management, pin control, device control,
|
||
|
power management service, FPGA service and other platform management
|
||
|
services.
|
||
|
|
||
|
properties:
|
||
|
compatible:
|
||
|
oneOf:
|
||
|
- description: For implementations complying for Zynq Ultrascale+ MPSoC.
|
||
|
const: xlnx,zynqmp-firmware
|
||
|
|
||
|
- description: For implementations complying for Versal.
|
||
|
const: xlnx,versal-firmware
|
||
|
|
||
|
method:
|
||
|
description: |
|
||
|
The method of calling the PM-API firmware layer.
|
||
|
Permitted values are.
|
||
|
- "smc" : SMC #0, following the SMCCC
|
||
|
- "hvc" : HVC #0, following the SMCCC
|
||
|
|
||
|
$ref: /schemas/types.yaml#/definitions/string-array
|
||
|
enum:
|
||
|
- smc
|
||
|
- hvc
|
||
|
|
||
|
versal_fpga:
|
||
|
$ref: /schemas/fpga/xlnx,versal-fpga.yaml#
|
||
|
description: Compatible of the FPGA device.
|
||
|
type: object
|
||
|
|
||
|
zynqmp-aes:
|
||
|
$ref: /schemas/crypto/xlnx,zynqmp-aes.yaml#
|
||
|
description: The ZynqMP AES-GCM hardened cryptographic accelerator is
|
||
|
used to encrypt or decrypt the data with provided key and initialization
|
||
|
vector.
|
||
|
type: object
|
||
|
|
||
|
clock-controller:
|
||
|
$ref: /schemas/clock/xlnx,versal-clk.yaml#
|
||
|
description: The clock controller is a hardware block of Xilinx versal
|
||
|
clock tree. It reads required input clock frequencies from the devicetree
|
||
|
and acts as clock provider for all clock consumers of PS clocks.list of
|
||
|
clock specifiers which are external input clocks to the given clock
|
||
|
controller.
|
||
|
type: object
|
||
|
|
||
|
required:
|
||
|
- compatible
|
||
|
|
||
|
additionalProperties: false
|
||
|
|
||
|
examples:
|
||
|
- |
|
||
|
versal-firmware {
|
||
|
compatible = "xlnx,versal-firmware";
|
||
|
method = "smc";
|
||
|
|
||
|
versal_fpga: versal_fpga {
|
||
|
compatible = "xlnx,versal-fpga";
|
||
|
};
|
||
|
|
||
|
xlnx_aes: zynqmp-aes {
|
||
|
compatible = "xlnx,zynqmp-aes";
|
||
|
};
|
||
|
|
||
|
versal_clk: clock-controller {
|
||
|
#clock-cells = <1>;
|
||
|
compatible = "xlnx,versal-clk";
|
||
|
clocks = <&ref>, <&alt_ref>, <&pl_alt_ref>;
|
||
|
clock-names = "ref", "alt_ref", "pl_alt_ref";
|
||
|
};
|
||
|
};
|
||
|
|
||
|
...
|