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

title: STMicroelectronics Flexible Memory Controller 2 (FMC2) Bindings

maintainers:
  - Christophe Kerello <christophe.kerello@foss.st.com>

properties:
  compatible:
    enum:
      - st,stm32mp15-fmc2
      - st,stm32mp1-fmc2-nfc

  reg:
    minItems: 6
    maxItems: 7

  interrupts:
    maxItems: 1

  dmas:
    items:
      - description: tx DMA channel
      - description: rx DMA channel
      - description: ecc DMA channel

  dma-names:
    items:
      - const: tx
      - const: rx
      - const: ecc

patternProperties:
  "^nand@[a-f0-9]$":
    type: object
    properties:
      nand-ecc-step-size:
        const: 512

      nand-ecc-strength:
        enum: [1, 4, 8]

allOf:
  - $ref: "nand-controller.yaml#"

  - if:
      properties:
        compatible:
          contains:
            const: st,stm32mp15-fmc2
    then:
      properties:
        reg:
          items:
            - description: Registers
            - description: Chip select 0 data
            - description: Chip select 0 command
            - description: Chip select 0 address space
            - description: Chip select 1 data
            - description: Chip select 1 command
            - description: Chip select 1 address space

        clocks:
          maxItems: 1

        resets:
          maxItems: 1

      required:
        - clocks

  - if:
      properties:
        compatible:
          contains:
            const: st,stm32mp1-fmc2-nfc
    then:
      properties:
        reg:
          items:
            - description: Chip select 0 data
            - description: Chip select 0 command
            - description: Chip select 0 address space
            - description: Chip select 1 data
            - description: Chip select 1 command
            - description: Chip select 1 address space

required:
  - compatible
  - reg
  - interrupts

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/stm32mp1-clks.h>
    #include <dt-bindings/reset/stm32mp1-resets.h>
    nand-controller@58002000 {
      compatible = "st,stm32mp15-fmc2";
      reg = <0x58002000 0x1000>,
            <0x80000000 0x1000>,
            <0x88010000 0x1000>,
            <0x88020000 0x1000>,
            <0x81000000 0x1000>,
            <0x89010000 0x1000>,
            <0x89020000 0x1000>;
      interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
      dmas = <&mdma1 20 0x2 0x12000a02 0x0 0x0>,
             <&mdma1 20 0x2 0x12000a08 0x0 0x0>,
             <&mdma1 21 0x2 0x12000a0a 0x0 0x0>;
      dma-names = "tx", "rx", "ecc";
      clocks = <&rcc FMC_K>;
      resets = <&rcc FMC_R>;
      #address-cells = <1>;
      #size-cells = <0>;

      nand@0 {
        reg = <0>;
        nand-on-flash-bbt;
        #address-cells = <1>;
        #size-cells = <1>;
      };
    };

...
