6fdc6e23a7
This doesn't yet do anything in the tools, but make it explicit so we can check either 'unevaluatedProperties' or 'additionalProperties' is present in schemas. 'unevaluatedProperties' is appropriate when including another schema (via '$ref') and all possible properties and/or child nodes are not explicitly listed in the schema with the '$ref'. This is in preparation to add a meta-schema to check for missing 'unevaluatedProperties' or 'additionalProperties'. This has been a constant source of review issues. Acked-by: Mark Brown <broonie@kernel.org> Acked-by: Wolfram Sang <wsa@kernel.org> Acked-by: Krzysztof Kozlowski <krzk@kernel.org> Acked-By: Vinod Koul <vkoul@kernel.org> Acked-by: Geert Uytterhoeven <geert+renesas@glider.be> Acked-by: Ulf Hansson <ulf.hansson@linaro.org> Acked-by: Guenter Roeck <linux@roeck-us.net> Acked-by: Mathieu Poirier <mathieu.poirier@linaro.org> Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com> Link: https://lore.kernel.org/r/20201005183830.486085-2-robh@kernel.org Signed-off-by: Rob Herring <robh@kernel.org>
132 lines
3.0 KiB
YAML
132 lines
3.0 KiB
YAML
# 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) Bindings
|
|
|
|
maintainers:
|
|
- Christophe Kerello <christophe.kerello@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
|
|
properties:
|
|
nand-ecc-step-size:
|
|
const: 512
|
|
|
|
nand-ecc-strength:
|
|
enum: [1, 4, 8]
|
|
|
|
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>;
|
|
};
|
|
};
|
|
|
|
...
|