1 # SPDX-License-Identifier: (GPL-2.0-only OR BS 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/dma/arm-pl0 4 $id: http://devicetree.org/schemas/dma/arm-pl08x.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: ARM PrimeCells PL080 and PL081 and deri 7 title: ARM PrimeCells PL080 and PL081 and derivatives DMA controller 8 8 9 maintainers: 9 maintainers: 10 - Vinod Koul <vkoul@kernel.org> 10 - Vinod Koul <vkoul@kernel.org> 11 11 12 allOf: 12 allOf: 13 - $ref: /schemas/arm/primecell.yaml# 13 - $ref: /schemas/arm/primecell.yaml# 14 - $ref: dma-controller.yaml# 14 - $ref: dma-controller.yaml# 15 15 16 # We need a select here so we don't match all 16 # We need a select here so we don't match all nodes with 'arm,primecell' 17 select: 17 select: 18 properties: 18 properties: 19 compatible: 19 compatible: 20 contains: 20 contains: 21 enum: 21 enum: 22 - arm,pl080 22 - arm,pl080 23 - arm,pl081 23 - arm,pl081 24 required: 24 required: 25 - compatible 25 - compatible 26 26 27 properties: 27 properties: 28 compatible: 28 compatible: 29 oneOf: 29 oneOf: 30 - items: 30 - items: 31 - enum: 31 - enum: 32 - arm,pl080 32 - arm,pl080 33 - arm,pl081 33 - arm,pl081 34 - const: arm,primecell 34 - const: arm,primecell 35 - items: 35 - items: 36 - const: faraday,ftdma020 36 - const: faraday,ftdma020 37 - const: arm,pl080 37 - const: arm,pl080 38 - const: arm,primecell 38 - const: arm,primecell 39 39 40 reg: 40 reg: 41 maxItems: 1 41 maxItems: 1 42 description: Address range of the PL08x re 42 description: Address range of the PL08x registers 43 43 44 interrupts: 44 interrupts: 45 minItems: 1 45 minItems: 1 46 description: The PL08x interrupt number 46 description: The PL08x interrupt number 47 47 48 clocks: 48 clocks: 49 minItems: 1 49 minItems: 1 50 description: The clock running the IP core 50 description: The clock running the IP core clock 51 51 52 clock-names: 52 clock-names: 53 maxItems: 1 53 maxItems: 1 54 54 55 lli-bus-interface-ahb1: 55 lli-bus-interface-ahb1: 56 type: boolean 56 type: boolean 57 description: if AHB master 1 is eligible f 57 description: if AHB master 1 is eligible for fetching LLIs 58 58 59 lli-bus-interface-ahb2: 59 lli-bus-interface-ahb2: 60 type: boolean 60 type: boolean 61 description: if AHB master 2 is eligible f 61 description: if AHB master 2 is eligible for fetching LLIs 62 62 63 mem-bus-interface-ahb1: 63 mem-bus-interface-ahb1: 64 type: boolean 64 type: boolean 65 description: if AHB master 1 is eligible f 65 description: if AHB master 1 is eligible for fetching memory contents 66 66 67 mem-bus-interface-ahb2: 67 mem-bus-interface-ahb2: 68 type: boolean 68 type: boolean 69 description: if AHB master 2 is eligible f 69 description: if AHB master 2 is eligible for fetching memory contents 70 70 71 memcpy-burst-size: 71 memcpy-burst-size: 72 $ref: /schemas/types.yaml#/definitions/uin 72 $ref: /schemas/types.yaml#/definitions/uint32 73 enum: 73 enum: 74 - 1 74 - 1 75 - 4 75 - 4 76 - 8 76 - 8 77 - 16 77 - 16 78 - 32 78 - 32 79 - 64 79 - 64 80 - 128 80 - 128 81 - 256 81 - 256 82 description: the size of the bursts for me 82 description: the size of the bursts for memcpy 83 83 84 memcpy-bus-width: 84 memcpy-bus-width: 85 $ref: /schemas/types.yaml#/definitions/uin 85 $ref: /schemas/types.yaml#/definitions/uint32 86 enum: 86 enum: 87 - 8 87 - 8 88 - 16 88 - 16 89 - 32 89 - 32 90 - 64 90 - 64 91 description: bus width used for memcpy in 91 description: bus width used for memcpy in bits. FTDMAC020 also accept 64 bits 92 92 93 resets: 93 resets: 94 maxItems: 1 94 maxItems: 1 95 95 96 required: 96 required: 97 - reg 97 - reg 98 - interrupts 98 - interrupts 99 - clocks 99 - clocks 100 - clock-names 100 - clock-names 101 - "#dma-cells" 101 - "#dma-cells" 102 102 103 unevaluatedProperties: false 103 unevaluatedProperties: false 104 104 105 examples: 105 examples: 106 - | 106 - | 107 dmac0: dma-controller@10130000 { 107 dmac0: dma-controller@10130000 { 108 compatible = "arm,pl080", "arm,primecell 108 compatible = "arm,pl080", "arm,primecell"; 109 reg = <0x10130000 0x1000>; 109 reg = <0x10130000 0x1000>; 110 interrupt-parent = <&vica>; 110 interrupt-parent = <&vica>; 111 interrupts = <15>; 111 interrupts = <15>; 112 clocks = <&hclkdma0>; 112 clocks = <&hclkdma0>; 113 clock-names = "apb_pclk"; 113 clock-names = "apb_pclk"; 114 lli-bus-interface-ahb1; 114 lli-bus-interface-ahb1; 115 lli-bus-interface-ahb2; 115 lli-bus-interface-ahb2; 116 mem-bus-interface-ahb2; 116 mem-bus-interface-ahb2; 117 memcpy-burst-size = <256>; 117 memcpy-burst-size = <256>; 118 memcpy-bus-width = <32>; 118 memcpy-bus-width = <32>; 119 #dma-cells = <2>; 119 #dma-cells = <2>; 120 }; 120 }; 121 - | 121 - | 122 #include <dt-bindings/interrupt-controller 122 #include <dt-bindings/interrupt-controller/irq.h> 123 #include <dt-bindings/reset/cortina,gemini 123 #include <dt-bindings/reset/cortina,gemini-reset.h> 124 #include <dt-bindings/clock/cortina,gemini 124 #include <dt-bindings/clock/cortina,gemini-clock.h> 125 dma-controller@67000000 { 125 dma-controller@67000000 { 126 compatible = "faraday,ftdma020", "arm,pl 126 compatible = "faraday,ftdma020", "arm,pl080", "arm,primecell"; 127 /* Faraday Technology FTDMAC020 variant 127 /* Faraday Technology FTDMAC020 variant */ 128 arm,primecell-periphid = <0x0003b080>; 128 arm,primecell-periphid = <0x0003b080>; 129 reg = <0x67000000 0x1000>; 129 reg = <0x67000000 0x1000>; 130 interrupts = <9 IRQ_TYPE_EDGE_RISING>; 130 interrupts = <9 IRQ_TYPE_EDGE_RISING>; 131 resets = <&syscon GEMINI_RESET_DMAC>; 131 resets = <&syscon GEMINI_RESET_DMAC>; 132 clocks = <&syscon GEMINI_CLK_AHB>; 132 clocks = <&syscon GEMINI_CLK_AHB>; 133 clock-names = "apb_pclk"; 133 clock-names = "apb_pclk"; 134 /* Bus interface AHB1 (AHB0) is totally 134 /* Bus interface AHB1 (AHB0) is totally tilted */ 135 lli-bus-interface-ahb2; 135 lli-bus-interface-ahb2; 136 mem-bus-interface-ahb2; 136 mem-bus-interface-ahb2; 137 memcpy-burst-size = <256>; 137 memcpy-burst-size = <256>; 138 memcpy-bus-width = <32>; 138 memcpy-bus-width = <32>; 139 #dma-cells = <2>; 139 #dma-cells = <2>; 140 }; 140 };
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.