Merge remote-tracking branch 'usb-ci/for-felipe' into topics/usb

Conflicts:
	arch/arm/mach-exynos/mach-universal_c210.c
USB: Chipidea: rename struct ci13xxx_udc_driver to struct ci13xxx_platform_data

This patch rename struct ci13xxx_udc_driver and var with the type.

ci13xxx_platform_data reflect it's passed from platfrom driver.

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
USB: Chipidea: rename struct ci13xxx variables from udc to ci

struct ci13xxx represent the controller, which may be device or host,
so name its variables as ci.

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
USB: Chipidea: add unified ci13xxx_{add,remove}_device for platform drivers

Platform drivers do the similar things to add/remove ci13xxx device, so
create a unified one.

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Reviewed-by: Felipe Balbi <balbi@ti.com>
USB: Chipidea: add ci13xxx device id management

We simply use bitmap to manage the ids.
Max count of devices CI_DEVS_POSSIBLE is 32.

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
usb: otg: add notify_connect/notify_disconnect callback

This let usb phy driver has a chance to change hw settings when connect
status change.

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
usb: chipidea: permit driver bindings pass phy pointer

Sometimes, the driver bindings may know what phy they use.
For example, when using device tree, the usb controller may have a
phandler pointing to usb phy.

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Reviewed-by: Marek Vasut <marex@denx.de>
usb: ehci-hcd: notify phy when connect change

It still has below limitations:
- it does not work for multi-phy ehci
- the best place is after debounce, but I can't get
  phy there

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
usb: otg: add basic mxs phy driver support

mxs phy is used in Freescale i.MX SoCs, for example
imx23, imx28, imx6Q. This patch adds the basic host
support.

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Peter Chen <peter.chen@freescale.com>
usb: chipidea: add imx platform driver

This patch supports only the host-mode functionality so far.

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Peter Chen <peter.chen@freescale.com>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Felipe Balbi <balbi@ti.com>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
ARM: imx6q: correct device name of usbphy and usb controller clock export

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
ARM: imx6q: add config-on-boot gpios

Sometimes, boards have gpios that don't own by any driver or owner
by a generic driver that don't like hacks. Such gpios is normally
output and need setup once on boot. So I introduce the config-on-boot
gpios.

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
Cc: Shawn Guo <shawn.guo@linaro.org>
Cc: Rob Herring <rob.herring@calxeda.com>
Cc: Grant Likely <grant.likely@secretlab.ca>
ARM: imx6q: add usbphy clocks

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
ARM: imx6q: disable usb charger detector

The external charger detector needs to be disabled,
or the signal at DP will be poor

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
ARM: dts: imx6q-sabrelite: add usb devices

- add usbphy devices
- add usb host controller and otg devices
- add on-board hub reset pin control
- add usb h1 vbus regulator

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
ARM: mxs: clk_register_clkdev mx28 usb clocks

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>
ARM: dts: imx28-evk: add usb devices

- add usb phy devices
- add usb controller devices
- add usb vbus regulators

Signed-off-by: Richard Zhao <richard.zhao@freescale.com>