1*4882a593SmuzhiyunOMAP HS USB Host 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunRequired properties: 4*4882a593Smuzhiyun 5*4882a593Smuzhiyun- compatible: should be "ti,usbhs-host" 6*4882a593Smuzhiyun- reg: should contain one register range i.e. start and length 7*4882a593Smuzhiyun- ti,hwmods: must contain "usb_host_hs" 8*4882a593Smuzhiyun 9*4882a593SmuzhiyunOptional properties: 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun- num-ports: number of USB ports. Usually this is automatically detected 12*4882a593Smuzhiyun from the IP's revision register but can be overridden by specifying 13*4882a593Smuzhiyun this property. A maximum of 3 ports are supported at the moment. 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun- portN-mode: String specifying the port mode for port N, where N can be 16*4882a593Smuzhiyun from 1 to 3. If the port mode is not specified, that port is treated 17*4882a593Smuzhiyun as unused. When specified, it must be one of the following. 18*4882a593Smuzhiyun "ehci-phy", 19*4882a593Smuzhiyun "ehci-tll", 20*4882a593Smuzhiyun "ehci-hsic", 21*4882a593Smuzhiyun "ohci-phy-6pin-datse0", 22*4882a593Smuzhiyun "ohci-phy-6pin-dpdm", 23*4882a593Smuzhiyun "ohci-phy-3pin-datse0", 24*4882a593Smuzhiyun "ohci-phy-4pin-dpdm", 25*4882a593Smuzhiyun "ohci-tll-6pin-datse0", 26*4882a593Smuzhiyun "ohci-tll-6pin-dpdm", 27*4882a593Smuzhiyun "ohci-tll-3pin-datse0", 28*4882a593Smuzhiyun "ohci-tll-4pin-dpdm", 29*4882a593Smuzhiyun "ohci-tll-2pin-datse0", 30*4882a593Smuzhiyun "ohci-tll-2pin-dpdm", 31*4882a593Smuzhiyun 32*4882a593Smuzhiyun- single-ulpi-bypass: Must be present if the controller contains a single 33*4882a593Smuzhiyun ULPI bypass control bit. e.g. OMAP3 silicon <= ES2.1 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun- clocks: a list of phandles and clock-specifier pairs, one for each entry in 36*4882a593Smuzhiyun clock-names. 37*4882a593Smuzhiyun 38*4882a593Smuzhiyun- clock-names: should include: 39*4882a593Smuzhiyun For OMAP3 40*4882a593Smuzhiyun * "usbhost_120m_fck" - 120MHz Functional clock. 41*4882a593Smuzhiyun 42*4882a593Smuzhiyun For OMAP4+ 43*4882a593Smuzhiyun * "refclk_60m_int" - 60MHz internal reference clock for UTMI clock mux 44*4882a593Smuzhiyun * "refclk_60m_ext_p1" - 60MHz external ref. clock for Port 1's UTMI clock mux. 45*4882a593Smuzhiyun * "refclk_60m_ext_p2" - 60MHz external ref. clock for Port 2's UTMI clock mux 46*4882a593Smuzhiyun * "utmi_p1_gfclk" - Port 1 UTMI clock mux. 47*4882a593Smuzhiyun * "utmi_p2_gfclk" - Port 2 UTMI clock mux. 48*4882a593Smuzhiyun * "usb_host_hs_utmi_p1_clk" - Port 1 UTMI clock gate. 49*4882a593Smuzhiyun * "usb_host_hs_utmi_p2_clk" - Port 2 UTMI clock gate. 50*4882a593Smuzhiyun * "usb_host_hs_utmi_p3_clk" - Port 3 UTMI clock gate. 51*4882a593Smuzhiyun * "usb_host_hs_hsic480m_p1_clk" - Port 1 480MHz HSIC clock gate. 52*4882a593Smuzhiyun * "usb_host_hs_hsic480m_p2_clk" - Port 2 480MHz HSIC clock gate. 53*4882a593Smuzhiyun * "usb_host_hs_hsic480m_p3_clk" - Port 3 480MHz HSIC clock gate. 54*4882a593Smuzhiyun * "usb_host_hs_hsic60m_p1_clk" - Port 1 60MHz HSIC clock gate. 55*4882a593Smuzhiyun * "usb_host_hs_hsic60m_p2_clk" - Port 2 60MHz HSIC clock gate. 56*4882a593Smuzhiyun * "usb_host_hs_hsic60m_p3_clk" - Port 3 60MHz HSIC clock gate. 57*4882a593Smuzhiyun 58*4882a593SmuzhiyunRequired properties if child node exists: 59*4882a593Smuzhiyun 60*4882a593Smuzhiyun- #address-cells: Must be 1 61*4882a593Smuzhiyun- #size-cells: Must be 1 62*4882a593Smuzhiyun- ranges: must be present 63*4882a593Smuzhiyun 64*4882a593SmuzhiyunProperties for children: 65*4882a593Smuzhiyun 66*4882a593SmuzhiyunThe OMAP HS USB Host subsystem contains EHCI and OHCI controllers. 67*4882a593SmuzhiyunSee Documentation/devicetree/bindings/usb/ehci-omap.txt and 68*4882a593SmuzhiyunDocumentation/devicetree/bindings/usb/ohci-omap3.txt. 69*4882a593Smuzhiyun 70*4882a593SmuzhiyunExample for OMAP4: 71*4882a593Smuzhiyun 72*4882a593Smuzhiyunusbhshost: usbhshost@4a064000 { 73*4882a593Smuzhiyun compatible = "ti,usbhs-host"; 74*4882a593Smuzhiyun reg = <0x4a064000 0x800>; 75*4882a593Smuzhiyun ti,hwmods = "usb_host_hs"; 76*4882a593Smuzhiyun #address-cells = <1>; 77*4882a593Smuzhiyun #size-cells = <1>; 78*4882a593Smuzhiyun ranges; 79*4882a593Smuzhiyun 80*4882a593Smuzhiyun usbhsohci: ohci@4a064800 { 81*4882a593Smuzhiyun compatible = "ti,ohci-omap3", "usb-ohci"; 82*4882a593Smuzhiyun reg = <0x4a064800 0x400>; 83*4882a593Smuzhiyun interrupt-parent = <&gic>; 84*4882a593Smuzhiyun interrupts = <0 76 0x4>; 85*4882a593Smuzhiyun }; 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun usbhsehci: ehci@4a064c00 { 88*4882a593Smuzhiyun compatible = "ti,ehci-omap", "usb-ehci"; 89*4882a593Smuzhiyun reg = <0x4a064c00 0x400>; 90*4882a593Smuzhiyun interrupt-parent = <&gic>; 91*4882a593Smuzhiyun interrupts = <0 77 0x4>; 92*4882a593Smuzhiyun }; 93*4882a593Smuzhiyun}; 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun&usbhshost { 96*4882a593Smuzhiyun port1-mode = "ehci-phy"; 97*4882a593Smuzhiyun port2-mode = "ehci-tll"; 98*4882a593Smuzhiyun port3-mode = "ehci-phy"; 99*4882a593Smuzhiyun}; 100*4882a593Smuzhiyun 101*4882a593Smuzhiyun&usbhsehci { 102*4882a593Smuzhiyun phys = <&hsusb1_phy 0 &hsusb3_phy>; 103*4882a593Smuzhiyun}; 104