Kernel-3.10.0-957.el7_omap-usb-host

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

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/omap-ehci.txt and
omap3-ohci.txt

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", "usb-ohci";
    reg = <0x4a064800 0x400>;
    interrupt-parent = <&gic>;
    interrupts = <0 76 0x4>;
};

usbhsehci: ehci@4a064c00 {
    compatible = "ti,ehci-omap", "usb-ehci";
    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>;
};