Documentation / devicetree / bindings / usb / da8xx-usb.txt


Based on kernel version 6.8. Page generated on 2024-03-11 21:26 EST.

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
TI DA8xx MUSB
~~~~~~~~~~~~~
For DA8xx/OMAP-L1x/AM17xx/AM18xx platforms.

Required properties:
~~~~~~~~~~~~~~~~~~~~
 - compatible : Should be set to "ti,da830-musb".

 - reg: Offset and length of the USB controller register set.

 - interrupts: The USB interrupt number.

 - interrupt-names: Should be set to "mc".

 - dr_mode: The USB operation mode. Should be one of "host", "peripheral" or "otg".

 - phys: Phandle for the PHY device

 - phy-names: Should be "usb-phy"

 - dmas: specifies the dma channels

 - dma-names: specifies the names of the channels. Use "rxN" for receive
   and "txN" for transmit endpoints. N specifies the endpoint number.

Optional properties:
~~~~~~~~~~~~~~~~~~~~
 - vbus-supply: Phandle to a regulator providing the USB bus power.

DMA
~~~
- compatible: ti,da830-cppi41
- reg: offset and length of the following register spaces: CPPI DMA Controller,
  CPPI DMA Scheduler, Queue Manager
- reg-names: "controller", "scheduler", "queuemgr"
- #dma-cells: should be set to 2. The first number represents the
  channel number (0 … 3 for endpoints 1 … 4).
  The second number is 0 for RX and 1 for TX transfers.
- dma-channels: should be set to 4 representing the 4 endpoints.
- #dma-channels: deprecated

Example:
	usb_phy: usb-phy {
		compatible = "ti,da830-usb-phy";
		#phy-cells = <0>;
	};
	usb0: usb@200000 {
		compatible = "ti,da830-musb";
		reg = <0x00200000 0x1000>;
		ranges;
		#address-cells = <1>;
		#size-cells = <1>;
		interrupts = <58>;
		interrupt-names = "mc";

		dr_mode = "host";
		vbus-supply = <&usb_vbus>;
		phys = <&usb_phy 0>;
		phy-names = "usb-phy";

		dmas = <&cppi41dma 0 0 &cppi41dma 1 0
			&cppi41dma 2 0 &cppi41dma 3 0
			&cppi41dma 0 1 &cppi41dma 1 1
			&cppi41dma 2 1 &cppi41dma 3 1>;
		dma-names =
			"rx1", "rx2", "rx3", "rx4",
			"tx1", "tx2", "tx3", "tx4";


		cppi41dma: dma-controller@201000 {
			compatible = "ti,da830-cppi41";
			reg =  <0x201000 0x1000
				0x202000 0x1000
				0x204000 0x4000>;
			reg-names = "controller", "scheduler", "queuemgr";
			interrupts = <58>;
			#dma-cells = <2>;
			dma-channels = <4>;
		};

	};