mirror of
https://github.com/torvalds/linux.git
synced 2026-03-07 23:24:35 +01:00
DT core:
- Sync dtc/libfdt with upstream v1.7.2-62-ga26ef6400bd8
- Add a for_each_compatible_node_scoped() loop and convert users in
cpufreq, dmaengine, clk, cdx, powerpc and Arm
- Simplify of/platform.c with scoped loop helpers
- Add fw_devlink tracking for "mmc-pwrseq"
- Optimize fw_devlink callback code size for pinctrl-N properties
- Replace strcmp_suffix() with strends()
DT bindings:
- Support building single binding targets
- Convert google,goldfish-fb, cznic,turris-mox-rwtm, ti,prm-inst
- Add bindings for Freescale AVIC, Realtek RTD1xxx system controllers,
Microchip 25AA010A EEPROM, OnSemi FIN3385, IEI WT61P803 PUZZLE, Delta
Electronics DPS-800-AB power supply, Infineon IR35221 Digital
Multi-phase Controller, Infineon PXE1610 Digital Dual Output 6+1
VR12.5 & VR13 CPU Controller, socionext,uniphier-smpctrl, and
xlnx,zynqmp-firmware
- Lots of trivial binding fixes to address warnings in DTS files. These
are mostly for arm64 platforms which is getting closer to be warning
free. Some public shaming has helped.
- Fix I2C bus node names in examples
- Drop obsolete brcm,vulcan-soc binding
- Drop unreferenced binding headers
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEktVUI4SxYhzZyEuo+vtdtY28YcMFAmmNLZEACgkQ+vtdtY28
YcPa+A/+Lpf1FLau//mfndvkzRUvuU5aF3eJdL1FPxfC64Js2cb9ZGSoEK+YDjaV
XzNIi2Z1j+i4+uf5MTvyGaqaVx3PcQBcQtb7pu+W1pt2KiOzfVqn66EmRsY3b4cc
twyOwx2sZMTOZambUfZreWwEl6uJiMowIbcLCsnVWihoiGVTnMpnV/jLcO9jISaP
fe42FX9qN4NL2QqWwcREYuWMuOH7MkHDRNpEhTouWosdmFCp3PkVZcuWv3NKjGMg
/tsH5X9QMr972A9s8Zk36ijvTv7NN+9t1GOtPS9KGpbwJmyPHr38mG1fsj+P0rY7
rOXRnT2PScN6kvKZuw0Rex5xeMxrQCzRkFLzyfq2LOsE0GAUyyR3qysNOdH8xO3Z
3TVMGVaelYw5T+ahie1+gf/H/t+8hGhX3teCo8ORFNYo7oLsA9qNclfd5SW2Acat
pPK80PXkqTRsQ9lVGfytPZJ+m5OhcTIBdI9ieEXk/kryDAL4dHcB2IIVHM2/qm50
aGW0Kh0d61Roe0PZ5GEqI/yWPVHZroXEBxT61tDKwPyGawcq4Gs3Sftd6RXbLi8h
+T6HzkHPZFlKaiLmBC1wqXnEKLd8h72qNjjDdXbRBdLXW6S5hGPtPiLv18ArlmmR
4eiFX1Tr+pUAt2W/IwZb9H84mGkbJODbI62x9k9rst/vLeHmnjs=
=RE7t
-----END PGP SIGNATURE-----
Merge tag 'devicetree-for-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux
Pull devicetree updates from Rob Herring:
"DT core:
- Sync dtc/libfdt with upstream v1.7.2-62-ga26ef6400bd8
- Add a for_each_compatible_node_scoped() loop and convert users in
cpufreq, dmaengine, clk, cdx, powerpc and Arm
- Simplify of/platform.c with scoped loop helpers
- Add fw_devlink tracking for "mmc-pwrseq"
- Optimize fw_devlink callback code size for pinctrl-N properties
- Replace strcmp_suffix() with strends()
DT bindings:
- Support building single binding targets
- Convert google,goldfish-fb, cznic,turris-mox-rwtm, ti,prm-inst
- Add bindings for Freescale AVIC, Realtek RTD1xxx system
controllers, Microchip 25AA010A EEPROM, OnSemi FIN3385, IEI
WT61P803 PUZZLE, Delta Electronics DPS-800-AB power supply,
Infineon IR35221 Digital Multi-phase Controller, Infineon PXE1610
Digital Dual Output 6+1 VR12.5 & VR13 CPU Controller,
socionext,uniphier-smpctrl, and xlnx,zynqmp-firmware
- Lots of trivial binding fixes to address warnings in DTS files.
These are mostly for arm64 platforms which is getting closer to be
warning free. Some public shaming has helped.
- Fix I2C bus node names in examples
- Drop obsolete brcm,vulcan-soc binding
- Drop unreferenced binding headers"
* tag 'devicetree-for-7.0' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (60 commits)
dt-bindings: interrupt-controller: Add compatiblie string fsl,imx(1|25|27|31|35)-avic
dt-bindings: soc: imx: add fsl,aips and fsl,emi compatible strings
dt-bindings: display: bridge: lt8912b: Drop reset gpio requirement
dt-bindings: firmware: fsl,scu: Mark multi-channel MU layouts as deprecated
cpufreq: s5pv210: Simplify with scoped for each OF child loop
dmaengine: fsl_raid: Simplify with scoped for each OF child loop
clk: imx: imx31: Simplify with scoped for each OF child loop
clk: imx: imx27: Simplify with scoped for each OF child loop
cdx: Use mutex guard to simplify error handling
cdx: Simplify with scoped for each OF child loop
powerpc/wii: Simplify with scoped for each OF child loop
powerpc/fsp2: Simplify with scoped for each OF child loop
ARM: exynos: Simplify with scoped for each OF child loop
ARM: at91: Simplify with scoped for each OF child loop
of: Add for_each_compatible_node_scoped() helper
dt-bindings: Fix emails with spaces or missing brackets
scripts/dtc: Update to upstream version v1.7.2-62-ga26ef6400bd8
dt-bindings: crypto: inside-secure,safexcel: Mandate only ring IRQs
dt-bindings: crypto: inside-secure,safexcel: Add SoC compatibles
of: reserved_mem: Fix placement of __free() annotation
...
197 lines
5.5 KiB
YAML
197 lines
5.5 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.kishore.manne@amd.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
|
|
|
|
- description: For implementations complying for Versal NET.
|
|
items:
|
|
- enum:
|
|
- xlnx,versal-net-firmware
|
|
- 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
|
|
|
|
"#power-domain-cells":
|
|
const: 1
|
|
|
|
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
|
|
|
|
gpio:
|
|
$ref: /schemas/gpio/xlnx,zynqmp-gpio-modepin.yaml#
|
|
description: The gpio node describes connect to PS_MODE pins via firmware
|
|
interface.
|
|
type: object
|
|
|
|
soc-nvmem:
|
|
$ref: /schemas/nvmem/xlnx,zynqmp-nvmem.yaml#
|
|
description: The ZynqMP MPSoC provides access to the hardware related data
|
|
like SOC revision, IDCODE and specific purpose efuses.
|
|
type: object
|
|
|
|
pcap:
|
|
$ref: /schemas/fpga/xlnx,zynqmp-pcap-fpga.yaml
|
|
description: The ZynqMP SoC uses the PCAP (Processor Configuration Port) to
|
|
configure the Programmable Logic (PL). The configuration uses the
|
|
firmware interface.
|
|
type: object
|
|
|
|
pinctrl:
|
|
description: The pinctrl node provides access to pinconfig and pincontrol
|
|
functionality available in firmware.
|
|
type: object
|
|
|
|
power-management:
|
|
$ref: /schemas/power/reset/xlnx,zynqmp-power.yaml#
|
|
description: The zynqmp-power node describes the power management
|
|
configurations. It will control remote suspend/shutdown interfaces.
|
|
type: object
|
|
|
|
reset-controller:
|
|
$ref: /schemas/reset/xlnx,zynqmp-reset.yaml#
|
|
description: The reset-controller node describes connection to the reset
|
|
functionality via firmware interface.
|
|
type: object
|
|
|
|
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
|
|
deprecated: true
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
const: xlnx,zynqmp-firmware
|
|
then:
|
|
properties:
|
|
pinctrl:
|
|
$ref: /schemas/pinctrl/xlnx,zynqmp-pinctrl.yaml#
|
|
else:
|
|
properties:
|
|
pinctrl:
|
|
$ref: /schemas/pinctrl/xlnx,versal-pinctrl.yaml#
|
|
|
|
required:
|
|
- compatible
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/power/xlnx-zynqmp-power.h>
|
|
firmware {
|
|
zynqmp_firmware: zynqmp-firmware {
|
|
compatible = "xlnx,zynqmp-firmware";
|
|
#power-domain-cells = <1>;
|
|
soc-nvmem {
|
|
compatible = "xlnx,zynqmp-nvmem-fw";
|
|
nvmem-layout {
|
|
compatible = "fixed-layout";
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
soc_revision: soc-revision@0 {
|
|
reg = <0x0 0x4>;
|
|
};
|
|
};
|
|
};
|
|
gpio {
|
|
compatible = "xlnx,zynqmp-gpio-modepin";
|
|
gpio-controller;
|
|
#gpio-cells = <2>;
|
|
};
|
|
pcap {
|
|
compatible = "xlnx,zynqmp-pcap-fpga";
|
|
};
|
|
pinctrl {
|
|
compatible = "xlnx,zynqmp-pinctrl";
|
|
};
|
|
power-management {
|
|
compatible = "xlnx,zynqmp-power";
|
|
interrupts = <0 35 4>;
|
|
};
|
|
reset-controller {
|
|
compatible = "xlnx,zynqmp-reset";
|
|
#reset-cells = <1>;
|
|
};
|
|
};
|
|
};
|
|
|
|
sata {
|
|
power-domains = <&zynqmp_firmware PD_SATA>;
|
|
};
|
|
|
|
versal-firmware {
|
|
compatible = "xlnx,versal-firmware";
|
|
method = "smc";
|
|
|
|
versal_fpga: versal-fpga {
|
|
compatible = "xlnx,versal-fpga";
|
|
};
|
|
|
|
pinctrl {
|
|
compatible = "xlnx,versal-pinctrl";
|
|
};
|
|
|
|
xlnx_aes: zynqmp-aes {
|
|
compatible = "xlnx,zynqmp-aes";
|
|
};
|
|
|
|
versal_clk: clock-controller {
|
|
#clock-cells = <1>;
|
|
compatible = "xlnx,versal-clk";
|
|
clocks = <&ref>, <&pl_alt_ref>;
|
|
clock-names = "ref", "pl_alt_ref";
|
|
};
|
|
};
|
|
|
|
...
|