14374Slars# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
24374Slars%YAML 1.2
34374Slars---
44374Slars$id: http://devicetree.org/schemas/mtd/st,stm32-fmc2-nand.yaml#
511990Speter$schema: http://devicetree.org/meta-schemas/core.yaml#
611990Speter
711990Spetertitle: STMicroelectronics Flexible Memory Controller 2 (FMC2)
811990Speter
911990Spetermaintainers:
1011990Speter  - Christophe Kerello <christophe.kerello@foss.st.com>
1111990Speter
1211990Speterproperties:
1311990Speter  compatible:
144374Slars    enum:
154374Slars      - st,stm32mp15-fmc2
164374Slars      - st,stm32mp1-fmc2-nfc
174374Slars      - st,stm32mp25-fmc2-nfc
184374Slars
194374Slars  reg:
204374Slars    minItems: 6
2111990Speter    maxItems: 12
2211990Speter
2311990Speter  interrupts:
244374Slars    maxItems: 1
254374Slars
264374Slars  dmas:
274374Slars    items:
284374Slars      - description: tx DMA channel
294374Slars      - description: rx DMA channel
304374Slars      - description: ecc DMA channel
3111990Speter
324374Slars  dma-names:
334374Slars    items:
3411990Speter      - const: tx
354374Slars      - const: rx
364374Slars      - const: ecc
3711990Speter
384374SlarspatternProperties:
394374Slars  "^nand@[a-f0-9]$":
404374Slars    type: object
414374Slars    $ref: raw-nand-chip.yaml
424374Slars    properties:
434374Slars      nand-ecc-step-size:
444374Slars        const: 512
454374Slars
464374Slars      nand-ecc-strength:
474374Slars        enum: [1, 4, 8]
484374Slars
494374Slars    unevaluatedProperties: false
504374Slars
514374SlarsallOf:
524374Slars  - $ref: nand-controller.yaml#
534374Slars
544374Slars  - if:
554374Slars      properties:
564374Slars        compatible:
574374Slars          contains:
584374Slars            const: st,stm32mp15-fmc2
594374Slars    then:
604374Slars      properties:
614374Slars        reg:
624374Slars          items:
634374Slars            - description: Registers
644374Slars            - description: Chip select 0 data
654374Slars            - description: Chip select 0 command
664374Slars            - description: Chip select 0 address space
674374Slars            - description: Chip select 1 data
684374Slars            - description: Chip select 1 command
694374Slars            - description: Chip select 1 address space
704374Slars
714374Slars        clocks:
724374Slars          maxItems: 1
7311990Speter
7411990Speter        resets:
7511990Speter          maxItems: 1
7611990Speter
774374Slars      required:
784374Slars        - clocks
794374Slars
804374Slars  - if:
814374Slars      properties:
824374Slars        compatible:
834374Slars          contains:
844374Slars            const: st,stm32mp1-fmc2-nfc
854374Slars    then:
864374Slars      properties:
874374Slars        reg:
884374Slars          items:
894374Slars            - description: Chip select 0 data
904374Slars            - description: Chip select 0 command
914374Slars            - description: Chip select 0 address space
9211990Speter            - description: Chip select 1 data
934374Slars            - description: Chip select 1 command
944374Slars            - description: Chip select 1 address space
9511990Speter
9611990Speter  - if:
9711990Speter      properties:
9811990Speter        compatible:
9911990Speter          contains:
10011990Speter            const: st,stm32mp25-fmc2-nfc
10111990Speter    then:
10211990Speter      properties:
1034374Slars        reg:
1044374Slars          items:
10511990Speter            - description: Chip select 0 data
1064374Slars            - description: Chip select 0 command
10711990Speter            - description: Chip select 0 address space
10811990Speter            - description: Chip select 1 data
10911990Speter            - description: Chip select 1 command
1104374Slars            - description: Chip select 1 address space
1114374Slars            - description: Chip select 2 data
11211990Speter            - description: Chip select 2 command
1134374Slars            - description: Chip select 2 address space
11411990Speter            - description: Chip select 3 data
11511990Speter            - description: Chip select 3 command
11611990Speter            - description: Chip select 3 address space
1174374Slars
1184374Slarsrequired:
1194374Slars  - compatible
1204374Slars  - reg
1214374Slars  - interrupts
1224374Slars
1234374SlarsunevaluatedProperties: false
12411990Speter
12511990Speterexamples:
12611990Speter  - |
12711990Speter    #include <dt-bindings/interrupt-controller/arm-gic.h>
1284374Slars    #include <dt-bindings/clock/stm32mp1-clks.h>
1294374Slars    #include <dt-bindings/reset/stm32mp1-resets.h>
1304374Slars
1314374Slars    nand-controller@58002000 {
1324374Slars        compatible = "st,stm32mp15-fmc2";
1334374Slars        reg = <0x58002000 0x1000>,
1344374Slars              <0x80000000 0x1000>,
1354374Slars              <0x88010000 0x1000>,
1364374Slars              <0x88020000 0x1000>,
1374374Slars              <0x81000000 0x1000>,
1384374Slars              <0x89010000 0x1000>,
1394374Slars              <0x89020000 0x1000>;
1404374Slars        interrupts = <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>;
1414374Slars        dmas = <&mdma1 20 0x2 0x12000a02 0x0 0x0>,
1424374Slars               <&mdma1 20 0x2 0x12000a08 0x0 0x0>,
1434374Slars               <&mdma1 21 0x2 0x12000a0a 0x0 0x0>;
1444374Slars        dma-names = "tx", "rx", "ecc";
1454374Slars        clocks = <&rcc FMC_K>;
1464374Slars        resets = <&rcc FMC_R>;
1474374Slars        #address-cells = <1>;
14811990Speter        #size-cells = <0>;
1494374Slars
1504374Slars        nand@0 {
15111990Speter            reg = <0>;
1524374Slars            nand-on-flash-bbt;
1534374Slars            #address-cells = <1>;
1544374Slars            #size-cells = <1>;
1554374Slars        };
1564374Slars    };
1574374Slars
1584374Slars...
1594374Slars