| OMAP HS USB Host |
| |
| Required properties: |
| |
| - compatible: should be "ti,usbhs-host" |
| - reg: should contain one register range i.e. start and length |
| - ti,hwmods: must contain "usb_host_hs" |
| |
| Optional properties: |
| |
| - num-ports: number of USB ports. Usually this is automatically detected |
| from the IP's revision register but can be overridden by specifying |
| this property. A maximum of 3 ports are supported at the moment. |
| |
| - portN-mode: String specifying the port mode for port N, where N can be |
| from 1 to 3. If the port mode is not specified, that port is treated |
| as unused. When specified, it must be one of the following. |
| "ehci-phy", |
| "ehci-tll", |
| "ehci-hsic", |
| "ohci-phy-6pin-datse0", |
| "ohci-phy-6pin-dpdm", |
| "ohci-phy-3pin-datse0", |
| "ohci-phy-4pin-dpdm", |
| "ohci-tll-6pin-datse0", |
| "ohci-tll-6pin-dpdm", |
| "ohci-tll-3pin-datse0", |
| "ohci-tll-4pin-dpdm", |
| "ohci-tll-2pin-datse0", |
| "ohci-tll-2pin-dpdm", |
| |
| - single-ulpi-bypass: Must be present if the controller contains a single |
| ULPI bypass control bit. e.g. OMAP3 silicon <= ES2.1 |
| |
| - clocks: a list of phandles and clock-specifier pairs, one for each entry in |
| clock-names. |
| |
| - clock-names: should include: |
| For OMAP3 |
| * "usbhost_120m_fck" - 120MHz Functional clock. |
| |
| For OMAP4+ |
| * "refclk_60m_int" - 60MHz internal reference clock for UTMI clock mux |
| * "refclk_60m_ext_p1" - 60MHz external ref. clock for Port 1's UTMI clock mux. |
| * "refclk_60m_ext_p2" - 60MHz external ref. clock for Port 2's UTMI clock mux |
| * "utmi_p1_gfclk" - Port 1 UTMI clock mux. |
| * "utmi_p2_gfclk" - Port 2 UTMI clock mux. |
| * "usb_host_hs_utmi_p1_clk" - Port 1 UTMI clock gate. |
| * "usb_host_hs_utmi_p2_clk" - Port 2 UTMI clock gate. |
| * "usb_host_hs_utmi_p3_clk" - Port 3 UTMI clock gate. |
| * "usb_host_hs_hsic480m_p1_clk" - Port 1 480MHz HSIC clock gate. |
| * "usb_host_hs_hsic480m_p2_clk" - Port 2 480MHz HSIC clock gate. |
| * "usb_host_hs_hsic480m_p3_clk" - Port 3 480MHz HSIC clock gate. |
| * "usb_host_hs_hsic60m_p1_clk" - Port 1 60MHz HSIC clock gate. |
| * "usb_host_hs_hsic60m_p2_clk" - Port 2 60MHz HSIC clock gate. |
| * "usb_host_hs_hsic60m_p3_clk" - Port 3 60MHz HSIC clock gate. |
| |
| Required properties if child node exists: |
| |
| - #address-cells: Must be 1 |
| - #size-cells: Must be 1 |
| - ranges: must be present |
| |
| Properties for children: |
| |
| The OMAP HS USB Host subsystem contains EHCI and OHCI controllers. |
| See Documentation/devicetree/bindings/usb/generic-ehci.yaml and |
| Documentation/devicetree/bindings/usb/generic-ohci.yaml. |
| |
| Example for OMAP4: |
| |
| usbhshost: usbhshost@4a064000 { |
| compatible = "ti,usbhs-host"; |
| reg = <0x4a064000 0x800>; |
| ti,hwmods = "usb_host_hs"; |
| #address-cells = <1>; |
| #size-cells = <1>; |
| ranges; |
| |
| usbhsohci: ohci@4a064800 { |
| compatible = "ti,ohci-omap3"; |
| reg = <0x4a064800 0x400>; |
| interrupt-parent = <&gic>; |
| interrupts = <0 76 0x4>; |
| }; |
| |
| usbhsehci: ehci@4a064c00 { |
| compatible = "ti,ehci-omap"; |
| reg = <0x4a064c00 0x400>; |
| interrupt-parent = <&gic>; |
| interrupts = <0 77 0x4>; |
| }; |
| }; |
| |
| &usbhshost { |
| port1-mode = "ehci-phy"; |
| port2-mode = "ehci-tll"; |
| port3-mode = "ehci-phy"; |
| }; |
| |
| &usbhsehci { |
| phys = <&hsusb1_phy 0 &hsusb3_phy>; |
| }; |