Commit 7795c8d3 authored by Nava kishore Manne's avatar Nava kishore Manne Committed by Rob Herring
Browse files

dt-bindings: fpga: xilinx-pr-decoupler: convert bindings to json-schema



Convert xilinx-pr-decoupler bindings to DT schema format using json-schema

Signed-off-by: default avatarNava kishore Manne <nava.kishore.manne@amd.com>
Reviewed-by: default avatarKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20230224111825.161593-1-nava.kishore.manne@amd.com


Signed-off-by: default avatarRob Herring <robh@kernel.org>
parent fe15c26e
Loading
Loading
Loading
Loading
+0 −54
Original line number Diff line number Diff line
Xilinx LogiCORE Partial Reconfig Decoupler Softcore

The Xilinx LogiCORE Partial Reconfig Decoupler manages one or more
decouplers / fpga bridges.
The controller can decouple/disable the bridges which prevents signal
changes from passing through the bridge.  The controller can also
couple / enable the bridges which allows traffic to pass through the
bridge normally.

Xilinx LogiCORE Dynamic Function eXchange(DFX) AXI shutdown manager
Softcore is compatible with the Xilinx LogiCORE pr-decoupler.

The Dynamic Function eXchange AXI shutdown manager prevents AXI traffic
from passing through the bridge. The controller safely handles AXI4MM
and AXI4-Lite interfaces on a Reconfigurable Partition when it is
undergoing dynamic reconfiguration, preventing the system deadlock
that can occur if AXI transactions are interrupted by DFX

The Driver supports only MMIO handling. A PR region can have multiple
PR Decouplers which can be handled independently or chained via decouple/
decouple_status signals.

Required properties:
- compatible		: Should contain "xlnx,pr-decoupler-1.00" followed by
                          "xlnx,pr-decoupler" or
                          "xlnx,dfx-axi-shutdown-manager-1.00" followed by
                          "xlnx,dfx-axi-shutdown-manager"
- regs			: base address and size for decoupler module
- clocks		: input clock to IP
- clock-names		: should contain "aclk"

See Documentation/devicetree/bindings/fpga/fpga-region.txt and
Documentation/devicetree/bindings/fpga/fpga-bridge.txt for generic bindings.

Example:
Partial Reconfig Decoupler:
	fpga-bridge@100000450 {
		compatible = "xlnx,pr-decoupler-1.00",
			     "xlnx-pr-decoupler";
		regs = <0x10000045 0x10>;
		clocks = <&clkc 15>;
		clock-names = "aclk";
		bridge-enable = <0>;
	};

Dynamic Function eXchange AXI shutdown manager:
	fpga-bridge@100000450 {
		compatible = "xlnx,dfx-axi-shutdown-manager-1.00",
			     "xlnx,dfx-axi-shutdown-manager";
		regs = <0x10000045 0x10>;
		clocks = <&clkc 15>;
		clock-names = "aclk";
		bridge-enable = <0>;
	};
+64 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/fpga/xlnx,pr-decoupler.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Xilinx LogiCORE Partial Reconfig Decoupler/AXI shutdown manager Softcore

maintainers:
  - Nava kishore Manne <nava.kishore.manne@amd.com>

description: |
  The Xilinx LogiCORE Partial Reconfig(PR) Decoupler manages one or more
  decouplers/fpga bridges. The controller can decouple/disable the bridges
  which prevents signal changes from passing through the bridge. The controller
  can also couple / enable the bridges which allows traffic to pass through the
  bridge normally.
  Xilinx LogiCORE Dynamic Function eXchange(DFX) AXI shutdown manager Softcore
  is compatible with the Xilinx LogiCORE pr-decoupler. The Dynamic Function
  eXchange AXI shutdown manager prevents AXI traffic from passing through the
  bridge. The controller safely handles AXI4MM and AXI4-Lite interfaces on a
  Reconfigurable Partition when it is undergoing dynamic reconfiguration,
  preventing the system deadlock that can occur if AXI transactions are
  interrupted by DFX.
  Please refer to fpga-region.txt and fpga-bridge.txt in this directory for
  common binding part and usage.

properties:
  compatible:
    oneOf:
      - items:
          - const: xlnx,pr-decoupler-1.00
          - const: xlnx,pr-decoupler
      - items:
          - const: xlnx,dfx-axi-shutdown-manager-1.00
          - const: xlnx,dfx-axi-shutdown-manager

  reg:
    maxItems: 1

  clocks:
    maxItems: 1

  clock-names:
    items:
      - const: aclk

required:
  - compatible
  - reg
  - clocks
  - clock-names

additionalProperties: false

examples:
  - |
    fpga-bridge@100000450 {
      compatible = "xlnx,pr-decoupler-1.00", "xlnx,pr-decoupler";
      reg = <0x10000045 0x10>;
      clocks = <&clkc 15>;
      clock-names = "aclk";
    };
...