xref: /freebsd/sys/contrib/device-tree/Bindings/usb/cdns-usb3.txt (revision 7ab1a32cd43cbae61ad4dd435d6a482bbf61cb52)
1Binding for the Cadence USBSS-DRD controller
2
3Required 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
19Optional 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
32Example:
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	};
46