# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/mtd/qcom,nandc.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: Qualcomm NAND controller maintainers: - Manivannan Sadhasivam properties: compatible: enum: - qcom,ipq806x-nand - qcom,ipq4019-nand - qcom,ipq6018-nand - qcom,ipq8074-nand - qcom,sdx55-nand reg: maxItems: 1 clocks: items: - description: Core Clock - description: Always ON Clock clock-names: items: - const: core - const: aon "#address-cells": true "#size-cells": true patternProperties: "^nand@[a-f0-9]$": type: object properties: nand-bus-width: const: 8 nand-ecc-strength: enum: [1, 4, 8] nand-ecc-step-size: enum: - 512 allOf: - $ref: "nand-controller.yaml#" - if: properties: compatible: contains: const: qcom,ipq806x-nand then: properties: dmas: items: - description: rxtx DMA channel dma-names: items: - const: rxtx qcom,cmd-crci: $ref: /schemas/types.yaml#/definitions/uint32 description: Must contain the ADM command type CRCI block instance number specified for the NAND controller on the given platform qcom,data-crci: $ref: /schemas/types.yaml#/definitions/uint32 description: Must contain the ADM data type CRCI block instance number specified for the NAND controller on the given platform - if: properties: compatible: contains: enum: - qcom,ipq4019-nand - qcom,ipq6018-nand - qcom,ipq8074-nand - qcom,sdx55-nand then: properties: dmas: items: - description: tx DMA channel - description: rx DMA channel - description: cmd DMA channel dma-names: items: - const: tx - const: rx - const: cmd required: - compatible - reg - clocks - clock-names unevaluatedProperties: false examples: - | #include nand-controller@1ac00000 { compatible = "qcom,ipq806x-nand"; reg = <0x1ac00000 0x800>; clocks = <&gcc EBI2_CLK>, <&gcc EBI2_AON_CLK>; clock-names = "core", "aon"; dmas = <&adm_dma 3>; dma-names = "rxtx"; qcom,cmd-crci = <15>; qcom,data-crci = <3>; #address-cells = <1>; #size-cells = <0>; nand@0 { reg = <0>; nand-ecc-strength = <4>; nand-bus-width = <8>; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition@0 { label = "boot-nand"; reg = <0 0x58a0000>; }; partition@58a0000 { label = "fs-nand"; reg = <0x58a0000 0x4000000>; }; }; }; }; #include nand-controller@79b0000 { compatible = "qcom,ipq4019-nand"; reg = <0x79b0000 0x1000>; clocks = <&gcc GCC_QPIC_CLK>, <&gcc GCC_QPIC_AHB_CLK>; clock-names = "core", "aon"; dmas = <&qpicbam 0>, <&qpicbam 1>, <&qpicbam 2>; dma-names = "tx", "rx", "cmd"; #address-cells = <1>; #size-cells = <0>; nand@0 { reg = <0>; nand-ecc-strength = <4>; nand-bus-width = <8>; partitions { compatible = "fixed-partitions"; #address-cells = <1>; #size-cells = <1>; partition@0 { label = "boot-nand"; reg = <0 0x58a0000>; }; partition@58a0000 { label = "fs-nand"; reg = <0x58a0000 0x4000000>; }; }; }; }; ...