# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/misc/xlnx,sd-fec.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Xilinx SDFEC(16nm) IP

maintainers:
  - Cvetic, Dragan <dragan.cvetic@amd.com>
  - Erim, Salih <salih.erim@amd.com>

description:
  The Soft Decision Forward Error Correction (SDFEC) Engine is a Hard IP block
  which provides high-throughput LDPC and Turbo Code implementations.
  The LDPC decode & encode functionality is capable of covering a range of
  customer specified Quasi-cyclic (QC) codes. The Turbo decode functionality
  principally covers codes used by LTE. The FEC Engine offers significant
  power and area savings versus implementations done in the FPGA fabric.

properties:
  compatible:
    const: xlnx,sd-fec-1.1

  reg:
    maxItems: 1

  clocks:
    minItems: 2
    maxItems: 8
    additionalItems: true
    items:
      - description: Main processing clock for processing core
      - description: AXI4-Lite memory-mapped slave interface clock
      - description: Control input AXI4-Stream Slave interface clock
      - description: DIN AXI4-Stream Slave interface clock
      - description: Status output AXI4-Stream Master interface clock
      - description: DOUT AXI4-Stream Master interface clock
      - description: DIN_WORDS AXI4-Stream Slave interface clock
      - description: DOUT_WORDS AXI4-Stream Master interface clock

  clock-names:
    allOf:
      - minItems: 2
        maxItems: 8
        additionalItems: true
        items:
          - const: core_clk
          - const: s_axi_aclk
      - items:
          enum:
            - core_clk
            - s_axi_aclk
            - s_axis_ctrl_aclk
            - s_axis_din_aclk
            - m_axis_status_aclk
            - m_axis_dout_aclk
            - s_axis_din_words_aclk
            - m_axis_dout_words_aclk

  interrupts:
    maxItems: 1

  xlnx,sdfec-code:
    description:
      The SD-FEC integrated block supports Low Density Parity Check (LDPC)
      decoding and encoding and Turbo code decoding. The LDPC codes used are
      highly configurable, and the specific code used can be specified on
      a codeword-by-codeword basis. The Turbo code decoding is required by LTE
      standard.
    $ref: /schemas/types.yaml#/definitions/string
    items:
      enum: [ ldpc, turbo ]

  xlnx,sdfec-din-width:
    description:
      Configures the DIN AXI stream where a value of 1
      configures a width of "1x128b", 2 a width of "2x128b" and 4 configures a width
      of "4x128b".
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [ 1, 2, 4 ]

  xlnx,sdfec-din-words:
    description:
      A value 0 indicates that the DIN_WORDS interface is
      driven with a fixed value and is not present on the device, a value of 1
      configures the DIN_WORDS to be block based, while a value of 2 configures the
      DIN_WORDS input to be supplied for each AXI transaction.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [ 0, 1, 2 ]

  xlnx,sdfec-dout-width:
    description:
      Configures the DOUT AXI stream where a value of 1 configures a width of "1x128b",
      2 a width of "2x128b" and 4 configures a width of "4x128b".
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [ 1, 2, 4 ]

  xlnx,sdfec-dout-words:
    description:
      A value 0 indicates that the DOUT_WORDS interface is
      driven with a fixed value and is not present on the device, a value of 1
      configures the DOUT_WORDS to be block based, while a value of 2 configures the
      DOUT_WORDS input to be supplied for each AXI transaction.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [ 0, 1, 2 ]

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - xlnx,sdfec-code
  - xlnx,sdfec-din-width
  - xlnx,sdfec-din-words
  - xlnx,sdfec-dout-width
  - xlnx,sdfec-dout-words

additionalProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>

    sd-fec@a0040000 {
        compatible = "xlnx,sd-fec-1.1";
        reg = <0xa0040000 0x40000>;
        clocks = <&misc_clk_2>, <&misc_clk_0>, <&misc_clk_1>, <&misc_clk_1>,
                 <&misc_clk_1>, <&misc_clk_1>;
        clock-names = "core_clk", "s_axi_aclk", "s_axis_ctrl_aclk",
                      "s_axis_din_aclk", "m_axis_status_aclk",
                      "m_axis_dout_aclk";
        interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
        xlnx,sdfec-code = "ldpc";
        xlnx,sdfec-din-width = <2>;
        xlnx,sdfec-din-words = <0>;
        xlnx,sdfec-dout-width = <1>;
        xlnx,sdfec-dout-words = <0>;
    };

