mirror of
https://gitee.com/open-loongarch/linux-6.12.git
synced 2026-10-25 12:37:11 +08:00
dt-bindings: mtd: loongson,ls1b-nand-controller: Document the Loongson-2K0500 NAND controller
Add new compatible for the Loongson-2K NAND controller used for Loongson-2K0500 SoC. Acked-by: Rob Herring (Arm) <robh@kernel.org> Signed-off-by: Binbin Zhou <zhoubinbin@loongson.cn> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Signed-off-by: maoxiaochuan <maoxiaochuan@loongson.cn>
This commit is contained in:
@@ -0,0 +1,122 @@
|
||||
# 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>;
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user