summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/dma/renesas,usb-dmac.txt
blob: 1be6941ac1e514cfd31ea0f6d4a44baaed5a7db2 (plain)
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
* Renesas USB DMA Controller Device Tree bindings

Required Properties:
-compatible: "renesas,<soctype>-usb-dmac", "renesas,usb-dmac" as fallback.
	Examples with soctypes are:
	  - "renesas,r8a7790-usb-dmac" (R-Car H2)
	  - "renesas,r8a7791-usb-dmac" (R-Car M2-W)
	  - "renesas,r8a7793-usb-dmac" (R-Car M2-N)
	  - "renesas,r8a7794-usb-dmac" (R-Car E2)
	  - "renesas,r8a7795-usb-dmac" (R-Car H3)
	  - "renesas,r8a7796-usb-dmac" (R-Car M3-W)
- reg: base address and length of the registers block for the DMAC
- interrupts: interrupt specifiers for the DMAC, one for each entry in
  interrupt-names.
- interrupt-names: one entry per channel, named "ch%u", where %u is the
  channel number ranging from zero to the number of channels minus one.
- clocks: a list of phandle + clock-specifier pairs.
- #dma-cells: must be <1>, the cell specifies the channel number of the DMAC
  port connected to the DMA client.
- dma-channels: number of DMA channels

Example: R8A7790 (R-Car H2) USB-DMACs

	usb_dmac0: dma-controller@e65a0000 {
		compatible = "renesas,r8a7790-usb-dmac", "renesas,usb-dmac";
		reg = <0 0xe65a0000 0 0x100>;
		interrupts = <0 109 IRQ_TYPE_LEVEL_HIGH
			      0 109 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "ch0", "ch1";
		clocks = <&mstp3_clks R8A7790_CLK_USBDMAC0>;
		#dma-cells = <1>;
		dma-channels = <2>;
	};

	usb_dmac1: dma-controller@e65b0000 {
		compatible = "renesas,usb-dmac";
		reg = <0 0xe65b0000 0 0x100>;
		interrupts = <0 110 IRQ_TYPE_LEVEL_HIGH
			      0 110 IRQ_TYPE_LEVEL_HIGH>;
		interrupt-names = "ch0", "ch1";
		clocks = <&mstp3_clks R8A7790_CLK_USBDMAC1>;
		#dma-cells = <1>;
		dma-channels = <2>;
	};