162306a36Sopenharmony_ciOMAP HS USB Host 262306a36Sopenharmony_ci 362306a36Sopenharmony_ciRequired properties: 462306a36Sopenharmony_ci 562306a36Sopenharmony_ci- compatible: should be "ti,usbhs-host" 662306a36Sopenharmony_ci- reg: should contain one register range i.e. start and length 762306a36Sopenharmony_ci- ti,hwmods: must contain "usb_host_hs" 862306a36Sopenharmony_ci 962306a36Sopenharmony_ciOptional properties: 1062306a36Sopenharmony_ci 1162306a36Sopenharmony_ci- num-ports: number of USB ports. Usually this is automatically detected 1262306a36Sopenharmony_ci from the IP's revision register but can be overridden by specifying 1362306a36Sopenharmony_ci this property. A maximum of 3 ports are supported at the moment. 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci- portN-mode: String specifying the port mode for port N, where N can be 1662306a36Sopenharmony_ci from 1 to 3. If the port mode is not specified, that port is treated 1762306a36Sopenharmony_ci as unused. When specified, it must be one of the following. 1862306a36Sopenharmony_ci "ehci-phy", 1962306a36Sopenharmony_ci "ehci-tll", 2062306a36Sopenharmony_ci "ehci-hsic", 2162306a36Sopenharmony_ci "ohci-phy-6pin-datse0", 2262306a36Sopenharmony_ci "ohci-phy-6pin-dpdm", 2362306a36Sopenharmony_ci "ohci-phy-3pin-datse0", 2462306a36Sopenharmony_ci "ohci-phy-4pin-dpdm", 2562306a36Sopenharmony_ci "ohci-tll-6pin-datse0", 2662306a36Sopenharmony_ci "ohci-tll-6pin-dpdm", 2762306a36Sopenharmony_ci "ohci-tll-3pin-datse0", 2862306a36Sopenharmony_ci "ohci-tll-4pin-dpdm", 2962306a36Sopenharmony_ci "ohci-tll-2pin-datse0", 3062306a36Sopenharmony_ci "ohci-tll-2pin-dpdm", 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci- single-ulpi-bypass: Must be present if the controller contains a single 3362306a36Sopenharmony_ci ULPI bypass control bit. e.g. OMAP3 silicon <= ES2.1 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci- clocks: a list of phandles and clock-specifier pairs, one for each entry in 3662306a36Sopenharmony_ci clock-names. 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci- clock-names: should include: 3962306a36Sopenharmony_ci For OMAP3 4062306a36Sopenharmony_ci * "usbhost_120m_fck" - 120MHz Functional clock. 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci For OMAP4+ 4362306a36Sopenharmony_ci * "refclk_60m_int" - 60MHz internal reference clock for UTMI clock mux 4462306a36Sopenharmony_ci * "refclk_60m_ext_p1" - 60MHz external ref. clock for Port 1's UTMI clock mux. 4562306a36Sopenharmony_ci * "refclk_60m_ext_p2" - 60MHz external ref. clock for Port 2's UTMI clock mux 4662306a36Sopenharmony_ci * "utmi_p1_gfclk" - Port 1 UTMI clock mux. 4762306a36Sopenharmony_ci * "utmi_p2_gfclk" - Port 2 UTMI clock mux. 4862306a36Sopenharmony_ci * "usb_host_hs_utmi_p1_clk" - Port 1 UTMI clock gate. 4962306a36Sopenharmony_ci * "usb_host_hs_utmi_p2_clk" - Port 2 UTMI clock gate. 5062306a36Sopenharmony_ci * "usb_host_hs_utmi_p3_clk" - Port 3 UTMI clock gate. 5162306a36Sopenharmony_ci * "usb_host_hs_hsic480m_p1_clk" - Port 1 480MHz HSIC clock gate. 5262306a36Sopenharmony_ci * "usb_host_hs_hsic480m_p2_clk" - Port 2 480MHz HSIC clock gate. 5362306a36Sopenharmony_ci * "usb_host_hs_hsic480m_p3_clk" - Port 3 480MHz HSIC clock gate. 5462306a36Sopenharmony_ci * "usb_host_hs_hsic60m_p1_clk" - Port 1 60MHz HSIC clock gate. 5562306a36Sopenharmony_ci * "usb_host_hs_hsic60m_p2_clk" - Port 2 60MHz HSIC clock gate. 5662306a36Sopenharmony_ci * "usb_host_hs_hsic60m_p3_clk" - Port 3 60MHz HSIC clock gate. 5762306a36Sopenharmony_ci 5862306a36Sopenharmony_ciRequired properties if child node exists: 5962306a36Sopenharmony_ci 6062306a36Sopenharmony_ci- #address-cells: Must be 1 6162306a36Sopenharmony_ci- #size-cells: Must be 1 6262306a36Sopenharmony_ci- ranges: must be present 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ciProperties for children: 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ciThe OMAP HS USB Host subsystem contains EHCI and OHCI controllers. 6762306a36Sopenharmony_ciSee Documentation/devicetree/bindings/usb/generic-ehci.yaml and 6862306a36Sopenharmony_ciDocumentation/devicetree/bindings/usb/generic-ohci.yaml. 6962306a36Sopenharmony_ci 7062306a36Sopenharmony_ciExample for OMAP4: 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ciusbhshost: usbhshost@4a064000 { 7362306a36Sopenharmony_ci compatible = "ti,usbhs-host"; 7462306a36Sopenharmony_ci reg = <0x4a064000 0x800>; 7562306a36Sopenharmony_ci ti,hwmods = "usb_host_hs"; 7662306a36Sopenharmony_ci #address-cells = <1>; 7762306a36Sopenharmony_ci #size-cells = <1>; 7862306a36Sopenharmony_ci ranges; 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_ci usbhsohci: ohci@4a064800 { 8162306a36Sopenharmony_ci compatible = "ti,ohci-omap3"; 8262306a36Sopenharmony_ci reg = <0x4a064800 0x400>; 8362306a36Sopenharmony_ci interrupt-parent = <&gic>; 8462306a36Sopenharmony_ci interrupts = <0 76 0x4>; 8562306a36Sopenharmony_ci }; 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ci usbhsehci: ehci@4a064c00 { 8862306a36Sopenharmony_ci compatible = "ti,ehci-omap"; 8962306a36Sopenharmony_ci reg = <0x4a064c00 0x400>; 9062306a36Sopenharmony_ci interrupt-parent = <&gic>; 9162306a36Sopenharmony_ci interrupts = <0 77 0x4>; 9262306a36Sopenharmony_ci }; 9362306a36Sopenharmony_ci}; 9462306a36Sopenharmony_ci 9562306a36Sopenharmony_ci&usbhshost { 9662306a36Sopenharmony_ci port1-mode = "ehci-phy"; 9762306a36Sopenharmony_ci port2-mode = "ehci-tll"; 9862306a36Sopenharmony_ci port3-mode = "ehci-phy"; 9962306a36Sopenharmony_ci}; 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci&usbhsehci { 10262306a36Sopenharmony_ci phys = <&hsusb1_phy 0 &hsusb3_phy>; 10362306a36Sopenharmony_ci}; 104