mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-09-18 22:14:16 +00:00

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>
82 lines
2.1 KiB
YAML
82 lines
2.1 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/dma/ingenic,dma.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Ingenic SoCs DMA Controller DT bindings
|
|
|
|
maintainers:
|
|
- Paul Cercueil <paul@crapouillou.net>
|
|
|
|
allOf:
|
|
- $ref: "dma-controller.yaml#"
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- ingenic,jz4740-dma
|
|
- ingenic,jz4725b-dma
|
|
- ingenic,jz4770-dma
|
|
- ingenic,jz4780-dma
|
|
- ingenic,x1000-dma
|
|
- ingenic,x1830-dma
|
|
|
|
reg:
|
|
items:
|
|
- description: Channel-specific registers
|
|
- description: System control registers
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
maxItems: 1
|
|
|
|
"#dma-cells":
|
|
const: 2
|
|
description: >
|
|
DMA clients must use the format described in dma.txt, giving a phandle
|
|
to the DMA controller plus the following 2 integer cells:
|
|
|
|
- Request type: The DMA request type for transfers to/from the
|
|
device on the allocated channel, as defined in the SoC documentation.
|
|
|
|
- Channel: If set to 0xffffffff, any available channel will be allocated
|
|
for the client. Otherwise, the exact channel specified will be used.
|
|
The channel should be reserved on the DMA controller using the
|
|
ingenic,reserved-channels property.
|
|
|
|
ingenic,reserved-channels:
|
|
$ref: /schemas/types.yaml#definitions/uint32
|
|
description: >
|
|
Bitmask of channels to reserve for devices that need a specific
|
|
channel. These channels will only be assigned when explicitely
|
|
requested by a client. The primary use for this is channels 0 and
|
|
1, which can be configured to have special behaviour for NAND/BCH
|
|
when using programmable firmware.
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- clocks
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/clock/jz4780-cgu.h>
|
|
dma: dma-controller@13420000 {
|
|
compatible = "ingenic,jz4780-dma";
|
|
reg = <0x13420000 0x400>, <0x13421000 0x40>;
|
|
|
|
interrupt-parent = <&intc>;
|
|
interrupts = <10>;
|
|
|
|
clocks = <&cgu JZ4780_CLK_PDMA>;
|
|
|
|
#dma-cells = <2>;
|
|
|
|
ingenic,reserved-channels = <0x3>;
|
|
};
|