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

title: Ingenic SoCs NAND controller devicetree bindings

maintainers:
  - Paul Cercueil <paul@crapouillou.net>

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

properties:
  compatible:
    enum:
      - ingenic,jz4740-nand
      - ingenic,jz4725b-nand
      - ingenic,jz4780-nand

  reg:
    items:
      - description: Bank number, offset and size of first attached NAND chip
      - description: Bank number, offset and size of second attached NAND chip
      - description: Bank number, offset and size of third attached NAND chip
      - description: Bank number, offset and size of fourth attached NAND chip
    minItems: 1

  ecc-engine: true

  partitions:
    type: object
    description:
      Node containing description of fixed partitions.
      See Documentation/devicetree/bindings/mtd/partition.txt

patternProperties:
  "^nand@[a-f0-9]$":
    type: object
    properties:
      rb-gpios:
        description: GPIO specifier for the busy pin.
        maxItems: 1

      wp-gpios:
        description: GPIO specifier for the write-protect pin.
        maxItems: 1

required:
  - compatible
  - reg

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/clock/jz4780-cgu.h>
    memory-controller@13410000 {
      compatible = "ingenic,jz4780-nemc";
      reg = <0x13410000 0x10000>;
      #address-cells = <2>;
      #size-cells = <1>;
      ranges = <1 0 0x1b000000 0x1000000>,
         <2 0 0x1a000000 0x1000000>,
         <3 0 0x19000000 0x1000000>,
         <4 0 0x18000000 0x1000000>,
         <5 0 0x17000000 0x1000000>,
         <6 0 0x16000000 0x1000000>;

      clocks = <&cgu JZ4780_CLK_NEMC>;

      nand-controller@1 {
        compatible = "ingenic,jz4780-nand";
        reg = <1 0 0x1000000>;

        #address-cells = <1>;
        #size-cells = <0>;

        ecc-engine = <&bch>;

        ingenic,nemc-tAS = <10>;
        ingenic,nemc-tAH = <5>;
        ingenic,nemc-tBP = <10>;
        ingenic,nemc-tAW = <15>;
        ingenic,nemc-tSTRV = <100>;

        pinctrl-names = "default";
        pinctrl-0 = <&pins_nemc>;

        nand@1 {
          reg = <1>;

          nand-ecc-step-size = <1024>;
          nand-ecc-strength = <24>;
          nand-ecc-mode = "hw";
          nand-on-flash-bbt;

          pinctrl-names = "default";
          pinctrl-0 = <&pins_nemc_cs1>;

          partitions {
            compatible = "fixed-partitions";
            #address-cells = <2>;
            #size-cells = <2>;

            partition@0 {
              label = "u-boot-spl";
              reg = <0x0 0x0 0x0 0x800000>;
            };

            partition@800000 {
              label = "u-boot";
              reg = <0x0 0x800000 0x0 0x200000>;
            };

            partition@a00000 {
              label = "u-boot-env";
              reg = <0x0 0xa00000 0x0 0x200000>;
            };

            partition@c00000 {
              label = "boot";
              reg = <0x0 0xc00000 0x0 0x4000000>;
            };

            partition@4c00000 {
              label = "system";
              reg = <0x0 0x4c00000 0x1 0xfb400000>;
            };
          };
        };
      };
    };
