hc
2023-02-18 a08c8b75ee83d7f62c9aefc23bfb42082aa4076c
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
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.
 
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>;
       };
 
   };