# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/mtd/denali,nand.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Denali NAND controller

maintainers:
  - Masahiro Yamada <yamada.masahiro@socionext.com>

properties:
  compatible:
    enum:
      - altr,socfpga-denali-nand
      - socionext,uniphier-denali-nand-v5a
      - socionext,uniphier-denali-nand-v5b

  reg-names:
    description: |
      There are two register regions:
        nand_data:  host data/command interface
        denali_reg: register interface
    items:
      - const: nand_data
      - const: denali_reg

  reg:
    minItems: 2
    maxItems: 2

  interrupts:
    maxItems: 1

  clock-names:
    description: |
      There are three clocks:
        nand:   controller core clock
        nand_x: bus interface clock
        ecc:    ECC circuit clock
    items:
      - const: nand
      - const: nand_x
      - const: ecc

  clocks:
    minItems: 3
    maxItems: 3

  reset-names:
    description: |
      There are two optional resets:
        nand: controller core reset
        reg:  register reset
    oneOf:
      - items:
          - const: nand
          - const: reg
      - const: nand
      - const: reg

  resets:
    minItems: 1
    maxItems: 2

allOf:
  - $ref: nand-controller.yaml

  - if:
      properties:
        compatible:
          contains:
            const: altr,socfpga-denali-nand
    then:
      patternProperties:
        "^nand@[a-f0-9]$":
          type: object
          properties:
            nand-ecc-strength:
              enum:
                - 8
                - 15
            nand-ecc-step-size:
              enum:
                - 512

  - if:
      properties:
        compatible:
          contains:
            const: socionext,uniphier-denali-nand-v5a
    then:
      patternProperties:
        "^nand@[a-f0-9]$":
          type: object
          properties:
            nand-ecc-strength:
              enum:
                - 8
                - 16
                - 24
            nand-ecc-step-size:
              enum:
                - 1024

  - if:
      properties:
        compatible:
          contains:
            const: socionext,uniphier-denali-nand-v5b
    then:
      patternProperties:
        "^nand@[a-f0-9]$":
          type: object
          properties:
            nand-ecc-strength:
              enum:
                - 8
                - 16
            nand-ecc-step-size:
              enum:
                - 1024

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

unevaluatedProperties: false

examples:
  - |
    nand-controller@ff900000 {
        compatible = "altr,socfpga-denali-nand";
        reg-names = "nand_data", "denali_reg";
        reg = <0xff900000 0x20>, <0xffb80000 0x1000>;
        interrupts = <0 144 4>;
        clock-names = "nand", "nand_x", "ecc";
        clocks = <&nand_clk>, <&nand_x_clk>, <&nand_ecc_clk>;
        reset-names = "nand", "reg";
        resets = <&nand_rst>, <&nand_reg_rst>;
        #address-cells = <1>;
        #size-cells = <0>;

        nand@0 {
                reg = <0>;
        };
    };
