~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/firmware/xilinx/xlnx,zynqmp-firmware.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 %YAML 1.2
  3 ---
  4 $id: http://devicetree.org/schemas/firmware/xilinx/xlnx,zynqmp-firmware.yaml#
  5 $schema: http://devicetree.org/meta-schemas/core.yaml#
  6 
  7 title: Xilinx firmware driver
  8 
  9 maintainers:
 10   - Nava kishore Manne <nava.kishore.manne@amd.com>
 11 
 12 description: The zynqmp-firmware node describes the interface to platform
 13   firmware. ZynqMP has an interface to communicate with secure firmware.
 14   Firmware driver provides an interface to firmware APIs. Interface APIs
 15   can be used by any driver to communicate to PMUFW(Platform Management Unit).
 16   These requests include clock management, pin control, device control,
 17   power management service, FPGA service and other platform management
 18   services.
 19 
 20 properties:
 21   compatible:
 22     oneOf:
 23       - description: For implementations complying for Zynq Ultrascale+ MPSoC.
 24         const: xlnx,zynqmp-firmware
 25 
 26       - description: For implementations complying for Versal.
 27         const: xlnx,versal-firmware
 28 
 29       - description: For implementations complying for Versal NET.
 30         items:
 31           - enum:
 32               - xlnx,versal-net-firmware
 33           - const: xlnx,versal-firmware
 34 
 35   method:
 36     description: |
 37                  The method of calling the PM-API firmware layer.
 38                  Permitted values are.
 39                  - "smc" : SMC #0, following the SMCCC
 40                  - "hvc" : HVC #0, following the SMCCC
 41 
 42     $ref: /schemas/types.yaml#/definitions/string-array
 43     enum:
 44       - smc
 45       - hvc
 46 
 47   "#power-domain-cells":
 48     const: 1
 49 
 50   clock-controller:
 51     $ref: /schemas/clock/xlnx,versal-clk.yaml#
 52     description: The clock controller is a hardware block of Xilinx versal
 53       clock tree. It reads required input clock frequencies from the devicetree
 54       and acts as clock provider for all clock consumers of PS clocks.list of
 55       clock specifiers which are external input clocks to the given clock
 56       controller.
 57     type: object
 58 
 59   gpio:
 60     $ref: /schemas/gpio/xlnx,zynqmp-gpio-modepin.yaml#
 61     description: The gpio node describes connect to PS_MODE pins via firmware
 62       interface.
 63     type: object
 64 
 65   soc-nvmem:
 66     $ref: /schemas/nvmem/xlnx,zynqmp-nvmem.yaml#
 67     description: The ZynqMP MPSoC provides access to the hardware related data
 68       like SOC revision, IDCODE and specific purpose efuses.
 69     type: object
 70 
 71   pcap:
 72     $ref: /schemas/fpga/xlnx,zynqmp-pcap-fpga.yaml
 73     description: The ZynqMP SoC uses the PCAP (Processor Configuration Port) to
 74       configure the Programmable Logic (PL). The configuration uses the
 75       firmware interface.
 76     type: object
 77 
 78   pinctrl:
 79     $ref: /schemas/pinctrl/xlnx,zynqmp-pinctrl.yaml#
 80     description: The pinctrl node provides access to pinconfig and pincontrol
 81       functionality available in firmware.
 82     type: object
 83 
 84   power-management:
 85     $ref: /schemas/power/reset/xlnx,zynqmp-power.yaml#
 86     description: The zynqmp-power node describes the power management
 87       configurations. It will control remote suspend/shutdown interfaces.
 88     type: object
 89 
 90   reset-controller:
 91     $ref: /schemas/reset/xlnx,zynqmp-reset.yaml#
 92     description: The reset-controller node describes connection to the reset
 93       functionality via firmware interface.
 94     type: object
 95 
 96   versal-fpga:
 97     $ref: /schemas/fpga/xlnx,versal-fpga.yaml#
 98     description: Compatible of the FPGA device.
 99     type: object
100 
101   zynqmp-aes:
102     $ref: /schemas/crypto/xlnx,zynqmp-aes.yaml#
103     description: The ZynqMP AES-GCM hardened cryptographic accelerator is
104       used to encrypt or decrypt the data with provided key and initialization
105       vector.
106     type: object
107 
108 required:
109   - compatible
110 
111 additionalProperties: false
112 
113 examples:
114   - |
115     #include <dt-bindings/power/xlnx-zynqmp-power.h>
116     firmware {
117       zynqmp_firmware: zynqmp-firmware {
118         #power-domain-cells = <1>;
119         soc-nvmem {
120           compatible = "xlnx,zynqmp-nvmem-fw";
121           nvmem-layout {
122             compatible = "fixed-layout";
123             #address-cells = <1>;
124             #size-cells = <1>;
125 
126             soc_revision: soc-revision@0 {
127                 reg = <0x0 0x4>;
128             };
129           };
130         };
131         gpio {
132           compatible = "xlnx,zynqmp-gpio-modepin";
133           gpio-controller;
134           #gpio-cells = <2>;
135         };
136         pcap {
137           compatible = "xlnx,zynqmp-pcap-fpga";
138         };
139         pinctrl {
140           compatible = "xlnx,zynqmp-pinctrl";
141         };
142         power-management {
143           compatible = "xlnx,zynqmp-power";
144           interrupts = <0 35 4>;
145         };
146         reset-controller {
147           compatible = "xlnx,zynqmp-reset";
148           #reset-cells = <1>;
149         };
150       };
151     };
152 
153     sata {
154       power-domains = <&zynqmp_firmware PD_SATA>;
155     };
156 
157     versal-firmware {
158       compatible = "xlnx,versal-firmware";
159       method = "smc";
160 
161       versal_fpga: versal-fpga {
162         compatible = "xlnx,versal-fpga";
163       };
164 
165       xlnx_aes: zynqmp-aes {
166         compatible = "xlnx,zynqmp-aes";
167       };
168 
169       versal_clk: clock-controller {
170         #clock-cells = <1>;
171         compatible = "xlnx,versal-clk";
172         clocks = <&ref>, <&pl_alt_ref>;
173         clock-names = "ref", "pl_alt_ref";
174       };
175     };
176 
177 ...

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php