123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- * DMA40 DMA Controller
- Required properties:
- - compatible: "stericsson,dma40"
- - reg: Address range of the DMAC registers
- - reg-names: Names of the above areas to use during resource look-up
- - interrupt: Should contain the DMAC interrupt number
- - #dma-cells: must be <3>
- - memcpy-channels: Channels to be used for memcpy
- Optional properties:
- - dma-channels: Number of channels supported by hardware - if not present
- the driver will attempt to obtain the information from H/W
- - disabled-channels: Channels which can not be used
- Example:
- dma: dma-controller@801C0000 {
- compatible = "stericsson,db8500-dma40", "stericsson,dma40";
- reg = <0x801C0000 0x1000 0x40010000 0x800>;
- reg-names = "base", "lcpa";
- interrupt-parent = <&intc>;
- interrupts = <0 25 0x4>;
- #dma-cells = <2>;
- memcpy-channels = <56 57 58 59 60>;
- disabled-channels = <12>;
- dma-channels = <8>;
- };
- Clients
- Required properties:
- - dmas: Comma separated list of dma channel requests
- - dma-names: Names of the aforementioned requested channels
- Each dmas request consists of 4 cells:
- 1. A phandle pointing to the DMA controller
- 2. Device signal number, the signal line for single and burst requests
- connected from the device to the DMA40 engine
- 3. The DMA request line number (only when 'use fixed channel' is set)
- 4. A 32bit mask specifying; mode, direction and endianness
- [NB: This list will grow]
- 0x00000001: Mode:
- Logical channel when unset
- Physical channel when set
- 0x00000002: Direction:
- Memory to Device when unset
- Device to Memory when set
- 0x00000004: Endianness:
- Little endian when unset
- Big endian when set
- 0x00000008: Use fixed channel:
- Use automatic channel selection when unset
- Use DMA request line number when set
- 0x00000010: Set channel as high priority:
- Normal priority when unset
- High priority when set
- Existing signal numbers for the DB8500 ASIC. Unless specified, the signals are
- bidirectional, i.e. the same for RX and TX operations:
- 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/MM controller 2
- 29: SD/MM 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/MM 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/MM controller 3
- 42: SD/MM controller 4
- 43: SD/MM 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
- Example:
- uart@80120000 {
- compatible = "arm,pl011", "arm,primecell";
- reg = <0x80120000 0x1000>;
- interrupts = <0 11 0x4>;
- dmas = <&dma 13 0 0x2>, /* Logical - DevToMem */
- <&dma 13 0 0x0>; /* Logical - MemToDev */
- dma-names = "rx", "rx";
- status = "disabled";
- };
|