Re: [PATCH v2] dt-bindings: fpga: xilinx-pr-decoupler: convert bindings to json-schema

From: Krzysztof Kozlowski
Date: Wed Feb 22 2023 - 04:24:28 EST


On 21/02/2023 12:50, Nava kishore Manne wrote:
> Convert xilinx-pr-decoupler bindings to DT schema format using json-schema
>
> Signed-off-by: Nava kishore Manne <nava.kishore.manne@xxxxxxx>
> ---
> Changes for v2:
> - Updated the description and addressed some minor comments
> as suggested by Krzysztof.
>
> .../bindings/fpga/xilinx-pr-decoupler.txt | 54 --------------
> .../bindings/fpga/xlnx,pr-decoupler.yaml | 71 +++++++++++++++++++
> 2 files changed, 71 insertions(+), 54 deletions(-)
> delete mode 100644 Documentation/devicetree/bindings/fpga/xilinx-pr-decoupler.txt
> create mode 100644 Documentation/devicetree/bindings/fpga/xlnx,pr-decoupler.yaml
>
> diff --git a/Documentation/devicetree/bindings/fpga/xilinx-pr-decoupler.txt b/Documentation/devicetree/bindings/fpga/xilinx-pr-decoupler.txt
> deleted file mode 100644
> index 0acdfa6d62a4..000000000000
> --- a/Documentation/devicetree/bindings/fpga/xilinx-pr-decoupler.txt
> +++ /dev/null
> @@ -1,54 +0,0 @@
> -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>;
> - };
> diff --git a/Documentation/devicetree/bindings/fpga/xlnx,pr-decoupler.yaml b/Documentation/devicetree/bindings/fpga/xlnx,pr-decoupler.yaml
> new file mode 100644
> index 000000000000..4a08d4bfa20d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/fpga/xlnx,pr-decoupler.yaml
> @@ -0,0 +1,71 @@
> +# 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@xxxxxxx>
> +
> +description: The Xilinx LogiCORE Partial Reconfig Decoupler manages one or more

Blank line before text... don't use your own style. Use style consistent
with the project.

> + 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 #For PR-Decoupler.

Drop the comment, it duplicates the compatible. There is no point in it.

> + - const: xlnx,pr-decoupler
> + - items:
> + - const: xlnx,dfx-axi-shutdown-manager-1.00 #For AXI shutdown manager.

Ditto

> + - const: xlnx,dfx-axi-shutdown-manager
> +
> + reg:
> + maxItems: 1
> +
> + clocks:
> + maxItems: 1
> +
> + clock-names:
> + items:
> + - const: aclk
> +
> + bridge-enable:
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [0, 1]
> + description:
> + Zero if driver should disable bridge at startup. One if driver should
> + enable bridge at startup. Default is to leave bridge in current state.

This property wasn't in original binding. Even though it is
fpga-bridge.txt, why do you need it? It's not used. Also, do not
describe driver but rather hardware.


Best regards,
Krzysztof