Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 | # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/dma/stericsson,dma40.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: ST-Ericsson DMA40 DMA Engine maintainers: - Linus Walleij <linus.walleij@linaro.org> allOf: - $ref: "dma-controller.yaml#" properties: "#dma-cells": const: 3 description: | The first cell is the unique device channel number as indicated by this table for DB8500 which is the only ASIC known to use DMA40: 0: SPI controller 0 1: SD/MMC controller 0 (unused) 2: SD/MMC controller 1 (unused) 3: SD/MMC controller 2 (unused) 4: I2C port 1 5: I2C port 3 6: I2C port 2 7: I2C port 4 8: Synchronous Serial Port SSP0 9: Synchronous Serial Port SSP1 10: Multi-Channel Display Engine MCDE RX 11: UART port 2 12: UART port 1 13: UART port 0 14: Multirate Serial Port MSP2 15: I2C port 0 16: USB OTG in/out endpoints 7 & 15 17: USB OTG in/out endpoints 6 & 14 18: USB OTG in/out endpoints 5 & 13 19: USB OTG in/out endpoints 4 & 12 20: SLIMbus or HSI channel 0 21: SLIMbus or HSI channel 1 22: SLIMbus or HSI channel 2 23: SLIMbus or HSI channel 3 24: Multimedia DSP SXA0 25: Multimedia DSP SXA1 26: Multimedia DSP SXA2 27: Multimedia DSP SXA3 28: SD/MMC controller 2 29: SD/MMC controller 0 30: MSP port 1 on DB8500 v1, MSP port 3 on DB8500 v2 31: MSP port 0 or SLIMbus channel 0 32: SD/MMC controller 1 33: SPI controller 2 34: i2c3 RX2 TX2 35: SPI controller 1 36: USB OTG in/out endpoints 3 & 11 37: USB OTG in/out endpoints 2 & 10 38: USB OTG in/out endpoints 1 & 9 39: USB OTG in/out endpoints 8 40: SPI controller 3 41: SD/MMC controller 3 42: SD/MMC controller 4 43: SD/MMC controller 5 44: Multimedia DSP SXA4 45: Multimedia DSP SXA5 46: SLIMbus channel 8 or Multimedia DSP SXA6 47: SLIMbus channel 9 or Multimedia DSP SXA7 48: Crypto Accelerator 1 49: Crypto Accelerator 1 TX or Hash Accelerator 1 TX 50: Hash Accelerator 1 TX 51: memcpy TX (to be used by the DMA driver for memcpy operations) 52: SLIMbus or HSI channel 4 53: SLIMbus or HSI channel 5 54: SLIMbus or HSI channel 6 55: SLIMbus or HSI channel 7 56: memcpy (to be used by the DMA driver for memcpy operations) 57: memcpy (to be used by the DMA driver for memcpy operations) 58: memcpy (to be used by the DMA driver for memcpy operations) 59: memcpy (to be used by the DMA driver for memcpy operations) 60: memcpy (to be used by the DMA driver for memcpy operations) 61: Crypto Accelerator 0 62: Crypto Accelerator 0 TX or Hash Accelerator 0 TX 63: Hash Accelerator 0 TX The second cell is the DMA request line number. This is only used when a fixed channel is allocated, and indicated by setting bit 3 in the flags field (see below). The third cell is a 32bit flags bitfield with the following possible bits set: 0x00000001 (bit 0) - mode: Logical channel when unset Physical channel when set 0x00000002 (bit 1) - direction: Memory to Device when unset Device to Memory when set 0x00000004 (bit 2) - endianness: Little endian when unset Big endian when set 0x00000008 (bit 3) - use fixed channel: Use automatic channel selection when unset Use DMA request line number when set 0x00000010 (bit 4) - set channel as high priority: Normal priority when unset High priority when set compatible: items: - const: stericsson,db8500-dma40 - const: stericsson,dma40 reg: items: - description: DMA40 memory base - description: LCPA memory base reg-names: items: - const: base - const: lcpa interrupts: maxItems: 1 clocks: maxItems: 1 memcpy-channels: $ref: /schemas/types.yaml#/definitions/uint32-array description: Array of u32 elements indicating which channels on the DMA engine are elegible for memcpy transfers required: - "#dma-cells" - compatible - reg - interrupts - clocks - memcpy-channels additionalProperties: false examples: - | #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/arm-gic.h> #include <dt-bindings/mfd/dbx500-prcmu.h> dma-controller@801C0000 { compatible = "stericsson,db8500-dma40", "stericsson,dma40"; reg = <0x801C0000 0x1000>, <0x40010000 0x800>; reg-names = "base", "lcpa"; interrupts = <GIC_SPI 25 IRQ_TYPE_LEVEL_HIGH>; #dma-cells = <3>; memcpy-channels = <56 57 58 59 60>; clocks = <&prcmu_clk PRCMU_DMACLK>; }; ... |