| b.liu | e958203 | 2025-04-17 19:18:16 +0800 | [diff] [blame^] | 1 | Binding for the Cadence USBSS-DRD controller |
| 2 | |
| 3 | Required properties: |
| 4 | - reg: Physical base address and size of the controller's register areas. |
| 5 | Controller has 3 different regions: |
| 6 | - HOST registers area |
| 7 | - DEVICE registers area |
| 8 | - OTG/DRD registers area |
| 9 | - reg-names - register memory area names: |
| 10 | "xhci" - for HOST registers space |
| 11 | "dev" - for DEVICE registers space |
| 12 | "otg" - for OTG/DRD registers space |
| 13 | - compatible: Should contain: "cdns,usb3" |
| 14 | - interrupts: Interrupts used by cdns3 controller: |
| 15 | "host" - interrupt used by XHCI driver. |
| 16 | "peripheral" - interrupt used by device driver |
| 17 | "otg" - interrupt used by DRD/OTG part of driver |
| 18 | |
| 19 | Optional properties: |
| 20 | - maximum-speed : valid arguments are "super-speed", "high-speed" and |
| 21 | "full-speed"; refer to usb/generic.txt |
| 22 | - dr_mode: Should be one of "host", "peripheral" or "otg". |
| 23 | - phys: reference to the USB PHY |
| 24 | - phy-names: from the *Generic PHY* bindings; |
| 25 | Supported names are: |
| 26 | - cdns3,usb2-phy |
| 27 | - cdns3,usb3-phy |
| 28 | |
| 29 | - cdns,on-chip-buff-size : size of memory intended as internal memory for endpoints |
| 30 | buffers expressed in KB |
| 31 | |
| 32 | Example: |
| 33 | usb@f3000000 { |
| 34 | compatible = "cdns,usb3"; |
| 35 | interrupts = <GIC_USB_IRQ 7 IRQ_TYPE_LEVEL_HIGH>, |
| 36 | <GIC_USB_IRQ 7 IRQ_TYPE_LEVEL_HIGH>, |
| 37 | <GIC_USB_IRQ 8 IRQ_TYPE_LEVEL_HIGH>; |
| 38 | interrupt-names = "host", "peripheral", "otg"; |
| 39 | reg = <0xf3000000 0x10000>, /* memory area for HOST registers */ |
| 40 | <0xf3010000 0x10000>, /* memory area for DEVICE registers */ |
| 41 | <0xf3020000 0x10000>; /* memory area for OTG/DRD registers */ |
| 42 | reg-names = "xhci", "dev", "otg"; |
| 43 | phys = <&usb2_phy>, <&usb3_phy>; |
| 44 | phy-names = "cdns3,usb2-phy", "cnds3,usb3-phy"; |
| 45 | }; |