| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/mtd/loongson,ls1b-nand-controller.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Loongson NAND Controller |
| |
| maintainers: |
| - Keguang Zhang <keguang.zhang@gmail.com> |
| - Binbin Zhou <zhoubinbin@loongson.cn> |
| |
| description: |
| The Loongson NAND controller abstracts all supported operations, |
| meaning it does not support low-level access to raw NAND flash chips. |
| Moreover, the controller is paired with the DMA engine to perform |
| READ and PROGRAM functions. |
| |
| allOf: |
| - $ref: nand-controller.yaml |
| |
| properties: |
| compatible: |
| oneOf: |
| - enum: |
| - loongson,ls1b-nand-controller |
| - loongson,ls1c-nand-controller |
| - loongson,ls2k0500-nand-controller |
| - loongson,ls2k1000-nand-controller |
| - items: |
| - enum: |
| - loongson,ls1a-nand-controller |
| - const: loongson,ls1b-nand-controller |
| |
| reg: |
| minItems: 2 |
| maxItems: 3 |
| |
| reg-names: |
| minItems: 2 |
| items: |
| - const: nand |
| - const: nand-dma |
| - const: dma-config |
| |
| dmas: |
| maxItems: 1 |
| |
| dma-names: |
| const: rxtx |
| |
| required: |
| - compatible |
| - reg |
| - reg-names |
| - dmas |
| - dma-names |
| |
| unevaluatedProperties: false |
| |
| if: |
| properties: |
| compatible: |
| contains: |
| enum: |
| - loongson,ls2k1000-nand-controller |
| |
| then: |
| properties: |
| reg: |
| minItems: 3 |
| reg-names: |
| minItems: 3 |
| |
| else: |
| properties: |
| reg: |
| maxItems: 2 |
| reg-names: |
| maxItems: 2 |
| |
| examples: |
| - | |
| nand-controller@1fe78000 { |
| compatible = "loongson,ls1b-nand-controller"; |
| reg = <0x1fe78000 0x24>, <0x1fe78040 0x4>; |
| reg-names = "nand", "nand-dma"; |
| dmas = <&dma 0>; |
| dma-names = "rxtx"; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| nand@0 { |
| reg = <0>; |
| label = "ls1x-nand"; |
| nand-use-soft-ecc-engine; |
| nand-ecc-algo = "hamming"; |
| }; |
| }; |
| |
| - | |
| nand-controller@1fe26000 { |
| compatible = "loongson,ls2k1000-nand-controller"; |
| reg = <0x1fe26000 0x24>, |
| <0x1fe26040 0x4>, |
| <0x1fe00438 0x8>; |
| reg-names = "nand", "nand-dma", "dma-config"; |
| dmas = <&apbdma0 0>; |
| dma-names = "rxtx"; |
| |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| nand@0 { |
| reg = <0>; |
| label = "ls2k1000-nand"; |
| nand-use-soft-ecc-engine; |
| nand-ecc-algo = "bch"; |
| nand-ecc-strength = <8>; |
| nand-ecc-step-size = <512>; |
| }; |
| }; |