mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-01 06:39:05 +00:00

The DMA controllers found on the H616 and H618 are the same as the one found on the A100. The only difference is the DMA endpoint (DRQ) layout. Since the number of channels and endpoints are described with additional generic properties, just add a new H616-specific compatible string and fallback to the A100 one. Signed-off-by: Chen-Yu Tsai <wens@csie.org> Acked-by: Conor Dooley <conor.dooley@microchip.com> Reviewed-by: Andre Przywara <andre.przywara@arm.com> Link: https://lore.kernel.org/r/20240127163247.384439-5-wens@kernel.org Signed-off-by: Vinod Koul <vkoul@kernel.org>
100 lines
1.7 KiB
YAML
100 lines
1.7 KiB
YAML
# SPDX-License-Identifier: GPL-2.0
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/dma/allwinner,sun50i-a64-dma.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Allwinner A64 DMA Controller
|
|
|
|
maintainers:
|
|
- Chen-Yu Tsai <wens@csie.org>
|
|
- Maxime Ripard <mripard@kernel.org>
|
|
|
|
allOf:
|
|
- $ref: dma-controller.yaml#
|
|
|
|
properties:
|
|
"#dma-cells":
|
|
const: 1
|
|
description: The cell is the request line number.
|
|
|
|
compatible:
|
|
oneOf:
|
|
- enum:
|
|
- allwinner,sun20i-d1-dma
|
|
- allwinner,sun50i-a64-dma
|
|
- allwinner,sun50i-a100-dma
|
|
- allwinner,sun50i-h6-dma
|
|
- items:
|
|
- const: allwinner,sun8i-r40-dma
|
|
- const: allwinner,sun50i-a64-dma
|
|
- items:
|
|
- const: allwinner,sun50i-h616-dma
|
|
- const: allwinner,sun50i-a100-dma
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
clocks:
|
|
minItems: 1
|
|
maxItems: 2
|
|
|
|
clock-names:
|
|
items:
|
|
- const: bus
|
|
- const: mbus
|
|
|
|
resets:
|
|
maxItems: 1
|
|
|
|
required:
|
|
- "#dma-cells"
|
|
- compatible
|
|
- reg
|
|
- interrupts
|
|
- clocks
|
|
- resets
|
|
- dma-channels
|
|
|
|
if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- allwinner,sun20i-d1-dma
|
|
- allwinner,sun50i-a100-dma
|
|
- allwinner,sun50i-h6-dma
|
|
|
|
then:
|
|
properties:
|
|
clocks:
|
|
minItems: 2
|
|
|
|
required:
|
|
- clock-names
|
|
|
|
else:
|
|
properties:
|
|
clocks:
|
|
maxItems: 1
|
|
|
|
unevaluatedProperties: false
|
|
|
|
examples:
|
|
- |
|
|
dma: dma-controller@1c02000 {
|
|
compatible = "allwinner,sun50i-a64-dma";
|
|
reg = <0x01c02000 0x1000>;
|
|
interrupts = <0 50 4>;
|
|
clocks = <&ccu 30>;
|
|
dma-channels = <8>;
|
|
dma-requests = <27>;
|
|
resets = <&ccu 7>;
|
|
#dma-cells = <1>;
|
|
};
|
|
|
|
...
|