diff options
Diffstat (limited to 'drivers/usb/host/ehci-omap.c')
-rw-r--r-- | drivers/usb/host/ehci-omap.c | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/drivers/usb/host/ehci-omap.c b/drivers/usb/host/ehci-omap.c index 16d7150e8557..9bd7dfe3315b 100644 --- a/drivers/usb/host/ehci-omap.c +++ b/drivers/usb/host/ehci-omap.c | |||
@@ -187,6 +187,12 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev) | |||
187 | } | 187 | } |
188 | 188 | ||
189 | omap->phy[i] = phy; | 189 | omap->phy[i] = phy; |
190 | |||
191 | if (pdata->port_mode[i] == OMAP_EHCI_PORT_MODE_PHY) { | ||
192 | usb_phy_init(omap->phy[i]); | ||
193 | /* bring PHY out of suspend */ | ||
194 | usb_phy_set_suspend(omap->phy[i], 0); | ||
195 | } | ||
190 | } | 196 | } |
191 | 197 | ||
192 | pm_runtime_enable(dev); | 198 | pm_runtime_enable(dev); |
@@ -211,13 +217,14 @@ static int ehci_hcd_omap_probe(struct platform_device *pdev) | |||
211 | } | 217 | } |
212 | 218 | ||
213 | /* | 219 | /* |
214 | * Bring PHYs out of reset. | 220 | * Bring PHYs out of reset for non PHY modes. |
215 | * Even though HSIC mode is a PHY-less mode, the reset | 221 | * Even though HSIC mode is a PHY-less mode, the reset |
216 | * line exists between the chips and can be modelled | 222 | * line exists between the chips and can be modelled |
217 | * as a PHY device for reset control. | 223 | * as a PHY device for reset control. |
218 | */ | 224 | */ |
219 | for (i = 0; i < omap->nports; i++) { | 225 | for (i = 0; i < omap->nports; i++) { |
220 | if (!omap->phy[i]) | 226 | if (!omap->phy[i] || |
227 | pdata->port_mode[i] == OMAP_EHCI_PORT_MODE_PHY) | ||
221 | continue; | 228 | continue; |
222 | 229 | ||
223 | usb_phy_init(omap->phy[i]); | 230 | usb_phy_init(omap->phy[i]); |
@@ -294,7 +301,7 @@ static struct platform_driver ehci_hcd_omap_driver = { | |||
294 | /*.resume = ehci_hcd_omap_resume, */ | 301 | /*.resume = ehci_hcd_omap_resume, */ |
295 | .driver = { | 302 | .driver = { |
296 | .name = hcd_name, | 303 | .name = hcd_name, |
297 | .of_match_table = of_match_ptr(omap_ehci_dt_ids), | 304 | .of_match_table = omap_ehci_dt_ids, |
298 | } | 305 | } |
299 | }; | 306 | }; |
300 | 307 | ||