162306a36Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 262306a36Sopenharmony_ci%YAML 1.2 362306a36Sopenharmony_ci--- 462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/dma/brcm,bcm2835-dma.yaml# 562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml# 662306a36Sopenharmony_ci 762306a36Sopenharmony_cititle: BCM2835 DMA controller 862306a36Sopenharmony_ci 962306a36Sopenharmony_cimaintainers: 1062306a36Sopenharmony_ci - Nicolas Saenz Julienne <nsaenz@kernel.org> 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_cidescription: 1362306a36Sopenharmony_ci The BCM2835 DMA controller has 16 channels in total. Only the lower 1462306a36Sopenharmony_ci 13 channels have an associated IRQ. Some arbitrary channels are used by the 1562306a36Sopenharmony_ci VideoCore firmware (1,3,6,7 in the current firmware version). The channels 1662306a36Sopenharmony_ci 0, 2 and 3 have special functionality and should not be used by the driver. 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ciallOf: 1962306a36Sopenharmony_ci - $ref: dma-controller.yaml# 2062306a36Sopenharmony_ci 2162306a36Sopenharmony_ciproperties: 2262306a36Sopenharmony_ci compatible: 2362306a36Sopenharmony_ci const: brcm,bcm2835-dma 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci reg: 2662306a36Sopenharmony_ci maxItems: 1 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci interrupts: 2962306a36Sopenharmony_ci description: 3062306a36Sopenharmony_ci Should contain the DMA interrupts associated to the DMA channels in 3162306a36Sopenharmony_ci ascending order. 3262306a36Sopenharmony_ci minItems: 1 3362306a36Sopenharmony_ci maxItems: 16 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci interrupt-names: 3662306a36Sopenharmony_ci minItems: 1 3762306a36Sopenharmony_ci maxItems: 16 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci '#dma-cells': 4062306a36Sopenharmony_ci description: The single cell represents the DREQ number. 4162306a36Sopenharmony_ci const: 1 4262306a36Sopenharmony_ci 4362306a36Sopenharmony_ci brcm,dma-channel-mask: 4462306a36Sopenharmony_ci $ref: /schemas/types.yaml#/definitions/uint32 4562306a36Sopenharmony_ci description: 4662306a36Sopenharmony_ci Bitmask of available DMA channels in ascending order that are 4762306a36Sopenharmony_ci not reserved by firmware and are available to the 4862306a36Sopenharmony_ci kernel. i.e. first channel corresponds to LSB. 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ciunevaluatedProperties: false 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_cirequired: 5362306a36Sopenharmony_ci - compatible 5462306a36Sopenharmony_ci - reg 5562306a36Sopenharmony_ci - interrupts 5662306a36Sopenharmony_ci - "#dma-cells" 5762306a36Sopenharmony_ci - brcm,dma-channel-mask 5862306a36Sopenharmony_ci 5962306a36Sopenharmony_ciexamples: 6062306a36Sopenharmony_ci - | 6162306a36Sopenharmony_ci dma-controller@7e007000 { 6262306a36Sopenharmony_ci compatible = "brcm,bcm2835-dma"; 6362306a36Sopenharmony_ci reg = <0x7e007000 0xf00>; 6462306a36Sopenharmony_ci interrupts = <1 16>, 6562306a36Sopenharmony_ci <1 17>, 6662306a36Sopenharmony_ci <1 18>, 6762306a36Sopenharmony_ci <1 19>, 6862306a36Sopenharmony_ci <1 20>, 6962306a36Sopenharmony_ci <1 21>, 7062306a36Sopenharmony_ci <1 22>, 7162306a36Sopenharmony_ci <1 23>, 7262306a36Sopenharmony_ci <1 24>, 7362306a36Sopenharmony_ci <1 25>, 7462306a36Sopenharmony_ci <1 26>, 7562306a36Sopenharmony_ci /* dma channel 11-14 share one irq */ 7662306a36Sopenharmony_ci <1 27>, 7762306a36Sopenharmony_ci <1 27>, 7862306a36Sopenharmony_ci <1 27>, 7962306a36Sopenharmony_ci <1 27>, 8062306a36Sopenharmony_ci /* unused shared irq for all channels */ 8162306a36Sopenharmony_ci <1 28>; 8262306a36Sopenharmony_ci interrupt-names = "dma0", 8362306a36Sopenharmony_ci "dma1", 8462306a36Sopenharmony_ci "dma2", 8562306a36Sopenharmony_ci "dma3", 8662306a36Sopenharmony_ci "dma4", 8762306a36Sopenharmony_ci "dma5", 8862306a36Sopenharmony_ci "dma6", 8962306a36Sopenharmony_ci "dma7", 9062306a36Sopenharmony_ci "dma8", 9162306a36Sopenharmony_ci "dma9", 9262306a36Sopenharmony_ci "dma10", 9362306a36Sopenharmony_ci "dma11", 9462306a36Sopenharmony_ci "dma12", 9562306a36Sopenharmony_ci "dma13", 9662306a36Sopenharmony_ci "dma14", 9762306a36Sopenharmony_ci "dma-shared-all"; 9862306a36Sopenharmony_ci #dma-cells = <1>; 9962306a36Sopenharmony_ci brcm,dma-channel-mask = <0x7f35>; 10062306a36Sopenharmony_ci }; 10162306a36Sopenharmony_ci 10262306a36Sopenharmony_ci... 103