| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/dma/brcm,bcm2835-dma.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: BCM2835 DMA controller |
| |
| maintainers: |
| - Nicolas Saenz Julienne <nsaenz@kernel.org> |
| |
| description: |
| The BCM2835 DMA controller has 16 channels in total. Only the lower |
| 13 channels have an associated IRQ. Some arbitrary channels are used by the |
| VideoCore firmware (1,3,6,7 in the current firmware version). The channels |
| 0, 2 and 3 have special functionality and should not be used by the driver. |
| |
| allOf: |
| - $ref: dma-controller.yaml# |
| |
| properties: |
| compatible: |
| const: brcm,bcm2835-dma |
| |
| reg: |
| maxItems: 1 |
| |
| interrupts: |
| description: |
| Should contain the DMA interrupts associated to the DMA channels in |
| ascending order. |
| minItems: 1 |
| maxItems: 16 |
| |
| interrupt-names: |
| minItems: 1 |
| maxItems: 16 |
| |
| '#dma-cells': |
| description: The single cell represents the DREQ number. |
| const: 1 |
| |
| brcm,dma-channel-mask: |
| $ref: /schemas/types.yaml#/definitions/uint32 |
| description: |
| Bitmask of available DMA channels in ascending order that are |
| not reserved by firmware and are available to the |
| kernel. i.e. first channel corresponds to LSB. |
| |
| unevaluatedProperties: false |
| |
| required: |
| - compatible |
| - reg |
| - interrupts |
| - "#dma-cells" |
| - brcm,dma-channel-mask |
| |
| examples: |
| - | |
| dma-controller@7e007000 { |
| compatible = "brcm,bcm2835-dma"; |
| reg = <0x7e007000 0xf00>; |
| interrupts = <1 16>, |
| <1 17>, |
| <1 18>, |
| <1 19>, |
| <1 20>, |
| <1 21>, |
| <1 22>, |
| <1 23>, |
| <1 24>, |
| <1 25>, |
| <1 26>, |
| /* dma channel 11-14 share one irq */ |
| <1 27>, |
| <1 27>, |
| <1 27>, |
| <1 27>, |
| /* unused shared irq for all channels */ |
| <1 28>; |
| interrupt-names = "dma0", |
| "dma1", |
| "dma2", |
| "dma3", |
| "dma4", |
| "dma5", |
| "dma6", |
| "dma7", |
| "dma8", |
| "dma9", |
| "dma10", |
| "dma11", |
| "dma12", |
| "dma13", |
| "dma14", |
| "dma-shared-all"; |
| #dma-cells = <1>; |
| brcm,dma-channel-mask = <0x7f35>; |
| }; |
| |
| ... |