Tom Rini | 53633a8 | 2024-02-29 12:33:36 -0500 | [diff] [blame] | 1 | * Renesas "Type-AXI" NBPFAXI* DMA controllers |
| 2 | |
| 3 | * DMA controller |
| 4 | |
| 5 | Required properties |
| 6 | |
| 7 | - compatible: must be one of |
| 8 | "renesas,nbpfaxi64dmac1b4" |
| 9 | "renesas,nbpfaxi64dmac1b8" |
| 10 | "renesas,nbpfaxi64dmac1b16" |
| 11 | "renesas,nbpfaxi64dmac4b4" |
| 12 | "renesas,nbpfaxi64dmac4b8" |
| 13 | "renesas,nbpfaxi64dmac4b16" |
| 14 | "renesas,nbpfaxi64dmac8b4" |
| 15 | "renesas,nbpfaxi64dmac8b8" |
| 16 | "renesas,nbpfaxi64dmac8b16" |
| 17 | - #dma-cells: must be 2: the first integer is a terminal number, to which this |
| 18 | slave is connected, the second one is flags. Flags is a bitmask |
| 19 | with the following bits defined: |
| 20 | |
| 21 | #define NBPF_SLAVE_RQ_HIGH 1 |
| 22 | #define NBPF_SLAVE_RQ_LOW 2 |
| 23 | #define NBPF_SLAVE_RQ_LEVEL 4 |
| 24 | |
| 25 | Optional properties: |
| 26 | - max-burst-mem-read: limit burst size for memory reads |
| 27 | (DMA_MEM_TO_MEM/DMA_MEM_TO_DEV) to this value, specified in bytes, rather |
| 28 | than using the maximum burst size allowed by the hardware's buffer size. |
| 29 | - max-burst-mem-write: limit burst size for memory writes |
| 30 | (DMA_DEV_TO_MEM/DMA_MEM_TO_MEM) to this value, specified in bytes, rather |
| 31 | than using the maximum burst size allowed by the hardware's buffer size. |
| 32 | If both max-burst-mem-read and max-burst-mem-write are set, DMA_MEM_TO_MEM |
| 33 | will use the lower value. |
| 34 | |
| 35 | You can use dma-channels and dma-requests as described in dma.txt, although they |
| 36 | won't be used, this information is derived from the compatibility string. |
| 37 | |
| 38 | Example: |
| 39 | |
| 40 | dma: dma-controller@48000000 { |
| 41 | compatible = "renesas,nbpfaxi64dmac8b4"; |
| 42 | reg = <0x48000000 0x400>; |
| 43 | interrupts = <0 12 0x4 |
| 44 | 0 13 0x4 |
| 45 | 0 14 0x4 |
| 46 | 0 15 0x4 |
| 47 | 0 16 0x4 |
| 48 | 0 17 0x4 |
| 49 | 0 18 0x4 |
| 50 | 0 19 0x4>; |
| 51 | #dma-cells = <2>; |
| 52 | dma-channels = <8>; |
| 53 | dma-requests = <8>; |
| 54 | }; |
| 55 | |
| 56 | * DMA client |
| 57 | |
| 58 | Required properties: |
| 59 | |
| 60 | dmas and dma-names are required, as described in dma.txt. |
| 61 | |
| 62 | Example: |
| 63 | |
| 64 | #include <dt-bindings/dma/nbpfaxi.h> |
| 65 | |
| 66 | ... |
| 67 | dmas = <&dma 0 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL) |
| 68 | &dma 1 (NBPF_SLAVE_RQ_HIGH | NBPF_SLAVE_RQ_LEVEL)>; |
| 69 | dma-names = "rx", "tx"; |