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