1cfa1927fSPeng Fan# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2cfa1927fSPeng Fan%YAML 1.2 3cfa1927fSPeng Fan--- 4cfa1927fSPeng Fan$id: http://devicetree.org/schemas/dma/fsl,edma.yaml# 5cfa1927fSPeng Fan$schema: http://devicetree.org/meta-schemas/core.yaml# 6cfa1927fSPeng Fan 7cfa1927fSPeng Fantitle: Freescale enhanced Direct Memory Access(eDMA) Controller 8cfa1927fSPeng Fan 9cfa1927fSPeng Fandescription: | 10cfa1927fSPeng Fan The eDMA channels have multiplex capability by programmable 11cfa1927fSPeng Fan memory-mapped registers. channels are split into two groups, called 12cfa1927fSPeng Fan DMAMUX0 and DMAMUX1, specific DMA request source can only be multiplexed 13cfa1927fSPeng Fan by any channel of certain group, DMAMUX0 or DMAMUX1, but not both. 14cfa1927fSPeng Fan 15cfa1927fSPeng Fanmaintainers: 16cfa1927fSPeng Fan - Peng Fan <peng.fan@nxp.com> 17cfa1927fSPeng Fan 18cfa1927fSPeng Fanproperties: 19cfa1927fSPeng Fan compatible: 20cfa1927fSPeng Fan oneOf: 21cfa1927fSPeng Fan - enum: 22cfa1927fSPeng Fan - fsl,vf610-edma 23cfa1927fSPeng Fan - fsl,imx7ulp-edma 24cfa1927fSPeng Fan - items: 25cfa1927fSPeng Fan - const: fsl,ls1028a-edma 26cfa1927fSPeng Fan - const: fsl,vf610-edma 27cfa1927fSPeng Fan 28cfa1927fSPeng Fan reg: 29cfa1927fSPeng Fan minItems: 2 30cfa1927fSPeng Fan maxItems: 3 31cfa1927fSPeng Fan 32cfa1927fSPeng Fan interrupts: 33cfa1927fSPeng Fan minItems: 2 34cfa1927fSPeng Fan maxItems: 17 35cfa1927fSPeng Fan 36cfa1927fSPeng Fan interrupt-names: 37cfa1927fSPeng Fan minItems: 2 38cfa1927fSPeng Fan maxItems: 17 39cfa1927fSPeng Fan 40cfa1927fSPeng Fan "#dma-cells": 41cfa1927fSPeng Fan const: 2 42cfa1927fSPeng Fan 43cfa1927fSPeng Fan dma-channels: 44cfa1927fSPeng Fan const: 32 45cfa1927fSPeng Fan 46cfa1927fSPeng Fan clocks: 47cfa1927fSPeng Fan maxItems: 2 48cfa1927fSPeng Fan 49cfa1927fSPeng Fan clock-names: 50cfa1927fSPeng Fan maxItems: 2 51cfa1927fSPeng Fan 52cfa1927fSPeng Fan big-endian: 53cfa1927fSPeng Fan description: | 54cfa1927fSPeng Fan If present registers and hardware scatter/gather descriptors of the 55cfa1927fSPeng Fan eDMA are implemented in big endian mode, otherwise in little mode. 56cfa1927fSPeng Fan type: boolean 57cfa1927fSPeng Fan 58cfa1927fSPeng Fanrequired: 59cfa1927fSPeng Fan - "#dma-cells" 60cfa1927fSPeng Fan - compatible 61cfa1927fSPeng Fan - reg 62cfa1927fSPeng Fan - interrupts 63cfa1927fSPeng Fan - clocks 64cfa1927fSPeng Fan - dma-channels 65cfa1927fSPeng Fan 66cfa1927fSPeng FanallOf: 67*10cafa2dSKrzysztof Kozlowski - $ref: dma-controller.yaml# 68cfa1927fSPeng Fan - if: 69cfa1927fSPeng Fan properties: 70cfa1927fSPeng Fan compatible: 71cfa1927fSPeng Fan contains: 72cfa1927fSPeng Fan const: fsl,vf610-edma 73cfa1927fSPeng Fan then: 74cfa1927fSPeng Fan properties: 75cfa1927fSPeng Fan clock-names: 76cfa1927fSPeng Fan items: 77cfa1927fSPeng Fan - const: dmamux0 78cfa1927fSPeng Fan - const: dmamux1 79cfa1927fSPeng Fan interrupts: 80cfa1927fSPeng Fan maxItems: 2 81cfa1927fSPeng Fan interrupt-names: 82cfa1927fSPeng Fan items: 83cfa1927fSPeng Fan - const: edma-tx 84cfa1927fSPeng Fan - const: edma-err 85cfa1927fSPeng Fan reg: 86cfa1927fSPeng Fan maxItems: 3 87cfa1927fSPeng Fan 88cfa1927fSPeng Fan - if: 89cfa1927fSPeng Fan properties: 90cfa1927fSPeng Fan compatible: 91cfa1927fSPeng Fan contains: 92cfa1927fSPeng Fan const: fsl,imx7ulp-edma 93cfa1927fSPeng Fan then: 94cfa1927fSPeng Fan properties: 95cfa1927fSPeng Fan clock-names: 96cfa1927fSPeng Fan items: 97cfa1927fSPeng Fan - const: dma 98cfa1927fSPeng Fan - const: dmamux0 99cfa1927fSPeng Fan interrupts: 100cfa1927fSPeng Fan maxItems: 17 101cfa1927fSPeng Fan reg: 102cfa1927fSPeng Fan maxItems: 2 103cfa1927fSPeng Fan 104cfa1927fSPeng FanunevaluatedProperties: false 105cfa1927fSPeng Fan 106cfa1927fSPeng Fanexamples: 107cfa1927fSPeng Fan - | 108cfa1927fSPeng Fan #include <dt-bindings/interrupt-controller/arm-gic.h> 109cfa1927fSPeng Fan #include <dt-bindings/clock/vf610-clock.h> 110cfa1927fSPeng Fan 111cfa1927fSPeng Fan edma0: dma-controller@40018000 { 112cfa1927fSPeng Fan #dma-cells = <2>; 113cfa1927fSPeng Fan compatible = "fsl,vf610-edma"; 114cfa1927fSPeng Fan reg = <0x40018000 0x2000>, 115cfa1927fSPeng Fan <0x40024000 0x1000>, 116cfa1927fSPeng Fan <0x40025000 0x1000>; 117cfa1927fSPeng Fan interrupts = <0 8 IRQ_TYPE_LEVEL_HIGH>, 118cfa1927fSPeng Fan <0 9 IRQ_TYPE_LEVEL_HIGH>; 119cfa1927fSPeng Fan interrupt-names = "edma-tx", "edma-err"; 120cfa1927fSPeng Fan dma-channels = <32>; 121cfa1927fSPeng Fan clock-names = "dmamux0", "dmamux1"; 122cfa1927fSPeng Fan clocks = <&clks VF610_CLK_DMAMUX0>, <&clks VF610_CLK_DMAMUX1>; 123cfa1927fSPeng Fan }; 124cfa1927fSPeng Fan 125cfa1927fSPeng Fan - | 126cfa1927fSPeng Fan #include <dt-bindings/interrupt-controller/arm-gic.h> 127cfa1927fSPeng Fan #include <dt-bindings/clock/imx7ulp-clock.h> 128cfa1927fSPeng Fan 129cfa1927fSPeng Fan edma1: dma-controller@40080000 { 130cfa1927fSPeng Fan #dma-cells = <2>; 131cfa1927fSPeng Fan compatible = "fsl,imx7ulp-edma"; 132cfa1927fSPeng Fan reg = <0x40080000 0x2000>, 133cfa1927fSPeng Fan <0x40210000 0x1000>; 134cfa1927fSPeng Fan dma-channels = <32>; 135cfa1927fSPeng Fan interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 136cfa1927fSPeng Fan <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 137cfa1927fSPeng Fan <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 138cfa1927fSPeng Fan <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 139cfa1927fSPeng Fan <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 140cfa1927fSPeng Fan <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 141cfa1927fSPeng Fan <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 142cfa1927fSPeng Fan <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 143cfa1927fSPeng Fan <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 144cfa1927fSPeng Fan <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>, 145cfa1927fSPeng Fan <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>, 146cfa1927fSPeng Fan <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>, 147cfa1927fSPeng Fan <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>, 148cfa1927fSPeng Fan <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>, 149cfa1927fSPeng Fan <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>, 150cfa1927fSPeng Fan <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>, 151cfa1927fSPeng Fan /* last is eDMA2-ERR interrupt */ 152cfa1927fSPeng Fan <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>; 153cfa1927fSPeng Fan clock-names = "dma", "dmamux0"; 154cfa1927fSPeng Fan clocks = <&pcc2 IMX7ULP_CLK_DMA1>, <&pcc2 IMX7ULP_CLK_DMA_MUX1>; 155cfa1927fSPeng Fan }; 156