18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/mtd/st,stm32-fmc2-nand.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: STMicroelectronics Flexible Memory Controller 2 (FMC2) Bindings
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Christophe Kerello <christophe.kerello@st.com>
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciproperties:
138c2ecf20Sopenharmony_ci  compatible:
148c2ecf20Sopenharmony_ci    enum:
158c2ecf20Sopenharmony_ci      - st,stm32mp15-fmc2
168c2ecf20Sopenharmony_ci      - st,stm32mp1-fmc2-nfc
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci  reg:
198c2ecf20Sopenharmony_ci    minItems: 6
208c2ecf20Sopenharmony_ci    maxItems: 7
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ci  interrupts:
238c2ecf20Sopenharmony_ci    maxItems: 1
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci  dmas:
268c2ecf20Sopenharmony_ci    items:
278c2ecf20Sopenharmony_ci      - description: tx DMA channel
288c2ecf20Sopenharmony_ci      - description: rx DMA channel
298c2ecf20Sopenharmony_ci      - description: ecc DMA channel
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci  dma-names:
328c2ecf20Sopenharmony_ci    items:
338c2ecf20Sopenharmony_ci      - const: tx
348c2ecf20Sopenharmony_ci      - const: rx
358c2ecf20Sopenharmony_ci      - const: ecc
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_cipatternProperties:
388c2ecf20Sopenharmony_ci  "^nand@[a-f0-9]$":
398c2ecf20Sopenharmony_ci    type: object
408c2ecf20Sopenharmony_ci    properties:
418c2ecf20Sopenharmony_ci      nand-ecc-step-size:
428c2ecf20Sopenharmony_ci        const: 512
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci      nand-ecc-strength:
458c2ecf20Sopenharmony_ci        enum: [1, 4, 8]
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ciallOf:
488c2ecf20Sopenharmony_ci  - $ref: "nand-controller.yaml#"
498c2ecf20Sopenharmony_ci
508c2ecf20Sopenharmony_ci  - if:
518c2ecf20Sopenharmony_ci      properties:
528c2ecf20Sopenharmony_ci        compatible:
538c2ecf20Sopenharmony_ci          contains:
548c2ecf20Sopenharmony_ci            const: st,stm32mp15-fmc2
558c2ecf20Sopenharmony_ci    then:
568c2ecf20Sopenharmony_ci      properties:
578c2ecf20Sopenharmony_ci        reg:
588c2ecf20Sopenharmony_ci          items:
598c2ecf20Sopenharmony_ci            - description: Registers
608c2ecf20Sopenharmony_ci            - description: Chip select 0 data
618c2ecf20Sopenharmony_ci            - description: Chip select 0 command
628c2ecf20Sopenharmony_ci            - description: Chip select 0 address space
638c2ecf20Sopenharmony_ci            - description: Chip select 1 data
648c2ecf20Sopenharmony_ci            - description: Chip select 1 command
658c2ecf20Sopenharmony_ci            - description: Chip select 1 address space
668c2ecf20Sopenharmony_ci
678c2ecf20Sopenharmony_ci        clocks:
688c2ecf20Sopenharmony_ci          maxItems: 1
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci        resets:
718c2ecf20Sopenharmony_ci          maxItems: 1
728c2ecf20Sopenharmony_ci
738c2ecf20Sopenharmony_ci      required:
748c2ecf20Sopenharmony_ci        - clocks
758c2ecf20Sopenharmony_ci
768c2ecf20Sopenharmony_ci  - if:
778c2ecf20Sopenharmony_ci      properties:
788c2ecf20Sopenharmony_ci        compatible:
798c2ecf20Sopenharmony_ci          contains:
808c2ecf20Sopenharmony_ci            const: st,stm32mp1-fmc2-nfc
818c2ecf20Sopenharmony_ci    then:
828c2ecf20Sopenharmony_ci      properties:
838c2ecf20Sopenharmony_ci        reg:
848c2ecf20Sopenharmony_ci          items:
858c2ecf20Sopenharmony_ci            - description: Chip select 0 data
868c2ecf20Sopenharmony_ci            - description: Chip select 0 command
878c2ecf20Sopenharmony_ci            - description: Chip select 0 address space
888c2ecf20Sopenharmony_ci            - description: Chip select 1 data
898c2ecf20Sopenharmony_ci            - description: Chip select 1 command
908c2ecf20Sopenharmony_ci            - description: Chip select 1 address space
918c2ecf20Sopenharmony_ci
928c2ecf20Sopenharmony_cirequired:
938c2ecf20Sopenharmony_ci  - compatible
948c2ecf20Sopenharmony_ci  - reg
958c2ecf20Sopenharmony_ci  - interrupts
968c2ecf20Sopenharmony_ci
978c2ecf20Sopenharmony_ciunevaluatedProperties: false
988c2ecf20Sopenharmony_ci
998c2ecf20Sopenharmony_ciexamples:
1008c2ecf20Sopenharmony_ci  - |
1018c2ecf20Sopenharmony_ci    #include <dt-bindings/interrupt-controller/arm-gic.h>
1028c2ecf20Sopenharmony_ci    #include <dt-bindings/clock/stm32mp1-clks.h>
1038c2ecf20Sopenharmony_ci    #include <dt-bindings/reset/stm32mp1-resets.h>
1048c2ecf20Sopenharmony_ci    nand-controller@58002000 {
1058c2ecf20Sopenharmony_ci      compatible = "st,stm32mp15-fmc2";
1068c2ecf20Sopenharmony_ci      reg = <0x58002000 0x1000>,
1078c2ecf20Sopenharmony_ci            <0x80000000 0x1000>,
1088c2ecf20Sopenharmony_ci            <0x88010000 0x1000>,
1098c2ecf20Sopenharmony_ci            <0x88020000 0x1000>,
1108c2ecf20Sopenharmony_ci            <0x81000000 0x1000>,
1118c2ecf20Sopenharmony_ci            <0x89010000 0x1000>,
1128c2ecf20Sopenharmony_ci            <0x89020000 0x1000>;
1138c2ecf20Sopenharmony_ci      interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
1148c2ecf20Sopenharmony_ci      dmas = <&mdma1 20 0x2 0x12000a02 0x0 0x0>,
1158c2ecf20Sopenharmony_ci             <&mdma1 20 0x2 0x12000a08 0x0 0x0>,
1168c2ecf20Sopenharmony_ci             <&mdma1 21 0x2 0x12000a0a 0x0 0x0>;
1178c2ecf20Sopenharmony_ci      dma-names = "tx", "rx", "ecc";
1188c2ecf20Sopenharmony_ci      clocks = <&rcc FMC_K>;
1198c2ecf20Sopenharmony_ci      resets = <&rcc FMC_R>;
1208c2ecf20Sopenharmony_ci      #address-cells = <1>;
1218c2ecf20Sopenharmony_ci      #size-cells = <0>;
1228c2ecf20Sopenharmony_ci
1238c2ecf20Sopenharmony_ci      nand@0 {
1248c2ecf20Sopenharmony_ci        reg = <0>;
1258c2ecf20Sopenharmony_ci        nand-on-flash-bbt;
1268c2ecf20Sopenharmony_ci        #address-cells = <1>;
1278c2ecf20Sopenharmony_ci        #size-cells = <1>;
1288c2ecf20Sopenharmony_ci      };
1298c2ecf20Sopenharmony_ci    };
1308c2ecf20Sopenharmony_ci
1318c2ecf20Sopenharmony_ci...
132