# 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) 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 $ref: raw-nand-chip.yaml properties: nand-ecc-step-size: const: 512 nand-ecc-strength: enum: [1, 4, 8] unevaluatedProperties: false 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>; }; }; ...