USB: chipidea: i.MX: simplify usbmisc

The chipidea i.MX driver is split into two drivers. The ci_hdrc_imx driver
handles the chipidea cores and the usbmisc_imx driver handles the noncore
registers common to all chipidea cores (but SoC specific). Current flow is:

- usbmisc sets an ops pointer in the ci_hdrc_imx driver during probe
- ci_hdrc_imx checks if the pointer is valid during probe, if yes calls
  the functions in the ops pointer.
- usbmisc_imx calls back into the ci_hdrc_imx driver to get additional
  data

This is overly complicated and has problems if the drivers are compiled
as modules. In this case the usbmisc_imx driver can be unloaded even if
the ci_hdrc_imx driver still needs usbmisc functionality.

This patch changes this by letting the ci_hdrc_imx driver calling functions
from the usbmisc_imx driver. This way the symbol resolving during module
load makes sure the ci_hdrc_imx driver depends on the usbmisc_imx driver.

Also instead of letting the usbmisc_imx driver call back into the ci_hdrc_imx
driver, pass the needed data in the first place.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Peter Chen <peter.chen@freescale.com>
arm: mach-imx: Move anatop related from board file to anatop driver

Move anatop related (For USB) from board file to anatop driver

Signed-off-by: Peter Chen <peter.chen@freescale.com>
arm: mach-imx: anatop: add two APIs for USB driver

imx_anatop_usb1_disconnect_line is used to disconnect dp/dm between
PHY and controller, after that, the controller always gets SE0
for the status of dp/dm, it is not any wakeup signal for controller.
It is used to avoid unknown interrupt due to dp/dm is floading
after the USB PHY is no powered when there is no vbus supplied.

imx_anatop_set_stop_mode_config is used to keep internal regualtor on
when the system enters suspend mode, it will increase power consumption,
we only enable it when the user enables USB wakeup (default is off).

Signed-off-by: Peter Chen <peter.chen@freescale.com>