xref: /freebsd/sys/contrib/device-tree/Bindings/mtd/amlogic,meson-nand.yaml (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
17ef62cebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
27ef62cebSEmmanuel Vadot%YAML 1.2
37ef62cebSEmmanuel Vadot---
47ef62cebSEmmanuel Vadot$id: http://devicetree.org/schemas/mtd/amlogic,meson-nand.yaml#
57ef62cebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
67ef62cebSEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: Amlogic NAND Flash Controller (NFC) for GXBB/GXL/AXG family SoCs
87ef62cebSEmmanuel Vadot
97ef62cebSEmmanuel VadotallOf:
107ef62cebSEmmanuel Vadot  - $ref: nand-controller.yaml
117ef62cebSEmmanuel Vadot
127ef62cebSEmmanuel Vadotmaintainers:
137ef62cebSEmmanuel Vadot  - liang.yang@amlogic.com
147ef62cebSEmmanuel Vadot
157ef62cebSEmmanuel Vadotproperties:
167ef62cebSEmmanuel Vadot  compatible:
177ef62cebSEmmanuel Vadot    enum:
187ef62cebSEmmanuel Vadot      - amlogic,meson-gxl-nfc
197ef62cebSEmmanuel Vadot      - amlogic,meson-axg-nfc
207ef62cebSEmmanuel Vadot
217ef62cebSEmmanuel Vadot  reg:
227ef62cebSEmmanuel Vadot    maxItems: 2
237ef62cebSEmmanuel Vadot
247ef62cebSEmmanuel Vadot  reg-names:
257ef62cebSEmmanuel Vadot    items:
267ef62cebSEmmanuel Vadot      - const: nfc
277ef62cebSEmmanuel Vadot      - const: emmc
287ef62cebSEmmanuel Vadot
297ef62cebSEmmanuel Vadot  interrupts:
307ef62cebSEmmanuel Vadot    maxItems: 1
317ef62cebSEmmanuel Vadot
327ef62cebSEmmanuel Vadot  clocks:
337ef62cebSEmmanuel Vadot    minItems: 2
347ef62cebSEmmanuel Vadot
357ef62cebSEmmanuel Vadot  clock-names:
367ef62cebSEmmanuel Vadot    items:
377ef62cebSEmmanuel Vadot      - const: core
387ef62cebSEmmanuel Vadot      - const: device
397ef62cebSEmmanuel Vadot
407ef62cebSEmmanuel VadotpatternProperties:
417ef62cebSEmmanuel Vadot  "^nand@[0-7]$":
427ef62cebSEmmanuel Vadot    type: object
43*f126890aSEmmanuel Vadot    $ref: raw-nand-chip.yaml
447ef62cebSEmmanuel Vadot    properties:
457ef62cebSEmmanuel Vadot      reg:
467ef62cebSEmmanuel Vadot        minimum: 0
477ef62cebSEmmanuel Vadot        maximum: 1
487ef62cebSEmmanuel Vadot
497ef62cebSEmmanuel Vadot      nand-ecc-mode:
507ef62cebSEmmanuel Vadot        const: hw
517ef62cebSEmmanuel Vadot
527ef62cebSEmmanuel Vadot      nand-ecc-step-size:
537ef62cebSEmmanuel Vadot        const: 1024
547ef62cebSEmmanuel Vadot
557ef62cebSEmmanuel Vadot      nand-ecc-strength:
567ef62cebSEmmanuel Vadot        enum: [8, 16, 24, 30, 40, 50, 60]
577ef62cebSEmmanuel Vadot        description: |
587ef62cebSEmmanuel Vadot          The ECC configurations that can be supported are as follows.
597ef62cebSEmmanuel Vadot            meson-gxl-nfc 8, 16, 24, 30, 40, 50, 60
607ef62cebSEmmanuel Vadot            meson-axg-nfc 8
617ef62cebSEmmanuel Vadot
62*f126890aSEmmanuel Vadot      nand-rb:
63*f126890aSEmmanuel Vadot        maxItems: 1
64*f126890aSEmmanuel Vadot        items:
65*f126890aSEmmanuel Vadot          maximum: 0
66*f126890aSEmmanuel Vadot
67*f126890aSEmmanuel Vadot    unevaluatedProperties: false
68*f126890aSEmmanuel Vadot
69*f126890aSEmmanuel Vadot
707ef62cebSEmmanuel Vadotrequired:
717ef62cebSEmmanuel Vadot  - compatible
727ef62cebSEmmanuel Vadot  - reg
737ef62cebSEmmanuel Vadot  - interrupts
747ef62cebSEmmanuel Vadot  - clocks
757ef62cebSEmmanuel Vadot  - clock-names
767ef62cebSEmmanuel Vadot
777ef62cebSEmmanuel VadotunevaluatedProperties: false
787ef62cebSEmmanuel Vadot
797ef62cebSEmmanuel Vadotexamples:
807ef62cebSEmmanuel Vadot  - |
817ef62cebSEmmanuel Vadot    #include <dt-bindings/clock/axg-clkc.h>
827ef62cebSEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
837ef62cebSEmmanuel Vadot    nand-controller@ffe07800 {
847ef62cebSEmmanuel Vadot      compatible = "amlogic,meson-axg-nfc";
857ef62cebSEmmanuel Vadot      reg = <0xffe07800 0x100>, <0xffe07000 0x800>;
867ef62cebSEmmanuel Vadot      reg-names = "nfc", "emmc";
877ef62cebSEmmanuel Vadot      interrupts = <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>;
887ef62cebSEmmanuel Vadot      clocks = <&clkc CLKID_SD_EMMC_C>,  <&clkc CLKID_FCLK_DIV2>;
897ef62cebSEmmanuel Vadot      clock-names = "core", "device";
907ef62cebSEmmanuel Vadot
917ef62cebSEmmanuel Vadot      pinctrl-0 = <&nand_pins>;
927ef62cebSEmmanuel Vadot      pinctrl-names = "default";
937ef62cebSEmmanuel Vadot
947ef62cebSEmmanuel Vadot      #address-cells = <1>;
957ef62cebSEmmanuel Vadot      #size-cells = <0>;
967ef62cebSEmmanuel Vadot
977ef62cebSEmmanuel Vadot      nand@0 {
987ef62cebSEmmanuel Vadot        reg = <0>;
99*f126890aSEmmanuel Vadot        nand-rb = <0>;
1007ef62cebSEmmanuel Vadot      };
1017ef62cebSEmmanuel Vadot    };
1027ef62cebSEmmanuel Vadot
1037ef62cebSEmmanuel Vadot...
104