nand-ecc-mode is a generic property which may apply to any raw NAND chip, it does not need to be listed in each controller description. Instead, let's reference the raw NAND chip description file which contains the property. The description contained "additionalProperties: false" which is wrong as other properties such as partitions might very well be added in the final .dts, and anyway needs to be converted into "unexpectedProperties: false" to fit the property change new requirements. Cc: Maxime Ripard <mripard@kernel.org> Cc: Chen-Yu Tsai <wens@csie.org> Cc: Jernej Skrabec <jernej.skrabec@gmail.com> Cc: Samuel Holland <samuel@sholland.org> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Reviewed-by: Rob Herring <robh@kernel.org> Link: https://lore.kernel.org/linux-mtd/20230619092916.3028470-9-miquel.raynal@bootlin.com
112 lines
2.2 KiB
YAML
112 lines
2.2 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/mtd/allwinner,sun4i-a10-nand.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Allwinner A10 NAND Controller
|
|
|
|
allOf:
|
|
- $ref: nand-controller.yaml
|
|
|
|
maintainers:
|
|
- Chen-Yu Tsai <wens@csie.org>
|
|
- Maxime Ripard <mripard@kernel.org>
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- allwinner,sun4i-a10-nand
|
|
- allwinner,sun8i-a23-nand-controller
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
items:
|
|
- description: Bus Clock
|
|
- description: Module Clock
|
|
|
|
clock-names:
|
|
items:
|
|
- const: ahb
|
|
- const: mod
|
|
|
|
resets:
|
|
maxItems: 1
|
|
|
|
reset-names:
|
|
const: ahb
|
|
|
|
dmas:
|
|
maxItems: 1
|
|
|
|
dma-names:
|
|
const: rxtx
|
|
|
|
patternProperties:
|
|
"^nand@[a-f0-9]$":
|
|
type: object
|
|
$ref: raw-nand-chip.yaml
|
|
properties:
|
|
reg:
|
|
minimum: 0
|
|
maximum: 7
|
|
|
|
nand-ecc-algo:
|
|
const: bch
|
|
|
|
nand-ecc-step-size:
|
|
enum: [ 512, 1024 ]
|
|
|
|
nand-ecc-strength:
|
|
maximum: 80
|
|
|
|
allwinner,rb:
|
|
description:
|
|
Contains the native Ready/Busy IDs.
|
|
$ref: /schemas/types.yaml#/definitions/uint32-array
|
|
minItems: 1
|
|
maxItems: 2
|
|
items:
|
|
minimum: 0
|
|
maximum: 1
|
|
|
|
unevaluatedProperties: false
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- clocks
|
|
- clock-names
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
#include <dt-bindings/clock/sun6i-rtc.h>
|
|
#include <dt-bindings/clock/sun8i-a23-a33-ccu.h>
|
|
#include <dt-bindings/reset/sun8i-a23-a33-ccu.h>
|
|
|
|
nand-controller@1c03000 {
|
|
compatible = "allwinner,sun8i-a23-nand-controller";
|
|
reg = <0x01c03000 0x1000>;
|
|
interrupts = <GIC_SPI 70 IRQ_TYPE_LEVEL_HIGH>;
|
|
clocks = <&ccu CLK_BUS_NAND>, <&ccu CLK_NAND>;
|
|
clock-names = "ahb", "mod";
|
|
resets = <&ccu RST_BUS_NAND>;
|
|
reset-names = "ahb";
|
|
dmas = <&dma 5>;
|
|
dma-names = "rxtx";
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&nand_pins &nand_cs0_pin &nand_rb0_pin>;
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
};
|
|
|
|
...
|