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