Kernel-4.18.0-80.el8_da8xx-usb

TI DA8xx MUSB

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
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>;
    };

};