Re: [PATCH 1/4] dt-bindings: dma: Add bindings for ox810se dma engine

From: Rob Herring
Date: Tue Jan 11 2022 - 20:20:54 EST


On Tue, Jan 04, 2022 at 03:52:03PM +0100, Neil Armstrong wrote:
> This adds the YAML dt-bindings for the DMA engine found in the
> Oxford Semiconductor OX810SE SoC.
>
> Signed-off-by: Neil Armstrong <narmstrong@xxxxxxxxxxxx>
> ---
> .../bindings/dma/oxsemi,ox810se-dma.yaml | 97 +++++++++++++++++++
> 1 file changed, 97 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/dma/oxsemi,ox810se-dma.yaml
>
> diff --git a/Documentation/devicetree/bindings/dma/oxsemi,ox810se-dma.yaml b/Documentation/devicetree/bindings/dma/oxsemi,ox810se-dma.yaml
> new file mode 100644
> index 000000000000..6efa28e8b124
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/dma/oxsemi,ox810se-dma.yaml
> @@ -0,0 +1,97 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/dma/oxsemi,ox810se-dma.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Oxford Semiconductor DMA Controller Device Tree Bindings
> +
> +maintainers:
> + - Neil Armstrong <narmstrong@xxxxxxxxxxxx>
> +
> +allOf:
> + - $ref: "dma-controller.yaml#"
> +
> +properties:
> + "#dma-cells":
> + const: 1
> +
> + compatible:
> + const: oxsemi,ox810se-dma
> +
> + reg:
> + maxItems: 2
> +
> + reg-names:
> + items:
> + - const: dma
> + - const: sgdma
> +
> + interrupts:
> + maxItems: 5

Need to define what each one is.

> +
> + clocks:
> + maxItems: 1
> +
> + resets:
> + maxItems: 2
> +
> + reset-names:
> + items:
> + - const: dma
> + - const: sgdma
> +
> + dma-channels: true

Constraints on number of channels?

> +
> + oxsemi,targets-types:
> + description:
> + Table with allowed memory ranges and memory type associated.
> + $ref: "/schemas/types.yaml#/definitions/uint32-matrix"
> + minItems: 4
> + items:
> + items:
> + - description:
> + The first cell defines the memory range start address
> + - description:
> + The first cell defines the memory range end address
> + - description:
> + The third cell represents memory type, 0 for SATA,
> + 1 for DPE RX, 2 for DPE TX, 5 for AUDIO TX, 6 for AUDIO RX,
> + 15 for DRAM MEMORY.
> + enum: [ 0, 1, 2, 5, 6, 15 ]
> +
> +required:
> + - "#dma-cells"
> + - dma-channels
> + - compatible
> + - reg
> + - interrupts
> + - clocks
> + - resets
> + - reset-names
> + - oxsemi,targets-types
> +
> +additionalProperties: false
> +
> +examples:
> + - |
> + dma: dma-controller@600000 {

Drop unused labels.

> + compatible = "oxsemi,ox810se-dma";
> + reg = <0x600000 0x100000>, <0xc00000 0x100000>;
> + reg-names = "dma", "sgdma";
> + interrupts = <13>, <14>, <15>, <16>, <20>;
> + clocks = <&stdclk 1>;
> + resets = <&reset 8>, <&reset 24>;
> + reset-names = "dma", "sgdma";
> +
> + /* Encodes the authorized memory types */
> + oxsemi,targets-types =
> + <0x45900000 0x45a00000 0>, /* SATA */
> + <0x42000000 0x43000000 0>, /* SATA DATA */
> + <0x48000000 0x58000000 15>, /* DDR */
> + <0x58000000 0x58020000 15>; /* SRAM */
> +
> + #dma-cells = <1>;
> + dma-channels = <5>;
> + };
> +...
> --
> 2.25.1
>
>