mfd: Move omap-usb-host usbhs init before allocing child dev

mfd: Move omap-usb-host usbhs init before allocing child dev

[backported from p-android-omap-3.4]

There could be possible race condition where the host dev's
are alloced and added to platform dev just before usbhs_init.
Just move usbhs_init before adding child dev.

Change-Id: I3c54db97f39c7714427e738560fba8076283e66d
CC: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Govindraj.R <govindraj.raja@ti.com>
Acked-by: Felipe Balbi <balbi@ti.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
usb: ehci-omap: configure default PHY settings on boot

usb: ehci-omap: configure default PHY settings on boot

[backported from p-android-omap-3.4]

On Blaze Tablet, USB PHY doesn't have ability to be
reset because its /RESET line is soldered to Vcc.

As a workaround, during OMAP EHCI initialization we
reset it using [Function Control].Reset=1 bit.
As per datasheet, this resets transceiver but not
the ULPI interface or register set. This means,
that PHY may store previous registers settings.

It is OK if we do 'cold' power ON of board because the PHY
is in its default state after that. However if we do reset
of the board by pressing the 'reset' button or as
result of kernel panic, PHY do not loose its power so PHY's
registers will hold old values that may be incorrect
and an USB device, connected to the PHY may be not enumerated
for example. In Blaze Tablet particular case, devices
are not enumerated after 'reset' button or kernel panic
till power OFF-ON sequence.

In this patch we configure default PHY settings after its
soft reset so EHCI controller will expect correct behavior.

Change-Id: I7747c0a39eb8e51d499bd62c3ac0d311d19a924d
Signed-off-by: Ruslan Bilovol <ruslan.bilovol@ti.com>