18c2ecf20Sopenharmony_ciOMAP HS USB Host 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciRequired properties: 48c2ecf20Sopenharmony_ci 58c2ecf20Sopenharmony_ci- compatible: should be "ti,usbhs-host" 68c2ecf20Sopenharmony_ci- reg: should contain one register range i.e. start and length 78c2ecf20Sopenharmony_ci- ti,hwmods: must contain "usb_host_hs" 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ciOptional properties: 108c2ecf20Sopenharmony_ci 118c2ecf20Sopenharmony_ci- num-ports: number of USB ports. Usually this is automatically detected 128c2ecf20Sopenharmony_ci from the IP's revision register but can be overridden by specifying 138c2ecf20Sopenharmony_ci this property. A maximum of 3 ports are supported at the moment. 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci- portN-mode: String specifying the port mode for port N, where N can be 168c2ecf20Sopenharmony_ci from 1 to 3. If the port mode is not specified, that port is treated 178c2ecf20Sopenharmony_ci as unused. When specified, it must be one of the following. 188c2ecf20Sopenharmony_ci "ehci-phy", 198c2ecf20Sopenharmony_ci "ehci-tll", 208c2ecf20Sopenharmony_ci "ehci-hsic", 218c2ecf20Sopenharmony_ci "ohci-phy-6pin-datse0", 228c2ecf20Sopenharmony_ci "ohci-phy-6pin-dpdm", 238c2ecf20Sopenharmony_ci "ohci-phy-3pin-datse0", 248c2ecf20Sopenharmony_ci "ohci-phy-4pin-dpdm", 258c2ecf20Sopenharmony_ci "ohci-tll-6pin-datse0", 268c2ecf20Sopenharmony_ci "ohci-tll-6pin-dpdm", 278c2ecf20Sopenharmony_ci "ohci-tll-3pin-datse0", 288c2ecf20Sopenharmony_ci "ohci-tll-4pin-dpdm", 298c2ecf20Sopenharmony_ci "ohci-tll-2pin-datse0", 308c2ecf20Sopenharmony_ci "ohci-tll-2pin-dpdm", 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ci- single-ulpi-bypass: Must be present if the controller contains a single 338c2ecf20Sopenharmony_ci ULPI bypass control bit. e.g. OMAP3 silicon <= ES2.1 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ci- clocks: a list of phandles and clock-specifier pairs, one for each entry in 368c2ecf20Sopenharmony_ci clock-names. 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ci- clock-names: should include: 398c2ecf20Sopenharmony_ci For OMAP3 408c2ecf20Sopenharmony_ci * "usbhost_120m_fck" - 120MHz Functional clock. 418c2ecf20Sopenharmony_ci 428c2ecf20Sopenharmony_ci For OMAP4+ 438c2ecf20Sopenharmony_ci * "refclk_60m_int" - 60MHz internal reference clock for UTMI clock mux 448c2ecf20Sopenharmony_ci * "refclk_60m_ext_p1" - 60MHz external ref. clock for Port 1's UTMI clock mux. 458c2ecf20Sopenharmony_ci * "refclk_60m_ext_p2" - 60MHz external ref. clock for Port 2's UTMI clock mux 468c2ecf20Sopenharmony_ci * "utmi_p1_gfclk" - Port 1 UTMI clock mux. 478c2ecf20Sopenharmony_ci * "utmi_p2_gfclk" - Port 2 UTMI clock mux. 488c2ecf20Sopenharmony_ci * "usb_host_hs_utmi_p1_clk" - Port 1 UTMI clock gate. 498c2ecf20Sopenharmony_ci * "usb_host_hs_utmi_p2_clk" - Port 2 UTMI clock gate. 508c2ecf20Sopenharmony_ci * "usb_host_hs_utmi_p3_clk" - Port 3 UTMI clock gate. 518c2ecf20Sopenharmony_ci * "usb_host_hs_hsic480m_p1_clk" - Port 1 480MHz HSIC clock gate. 528c2ecf20Sopenharmony_ci * "usb_host_hs_hsic480m_p2_clk" - Port 2 480MHz HSIC clock gate. 538c2ecf20Sopenharmony_ci * "usb_host_hs_hsic480m_p3_clk" - Port 3 480MHz HSIC clock gate. 548c2ecf20Sopenharmony_ci * "usb_host_hs_hsic60m_p1_clk" - Port 1 60MHz HSIC clock gate. 558c2ecf20Sopenharmony_ci * "usb_host_hs_hsic60m_p2_clk" - Port 2 60MHz HSIC clock gate. 568c2ecf20Sopenharmony_ci * "usb_host_hs_hsic60m_p3_clk" - Port 3 60MHz HSIC clock gate. 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_ciRequired properties if child node exists: 598c2ecf20Sopenharmony_ci 608c2ecf20Sopenharmony_ci- #address-cells: Must be 1 618c2ecf20Sopenharmony_ci- #size-cells: Must be 1 628c2ecf20Sopenharmony_ci- ranges: must be present 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ciProperties for children: 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ciThe OMAP HS USB Host subsystem contains EHCI and OHCI controllers. 678c2ecf20Sopenharmony_ciSee Documentation/devicetree/bindings/usb/ehci-omap.txt and 688c2ecf20Sopenharmony_ciDocumentation/devicetree/bindings/usb/ohci-omap3.txt. 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ciExample for OMAP4: 718c2ecf20Sopenharmony_ci 728c2ecf20Sopenharmony_ciusbhshost: usbhshost@4a064000 { 738c2ecf20Sopenharmony_ci compatible = "ti,usbhs-host"; 748c2ecf20Sopenharmony_ci reg = <0x4a064000 0x800>; 758c2ecf20Sopenharmony_ci ti,hwmods = "usb_host_hs"; 768c2ecf20Sopenharmony_ci #address-cells = <1>; 778c2ecf20Sopenharmony_ci #size-cells = <1>; 788c2ecf20Sopenharmony_ci ranges; 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ci usbhsohci: ohci@4a064800 { 818c2ecf20Sopenharmony_ci compatible = "ti,ohci-omap3", "usb-ohci"; 828c2ecf20Sopenharmony_ci reg = <0x4a064800 0x400>; 838c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 848c2ecf20Sopenharmony_ci interrupts = <0 76 0x4>; 858c2ecf20Sopenharmony_ci }; 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ci usbhsehci: ehci@4a064c00 { 888c2ecf20Sopenharmony_ci compatible = "ti,ehci-omap", "usb-ehci"; 898c2ecf20Sopenharmony_ci reg = <0x4a064c00 0x400>; 908c2ecf20Sopenharmony_ci interrupt-parent = <&gic>; 918c2ecf20Sopenharmony_ci interrupts = <0 77 0x4>; 928c2ecf20Sopenharmony_ci }; 938c2ecf20Sopenharmony_ci}; 948c2ecf20Sopenharmony_ci 958c2ecf20Sopenharmony_ci&usbhshost { 968c2ecf20Sopenharmony_ci port1-mode = "ehci-phy"; 978c2ecf20Sopenharmony_ci port2-mode = "ehci-tll"; 988c2ecf20Sopenharmony_ci port3-mode = "ehci-phy"; 998c2ecf20Sopenharmony_ci}; 1008c2ecf20Sopenharmony_ci 1018c2ecf20Sopenharmony_ci&usbhsehci { 1028c2ecf20Sopenharmony_ci phys = <&hsusb1_phy 0 &hsusb3_phy>; 1038c2ecf20Sopenharmony_ci}; 104