1 Samsung Exynos SoC USB controller
3 The USB devices interface with USB controllers on Exynos SOCs.
4 The device node has following properties.
8 - compatible: should be "samsung,exynos4210-ehci" for USB 2.0
9 EHCI controller in host mode.
10 - reg: physical base address of the controller and length of memory mapped
12 - interrupts: interrupt number to the cpu.
13 - clocks: from common clock binding: handle to usb clock.
14 - clock-names: from common clock binding: Shall be "usbhost".
15 - port: if in the SoC there are EHCI phys, they should be listed here.
16 One phy per port. Each port should have following entries:
17 - reg: port number on EHCI controller, e.g
18 On Exynos5250, port 0 is USB2.0 otg phy
21 - phys: from the *Generic PHY* bindings; specifying phy used by port.
24 - samsung,vbus-gpio: if present, specifies the GPIO that
25 needs to be pulled up for the bus to be powered.
30 compatible = "samsung,exynos4210-ehci";
31 reg = <0x12110000 0x100>;
32 interrupts = <0 71 0>;
33 samsung,vbus-gpio = <&gpx2 6 1 3 3>;
35 clocks = <&clock 285>;
36 clock-names = "usbhost";
49 - compatible: should be "samsung,exynos4210-ohci" for USB 2.0
50 OHCI companion controller in host mode.
51 - reg: physical base address of the controller and length of memory mapped
53 - interrupts: interrupt number to the cpu.
54 - clocks: from common clock binding: handle to usb clock.
55 - clock-names: from common clock binding: Shall be "usbhost".
56 - port: if in the SoC there are OHCI phys, they should be listed here.
57 One phy per port. Each port should have following entries:
58 - reg: port number on OHCI controller, e.g
59 On Exynos5250, port 0 is USB2.0 otg phy
62 - phys: from the *Generic PHY* bindings, specifying phy used by port.
66 compatible = "samsung,exynos4210-ohci";
67 reg = <0x12120000 0x100>;
68 interrupts = <0 71 0>;
70 clocks = <&clock 285>;
71 clock-names = "usbhost";
85 - compatible: should be one of the following -
86 "samsung,exynos5250-dwusb3": for USB 3.0 DWC3 controller on
88 "samsung,exynos7-dwusb3": for USB 3.0 DWC3 controller on Exynos7.
89 - #address-cells, #size-cells : should be '1' if the device has sub-nodes
91 - ranges: allows valid 1:1 translation between child's address space and
92 parent's address space
93 - clocks: Clock IDs array as required by the controller.
94 - clock-names: names of clocks correseponding to IDs in the clock property
97 The dwc3 core should be added as subnode to Exynos dwc3 glue.
99 The binding details of dwc3 can be found in:
100 Documentation/devicetree/bindings/usb/dwc3.txt
104 compatible = "samsung,exynos5250-dwusb3";
105 clocks = <&clock 286>;
106 clock-names = "usbdrd30";
107 #address-cells = <1>;
112 compatible = "synopsys,dwc3";
113 reg = <0x12000000 0x10000>;
114 interrupts = <0 72 0>;
115 usb-phy = <&usb2_phy &usb3_phy>;