MSM SoC HSUSB controllers

EHCI

Required properties:
- compatible:	Should contain "qcom,ehci-host"
- regs:			offset and length of the register set in the memory map
- usb-phy:		phandle for the PHY device

Example EHCI controller device node:

	ehci: ehci@f9a55000 {
		compatible = "qcom,ehci-host";
		reg = <0xf9a55000 0x400>;
		usb-phy = <&usb_otg>;
	};

USB PHY with optional OTG:

Required properties:
- compatible:   Should contain:
  "qcom,usb-otg-ci" for chipsets with ChipIdea 45nm PHY
  "qcom,usb-otg-snps" for chipsets with Synopsys 28nm PHY

- regs:         Offset and length of the register set in the memory map
- interrupts:   interrupt-specifier for the OTG interrupt.

- clocks:       A list of phandle + clock-specifier pairs for the
                clocks listed in clock-names
- clock-names:  Should contain the following:
  "phy"         USB PHY reference clock
  "core"        Protocol engine clock
  "iface"       Interface bus clock
  "alt_core"    Protocol engine clock for targets with asynchronous
                reset methodology. (optional)

- vdccx-supply: phandle to the regulator for the vdd supply for
                digital circuit operation.
- v1p8-supply:  phandle to the regulator for the 1.8V supply
- v3p3-supply:  phandle to the regulator for the 3.3V supply

- resets:       A list of phandle + reset-specifier pairs for the
                resets listed in reset-names
- reset-names:  Should contain the following:
  "phy"         USB PHY controller reset
  "link"        USB LINK controller reset

- qcom,otg-control: OTG control (VBUS and ID notifications) can be one of
                1 - PHY control
                2 - PMIC control

Optional properties:
- dr_mode:      One of "host", "peripheral" or "otg". Defaults to "otg"

- switch-gpio:  A phandle + gpio-specifier pair. Some boards are using Dual
                SPDT USB Switch, witch is controlled by GPIO to de/multiplex
                D+/D- USB lines between connectors.

- qcom,phy-init-sequence: PHY configuration sequence values. This is related to Device
                Mode Eye Diagram test. Start address at which these values will be
                written is ULPI_EXT_VENDOR_SPECIFIC. Value of -1 is reserved as
                "do not overwrite default value at this address".
                For example: qcom,phy-init-sequence = < -1 0x63 >;
                Will update only value at address ULPI_EXT_VENDOR_SPECIFIC + 1.

- qcom,phy-num: Select number of pyco-phy to use, can be one of
                0 - PHY one, default
                1 - Second PHY
                Some platforms may have configuration to allow USB
                controller work with any of the two HSPHYs present.

- qcom,vdd-levels: This property must be a list of three integer values
                (no, min, max) where each value represents either a voltage
                in microvolts or a value corresponding to voltage corner.

- qcom,manual-pullup: If present, vbus is not routed to USB controller/phy
                and controller driver therefore enables pull-up explicitly
                before starting controller using usbcmd run/stop bit.

- extcon:       phandles to external connector devices. First phandle
                should point to external connector, which provide "USB"
                cable events, the second should point to external connector
                device, which provide "USB-HOST" cable events. If one of
                the external connector devices is not required empty <0>
                phandle should be specified.

Example HSUSB OTG controller device node:

    usb@f9a55000 {
        compatible = "qcom,usb-otg-snps";
        reg = <0xf9a55000 0x400>;
        interrupts = <0 134 0>;
        dr_mode = "peripheral";

        clocks = <&gcc GCC_XO_CLK>, <&gcc GCC_USB_HS_SYSTEM_CLK>,
                <&gcc GCC_USB_HS_AHB_CLK>;

        clock-names = "phy", "core", "iface";

        vddcx-supply = <&pm8841_s2_corner>;
        v1p8-supply = <&pm8941_l6>;
        v3p3-supply = <&pm8941_l24>;

        resets = <&gcc GCC_USB2A_PHY_BCR>, <&gcc GCC_USB_HS_BCR>;
        reset-names = "phy", "link";

        qcom,otg-control = <1>;
        qcom,phy-init-sequence = < -1 0x63 >;
        qcom,vdd-levels = <1 5 7>;
	};
